Skip to main content

Install Base System

    The

  1. absolute minimum set of packages required to install Arch Linux onto a machine is as follows:

    pacstrap /mnt base linux linux-firmware
    

    InstallHowever, 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:

    PackageDescription
    baseAbsolute essentials (required)
    linuxVanilla Linux kernel and modules, with a few patches applied (required)
    linux-hardenedA security-focused Linux kernel applying a set of hardening patches to mitigate kernel and userspace exploits
    linux-ltsLong-term support (LTS) Linux kernel and modules
    linux-zenResult of a collaborative effort of kernel hackers to provide the best Linux kernel possible for everyday systems
    linux-firmwareDevice firmware files, e.g. WiFi (required)
    intel-ucodeIntel CPU microcode
    amd-ucodeAMD CPU microcode
    btrfs-progsUserspace tools to manage btrfs filesystems
    dosfstoolsUserspace tools to manage FAT filesystems
    exfatprogsUserspace tools to manage exFAT filesystems
    f2fs-toolsUserspace tools to manage F2FS filesystems
    e2fsprogsUserspace tools to manage ext2/3/4 filesystems
    jfsutilsUserspace tools to manage JFS filesystems
    nilfs-utilsUserspace tools to manage NILFS2 filesystems
    ntfs-3gUserspace tools to manage NTFS filesystems
    reiserfsprogsUserspace tools to manage ReiserFS filesystems
    udftoolsUserspace tools to manage UDF filesystems
    xfsprogsUserspace tools to manage XFS filesystems
    lvm2Userspace tools for Logical Volume Management
    cryptsetupUserspace tools for encrypting storage devices (LUKS)
    networkmanagerComprehensive network management and configuration suite
    nanoConsole text editor
    manRead documentation (manuals)

    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
    
  2. 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
    
  3. Switch

  4. into

    the newly installed system with arch-chroot intoand installationcontinue setting it up:

    arch-chroot /mnt