17 KiB
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:
System Message: WARNING/2 (<stdin>, line 29)
Cannot analyze code. Pygments package not found.
.. code-block:: sh
pacman -S python-archinstall
And to run it, execute archinstall as a Python module:
System Message: WARNING/2 (<stdin>, line 35)
Cannot analyze code. Pygments package not found.
.. code-block:: sh
python -m archinstall --script guided
Installing directly from a config file
Note
Edit the following json according to your needs, save this as a json file, and provide the local or remote path (URL)
System Message: WARNING/2 (<stdin>, line 49)
Cannot analyze code. Pygments package not found.
.. code-block:: json
{
"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",
"harddrive": {
"path": "/dev/nvme0n1"
},
"hostname": "development-box",
"kernels": [
"linux"
],
"keyboard-language": "us",
"mirror-region": {
"Worldwide": {
"https://mirror.rackspace.com/archlinux/$repo/os/$arch": true
}
},
"nic": {
"NetworkManager": true
},
"packages": ["docker", "git", "wget", "zsh"],
"profile": "gnome",
"services": ["docker"],
"superusers": {
"devel": {
"!password": "devel"
}
},
"timezone": "US/Eastern",
"users": {}
}
To run it, execute archinstall as a Python module:
System Message: WARNING/2 (<stdin>, line 91)
Cannot analyze code. Pygments package not found.
.. code-block:: sh
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 |
| 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 | nic to use, Use value NetworkManager for installing it | Yes | |
| packages | [ "package1", "package2", ..] | List of packages to install post-installation | No |
| profile | Name of 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 |
| superusers | { "<username>": { "!password": "<password>"}, ..} | List of superuser credentials, see config 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 config 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-latin1for 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 :ref:`the previous step <root_password>` which also makes this step mandatory.
System Message: ERROR/3 (<stdin>, line 214); backlink
Unknown interpreted text role "ref".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.