Arch Linux installer - guided, templates etc.
Go to file
Anton Hvornum ae6a3a7721 Moved steps into the wiki 2019-09-24 20:00:40 +02:00
deployments Revamped README. Fixed more steps in pentest 2019-09-24 19:32:49 +02:00
README.md Moved steps into the wiki 2019-09-24 20:00:40 +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/

Install a basic minimalistic Arch Linux

In a live-cd environment, do:

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

This will install a basic Arch Linux, without interaction, on the first drive it finds (after user confirms it).
Use --drive=/dev/sdb etc to change the desired destination, or skip --default if you want to get options for your installation.

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. Below is examples and a cheat sheet on how to create such a ISO (with different flavors).

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)

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