Base System
The absolute minimum set of packages required to install Arch Linux onto a machine is as follows:
pacstrap /mnt base linux linux-firmware
However, this selection lacks the tooling required for file systems, RAID, LVM, special firmware for devices not included with linux-firmware
, networking software, a text editor or packages necessary to access documentation. It also lacks CPU microcode packages with stability and security updates.
The following table contains additional packages you most likely want to append to the above pacstrap
command:
Package | Description |
---|---|
base |
Absolute essentials (required) |
linux |
Vanilla Linux kernel and modules, with a few patches applied (required) |
linux-hardened |
A security-focused Linux kernel applying a set of hardening patches to mitigate kernel and userspace exploits |
linux-lts |
Long-term support (LTS) Linux kernel and modules |
linux-zen |
Result of a collaborative effort of kernel hackers to provide the best Linux kernel possible for everyday systems |
linux-firmware |
Device firmware files, e.g. WiFi (required) |
intel-ucode |
Intel CPU microcode |
amd-ucode |
AMD CPU microcode |
btrfs-progs |
Userspace tools to manage btrfs filesystems |
dosfstools |
Userspace tools to manage FAT filesystems |
exfatprogs |
Userspace tools to manage exFAT filesystems |
f2fs-tools |
Userspace tools to manage F2FS filesystems |
e2fsprogs |
Userspace tools to manage ext2/3/4 filesystems |
jfsutils |
Userspace tools to manage JFS filesystems |
nilfs-utils |
Userspace tools to manage NILFS2 filesystems |
ntfs-3g |
Userspace tools to manage NTFS filesystems |
reiserfsprogs |
Userspace tools to manage ReiserFS filesystems |
udftools |
Userspace tools to manage UDF filesystems |
xfsprogs |
Userspace tools to manage XFS filesystems |
lvm2 |
Userspace tools for Logical Volume Management |
cryptsetup |
Userspace tools for encrypting storage devices (LUKS) |
networkmanager |
Comprehensive network management and configuration suite |
nano |
Console text editor |
man |
Read documentation (manuals) |
sudo |
Execute commands with elevated privileges |
A desireable selection of packages for a useful base system could therefore look like this:
CAUTION: Be sure to replace amd-ucode
with intel-ucode
if you're on Intel!
ATTENTION: If you've chosen to use LUKS disk encryption make sure to include the cryptsetup
package!
TIP: To speed up package installation, edit /etc/pacman.conf
and set the option ParallelDownloads
to a higher value. To further increase transfer speeds consider using reflector
to select mirrors geographically nearest to you, e.g.
reflector --country Germany --age 12 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
pacstrap /mnt base linux linux-firmware amd-ucode btrfs-progs dosfstools lvm2 nano networkmanager sudo
Generate the fstab
containing information about which storage devices should be mounted at boot:
# Generate fstab referencing UUIDs of devices/partitions
genfstab -U /mnt >> /mnt/etc/fstab
Switch into the newly installed system with arch-chroot
and continue setting it up:
arch-chroot /mnt