Arch Linux installer - guided, templates etc.
Go to file
Anton Hvornum ac45cc0f5b Simplified the default execution 2019-09-26 23:29:49 +02:00
deployments Pushing placeholders for templates. (Working on these locally for a while) 2019-09-26 23:19:13 +02:00
README.md Simplified the default execution 2019-09-26 23:29:49 +02:00
archinstall.py Following a change on how base is installed, now /etc/localtime doesn't exist anymore? 2019-09-24 16:19:53 +02:00
description.jpg Added a description 2018-04-07 17:27:39 +02:00
install_aur * New feature: deployment structure can now import/include other templates (Included templates will be installed first, since we'll assume those are baselines/requirements for slimmer deploy-structs) 2018-05-24 20:09:51 +02:00

README.md

archinstall

Just a bare bone automated Arch Linux installer (with optional network deployment instructions based on MAC-address).

Pre-built ISO's can be found here which autostarts this installer: https://hvornum.se/archiso/

How-to / usecases

Run on Live-CD (Python):

# wget https://raw.githubusercontent.com/Torxed/archinstall/master/archinstall.py
# pacman -S --noconfirm python; python archinstall.py

This will start a guided install. Add --default for unattended.

NOTE: Follow ArchISO's guide on how to create your own ISO or use a pre-built guided ISO to skip the python installation step, or to create auto-installing ISO templates. Fruther down are examples and cheat sheets on how to create different live ISO's.

Run on Live-CD (Binary)

# wget https://gzip.life/archinstall
# chmod +x archinstall; ./archinstall

Features

  • Unattended install of Arch Linux
  • User guided install of Arch Linux (Like most other distros have)
  • YubiKey support for disk and root password (TBD / next release)
  • Profile / Template based installs
  • Supports offline-installation of Arch Linux (currently broken)
  • Full disk encryption, locale/region settings and customizable application selection
  • Never creates or leave post-install/service scripts (usually used to finalize databases etc)

Examples:

  • ./archinstall --profile=workstation --drive=/dev/sda - Installs the workstation template on the drive /dev/sda

Build a Arch Linux ISO to autorun archinstall

More options for the built ISO:

Unattended install of a profile

User guided install (DEFAULT)

Custom web-server for deployment profiles

Rerunning the installation

Some parameters you can give it

--drive=</dev/sdX>
  Which drive to install arch on, if absent, the first disk under /dev/ is used

--size=100% (Default)
  Sets the size of the root filesystem (btrfs)

--start=513MiB (Default)
  Sets the starting location of the root partition
  (TODO: /boot will take up space from 1MiB - <start>, make sure boot is no larger than 513MiB)

--password=0000 (Default)
  Which disk password to use,
    --password="<STDIN>" for prompt of password
    --password="<YUBIKEY>" for setting a unique password on the YubiKey and use that as a password
    (NOTE: This will wipe/replace slot 1 on the YubiKey)

--pwfile=/tmp/diskpw (Default)
  Which file to store the disk encryption password while sending it to cryptsetup

--hostname=Arcinstall (Default)
  Sets the hostname of the box

--country=SE (Default)
  Default mirror allocation for fetching packages.

--packages='' (Default)
  Which additional packages to install, defaults to none.
  (Space separated as it's passed unchanged to `pacstrap`

--user=<name>
  Adds an additional username to the system (default group Wheel)

--post=reboot (Default)
  After a successful install, reboots into the system. Use --post=stay to not reboot.

--default
  This parameter causes the installation script to install arch unattended on the first disk

--profile=<name>
  For instance, --profile=workstation will install the workstation profile.

--profiles-path=https://example.com/profiles
  Changes the default path the script looks for deployment profiles.
  The default path is 'https://raw.githubusercontent.com/Torxed/archinstall/master/deployments'

--rerun="Name of step in profile"
  Enables you to skip the format, encryption and base install steps.
  And head straight for a step in the profile specified.
  (Useful for debugging a step in your profile)

--localtime="Europe/Stockholm" (Default if --country=SE, otherwise GMT+0)
  Specify a localtime you're used to.

Deployment profile structs support all the above parameters and more, for instance, custom arguments with string formatting. See deployments/workstation.json for examples.

Contact

IRC: #archinstall@FreeNode

End note

description