Guided installation¶
This is the default scripted installation you’ll encounter on the official Arch Linux Archinstall package as well as the unofficial ISO found on https://archlinux.life. It will guide your through a very basic installation of Arch Linux.
The installer has two pre-requisites:
- A Physical or Virtual machine to install on
- An active internet connection prior to running archinstall
Warning
A basic understanding of how machines, ISO-files and command lines are needed. Please read the official Arch Linux Wiki (`https://wiki.archlinux.org/ <https://wiki.archlinux.org/>`_ to learn more)
Note
There are some limitations with the installer, such as that it will not configure WiFi during the installation procedure. And it will not perform a post-installation network configuration either. So you need to read up on Arch Linux networking to get that to work.
Running the guided installation¶
Note
Due to the package being quite new, it might be required to update the local package list before installing or continuing. Partial upgrades can cause issues, but the lack of dependencies should make this perfectly safe:
To install archinstall and subsequently the guided installer, simply do the following:
pacman -S python-archinstall
And to run it, execute archinstall as a Python module:
python -m archinstall --script guided
--script guided
argument is optional as it’s the default behavior.Installing directly from a configuration file¶
Note
Edit the following json according to your needs, save this as a json file, and provide the local or remote path (URL)
{
"audio": "pipewire",
"bootloader": "systemd-bootctl",
"custom-commands": [
"cd /home/devel; git clone https://aur.archlinux.org/paru.git",
"chown -R devel:devel /home/devel/paru",
"usermod -aG docker devel"
],
"!encryption-password": "supersecret",
"filesystem": "btrfs",
"gfx_driver": "VMware / VirtualBox (open-source)",
"harddrive": {
"path": "/dev/nvme0n1"
},
"hostname": "development-box",
"kernels": [
"linux"
],
"keyboard-language": "us",
"mirror-region": "Worldwide",
"nic": {
"NetworkManager": true
},
"ntp": true,
"packages": ["docker", "git", "wget", "zsh"],
"profile": "gnome",
"services": ["docker"],
"superusers": {
"devel": {
"!password": "devel"
}
},
"sys-encoding": "utf-8",
"sys-language": "en_US",
"timezone": "US/Eastern",
"users": {}
}
To run it, execute archinstall as a Python module:
python -m archinstall --config <local path or remote URL>
Key | Values/Description | Description | Required |
---|---|---|---|
audio | pipewire/pulseaudio | Audioserver to be installed | No |
bootloader | systemd-bootctl/grub-install | Bootloader to be installed | Yes |
custom-commands | [ <command1>, <command2>, …] | Custom commands to be run post install | No |
!encryption-password | any | Password to encrypt disk, not encrypted if password not provided | No |
filesystem | ext4 / btrfs / fat32 etc. | Filesystem for root and home partitions | Yes |
gfx_driver | “VMware / VirtualBox (open-source)” or “Nvidia” or “Intel (open-source)” or “AMD / ATI (open-source)” or “All open-source (default)” | Graphics Drivers to install | No |
harddrive | { “path”: <path of device> } | Path of device to be used | Yes |
hostname | any | Hostname of machine after installation | Yes |
kernels | [ “kernel1”, “kernel2”] | List of kernels to install eg: linux, linux-lts, linux-zen etc | Atleast 1 |
keyboard-language | 2 letter code for your keyboard language | eg: us, de etc | Yes |
mirror-region | {“<Region Name>”: { “Mirror Name”: True/False}, ..} | List of regions and mirrors to use | Yes |
nic | { NetworkManager: <boolean>, nic: <nic name> } | Yes | |
ntp | <boolean> | Set to true to set-up ntp post install | No |
packages | [ “package1”, “package2”, ..] | List of packages to install post-installation | No |
profile | Name of the profile to install | Profiles are present in profiles/, use the name of a profile to install it | No |
!root-password | any | The root account password | No |
services | [ “service1”, “service2”, ..] | Services to enable post-installation | No |
sys-encoding | “utf-8” | Set to change system encoding post-install, ignored if –advanced flag is not passed | No |
sys-language | “en_US” | Set to change system language post-install, ignored if –advanced flag is not passed | No |
superusers | { “<username>”: { “!password”: “<password>”}, ..} | List of superuser credentials, see configuration for reference | Yes, if root account password is not provided |
timezone | Timezone to configure in installation | Timezone eg: UTC, Asia/Kolkata etc. | Yes |
users | { “<username>”: { “!password”: “<password>”}, ..} | List of regular user credentials, see configuration for reference | Yes, can be {} |
Description individual steps¶
Below is a description of each individual steps in order.
keyboard languages¶
Default is us
.
?
and pressing enter enables a search mode where additional keyboard layouts can be found.In search mode, you’ll find things like:
sv-latin1
for swedish layouts
Mirror region selection¶
Default is auto detect best mirror
As an example:
Sweden
(with a capital :code:`S`) will only use mirrors from Sweden.
Selection of drive¶
There is no default for this step and it’s a required step.
Warning
Select the appropriate drive by selecting it by number or full path.
Disk encryption¶
Selecting a disk encryption password enables disk encryption for the OS partition.
Note
This step is highly recommended for most users, skipping this step comes with some risk and you are obligated to read up on why you would want to skip encryption before deciding to opt-out.
Warning
This step does require at least 1GB of free RAM during boot in order to boot at all. Keep this in mind when creating virtual machines. It also only encrypts the OS partition - not the boot partition (it’s not full disk encryption).
Hostname¶
Default is Archinstall
The hostname in which the machine will identify itself on the local network. This step is optional, but a default hostname of Archinstall will be set if none is selected.
Root password¶
Warning
This gives you the option to re-enable the root
account on the machine. By default, the root
account on Arch Linux is disabled and does not contain a password.
You are instead recommended to skip to the next step without any input.
Super User (sudo)¶
Warning
This step only applies if you correctly skipped the previous step which also makes this step mandatory.
If the previous step was skipped, and only if it is skipped.
This step enables you to create a sudo
enabled user with a password.
Note
The sudo permission grants root
-like privileges to the account but is less prone to for instance guessing admin account attacks. You are also less likely to mess up system critical things by operating in normal user-mode and calling sudo to gain temporary administrative privileges.
Pre-programmed profiles¶
You can optionally choose to install a pre-programmed profile. These profiles might make it easier for new users or beginners to achieve a traditional desktop environment as an example.
There is a list of profiles to choose from. If you are unsure of what any of these are, research the names that show up to understand what they are before you choose one.
Note
desktop
profile will create a secondary menu to select a graphical driver. That graphical driver might have additional dependencies if there are multiple driver vendors.Additional packages¶
Some additional packages can be installed if need be. This step allows you to list (space separated) officially supported packages from the package database at https://archlinux.org/packages/.
Network configuration¶
- Copy existing network configuration from the ISO you’re working on
- Select one network interface to configure
systemd-networkd
configuration set up by the user or the default system configuration.
- Automatic DHCP configuration of IP, DNS and Gateway
- Static IP configuration that further will ask some mandatory questions
Configuration verification¶
After which you can press Enter
can be pressed in order to start the formatting and installation process.
Warning
After a 5 second countdown, the selected drive will be permanently erased and all data will be lost.
Post installation¶
Once the installation is complete, green text should appear saying that it’s safe to reboot, which is also the command you use to reboot.