Arch Linux is among the most famous Linux distros many people fancied installing on their machines, with one major obstacle – installation.

Wallpaper by xyproto

I am not saying newbies should try Arch. But even for an user that is okay with troubleshooting and micromanaging their systems like me, the official installation guide seems rather inconvenient and I failed the first time when I tried to follow through (in VM) – this is why I chose Endeavour OS as the new OS for my laptop and desktop (after Kubuntu and briefly openSUSE Tumbleweed). I then discovered the archinstall script. So I thought why not write a somewhat detailed guide on what to do.

The script does a few thing on the user’s behalf: configure encrypted disk, locales and time, set up root and user accounts, installing bootloader and a desktop environment, and lastly install any additional packages the user want. This greatly simplifies the steps one would need to take to taste a minimal Arch experience, and it is included in the Arch image.

Copy the Arch image to your USB with Balena Etcher or equivalent tools, or launch it through VM if you’re not ready to install Arch yet.

Type archinstall to initiate the script.

It asks for a Keyboard layout first, that is the arrangements of keys on your keyboard. If you’re unsure, google it or choose US(this is the QWERTY layout).

It then asks for a location to download packages from, choose a country that is closest to you. For example, I choose Hong Kong so I type 23. You can also leave it blank to use the default setting.

This screen asks you which drive you’d like to change(and install to), choose wisely. If you’re unsure, try to remember how big your system drive is(the drive you’d like it to be installed to). If more than one is chosen, you may choose to install different parts of the system to different drives.

Then you’re asked whether you would like to wipe all chosen drives clean and let the script decide the best partitioning for you, or do it manually. Choose 0 to wipe the drives you selected above if you’re unsure.

When choosing for filesystems, I suggest consulting the Internet for more in-depth explanations like this one, or the ArchWiki. Generally, if you’re unsure, ext4 is the safest option. It is recommended that you encrypt the disk to enhance security, but if you’re afraid you cannot remember too many passwords you may simply leave it blank.

Hostname is how your computer should be called when communicating with the Internet, there is no restriction, but if you’re setting up for a workstation at the Company – try not to use names that are too embarrassing.

The root password is very important. When you want to do dangerous things such as changing system settings, installing packages or try to wipe any drives, you are required to do it with root privileges. Set up a root password if you’re unsure what to do, and make sure the password is strong.

You can also create user accounts, they come with standard sets of privileges and thus cannot harm the system normally. When users want to invoke root privileges:

  1. Username is in “sudoer” file – this file tells the system who are eligible for privilege elevation
  2. Enter their own passwords to authenticate

It is recommended that you setup at least one user account for daily usage to prevent accidental catastrophic actions such as wiping your root partition clean. Simply allow your user to be a superuser for convenience. Do note that you need to use small letters for the username.

The script asks you to choose a pre-programmed profile, choose desktop if you’re unsure.

If desktop is chosen, the script will ask what desktop environment(DE) you’d like next. Again, I suggest checking each of them out first by googling, and choose the one that you like most. GNOME and KDE are the most mature and subjectively two of the best looking DE. They may not be suitable for older hardware, choose LXQt or Xfce in this case.

The script then asks you for the graphics driver you need. I am installing via VirtualBox so of course I’d choose number 5. If you own an Nvidia GPU and want it to perform nicely, choose number 4(proprietary). Open-source Nvidia driver, dubbed Nouveau, does not work with newer GPU.

Here you need to choose the audio server you want to use. Pulseaudio is older, but Pipewire is slowly becoming the main stay of many other distros, choose pipewire if you’re unsure. Switching back to Pulse is but a few steps away should things go south.

The scripts then asks you for the kernel you’d like to use. linux is the default experience that synchronizes with latest linux kernel developments. linux-hardened applied patches to make the kernel more resilient to attacks. linux-lts is the Long Term Service version of linux kernel and is supposed to offer stability at the cost of falling behind in features, choose this if your use case requires stability (e.g. servers). linux-zen is linux kernel applied with performance patches, allowing you to get the most out of your device (relatively). It is therefore the best for gaming and other similar activities.

You can select more than one kernel to install, if you want to remove selections, enter the selected number again.

If you want any of the packages to be preinstalled and be able to use them right away, include them here. This is a one-liner so include as many packages you want as possible.

Here it asks for the network interface you want to use and configure. If unsure, use NetworkManager.

Enter the timezone here, if you’re unsure what to input, you may consult this handy list.

When asked to Press Enter to continue, verify that you want to install the system as you configured above. Once you pressed enter and 5 seconds countdown is over, your drives are wiped to install Arch.

When you see the green message, it means you now installed Arch Linux on your machine, issue the reboot command to see it in action.

Congratulations, you now installed Arch Linux through the automated archinstall script. You can now go tell everyone I use Arch BTW.