How to Install Arch Linux on a Raspberry Pi

This guide will walk you through the process of installing Arch Linux on a Raspberry Pi, from start to finish.

Arch Linux is a rolling release distribution that is known for its simplicity and flexibility. While it may not be the first choice for beginners due to its minimalistic approach to system setup, Arch offers an incredibly customizable platform once it is set up. Installing Arch Linux in a virtual machine (VM) allows users to explore its features, learn the installation process, and experiment with configurations without modifying their main operating system. This guide will walk you through the process of installing Arch Linux in a virtual machine, from start to finish.

Prerequisites

Before proceeding with the installation of Arch Linux in a virtual machine, you will need the following:

  1. Virtual Machine Software: We will use VirtualBox or VMware for this guide. Both are widely used, free-to-use virtualization tools.
  2. Arch Linux ISO Image: The official Arch Linux ISO image will be used to install Arch Linux on the virtual machine.
  3. A Computer with Virtualization Support: Make sure that your CPU supports hardware virtualization (Intel VT-x or AMD-V). You can enable this feature in your computer’s BIOS/UEFI settings.
  4. Internet Connection: An internet connection is necessary to download Arch Linux and install software packages during the installation process.
  5. Sufficient RAM and Storage: For optimal performance, allocate at least 2 GB of RAM and 10 GB of storage to the virtual machine.

Step 1: Download Arch Linux ISO Image

The first step is to download the official Arch Linux ISO image:

  1. Go to the Arch Linux download page: https://archlinux.org/download/
  2. Download the latest stable ISO file (a .iso file).

This ISO file will be used to boot the virtual machine and install Arch Linux.

Step 2: Set Up the Virtual Machine

1. Install Virtual Machine Software

If you don’t already have VirtualBox or VMware installed, download and install one of them. Both VirtualBox and VMware are available for Windows, macOS, and Linux.

Once installed, launch the application to create a new virtual machine.

2. Create a New Virtual Machine

For VirtualBox
  1. Open VirtualBox and click New.
  2. Name the virtual machine (e.g., “ArchLinux-VM”) and select Linux as the operating system type and Other Linux (64-bit) as the version.
  3. Allocate at least 2 GB of RAM to the virtual machine (you can increase this later if necessary).
  4. Choose to create a virtual hard disk now and select VDI (VirtualBox Disk Image) as the disk file type.
  5. Set the disk size to 10 GB or more, and choose Dynamically allocated to allow the disk size to grow as needed.
For VMware
  1. Open VMware Workstation Player and click Create a New Virtual Machine.
  2. Choose Installer disc image file (iso) and browse to select the Arch Linux ISO you downloaded.
  3. Select Linux as the guest operating system and Other Linux 5.x or later kernel 64-bit as the version.
  4. Set the RAM to 2 GB or more and allocate at least 10 GB of disk space.
  5. Finish the VM creation process.

3. Configure Virtual Machine Settings

Before you start the installation, it’s a good idea to adjust some VM settings for optimal performance.

  • Enable Hardware Virtualization: Ensure that VT-x/AMD-V (hardware virtualization) is enabled. This is usually enabled by default, but it can be checked in the VM settings under the System tab.
  • Network Adapter: Set the network adapter to Bridged or NAT depending on your preference. NAT is typically sufficient for internet access in most cases.
  • CD/DVD Drive: Attach the Arch Linux ISO file you downloaded to the virtual CD/DVD drive in the VM settings.

Step 3: Boot the Virtual Machine from the Arch Linux ISO

Now that the virtual machine is set up, it’s time to boot the Arch Linux installer:

  1. Start the virtual machine.
  2. The virtual machine should boot from the Arch Linux ISO automatically. If it doesn’t, go to the VM’s boot options and ensure that the optical drive is set as the first boot device.

Once the VM boots up, you’ll be greeted by the Arch Linux command-line installation environment.

Step 4: Prepare the Disk

In this step, you’ll partition and format the virtual disk for Arch Linux.

1. Verify the Disk

Use the lsblk command to list the available storage devices and their partitions:

lsblk

You should see something like /dev/sda, which is the virtual hard drive. The exact name may vary depending on your system.

2. Partition the Disk

Use fdisk to partition the disk. Run the following command:

fdisk /dev/sda

Inside fdisk, use the following commands to create the necessary partitions:

  • Press n to create a new partition.
  • Choose primary partition type (by default, press Enter).
  • Set the size for the partition. You can allocate the entire disk or split it into multiple partitions (e.g., one for / and one for /home).
  • Press w to write the partition table and exit.

3. Format the Partitions

Once the partitioning is done, format the partitions. For example, to format the primary partition (/dev/sda1) as ext4, use the following command:

mkfs.ext4 /dev/sda1

If you created separate partitions (e.g., for /home), format them similarly.

4. Mount the Partitions

Mount the root partition to /mnt:

mount /dev/sda1 /mnt

If you have additional partitions (e.g., a separate /home), mount them as well.

Step 5: Install the Base System

Now that the disk is prepared, it’s time to install the Arch Linux base system:

  1. Use the following command to install the base system:
pacstrap /mnt base base-devel linux linux-firmware

This command installs the base packages, including the Linux kernel and essential system tools.

  1. After the installation is complete, generate the fstab file:
genfstab -U /mnt >> /mnt/etc/fstab

This file will map your partitions to their mount points.

Step 6: Configure the System

Now, let’s configure the system.

  1. Chroot into the New System: Change root into the newly installed system:
arch-chroot /mnt
  1. Set the Time Zone: Set your time zone by linking the correct time zone file to /etc/localtime. For example, for UTC:
ln -sf /usr/share/zoneinfo/UTC /etc/localtime

Then, run the following command to synchronize the hardware clock:

hwclock --systohc
  1. Locale Configuration: Edit the /etc/locale.gen file and uncomment your desired locale, such as en_US.UTF-8. Then, generate the locales:
locale-gen

Set the system language by creating the locale.conf file:

echo "LANG=en_US.UTF-8" > /etc/locale.conf
  1. Set the Hostname: Set the system hostname by editing /etc/hostname:
echo "arch-vm" > /etc/hostname
  1. Set the Root Password: Set the root password:
passwd

Step 7: Install the Bootloader

  1. Install GRUB: GRUB is the bootloader that Arch Linux uses. Install it with the following command:
pacman -S grub
  1. Install the Bootloader to the Virtual Disk: For a virtual machine, you typically install GRUB on /dev/sda:
grub-install --target=i386-pc /dev/sda
  1. Generate the GRUB Configuration: Create the GRUB configuration file:
grub-mkconfig -o /boot/grub/grub.cfg

Step 8: Exit the Chroot and Reboot

Once everything is configured, exit the chroot environment:

exit

Unmount all partitions:

umount -R /mnt

Reboot the system:

reboot

Step 9: Final Steps and Post-Installation

Once the virtual machine reboots, you should see the Arch Linux login prompt. Log in with the root user and the password you set earlier.

  1. Update the System: Run the following command to update your system:
pacman -Syu
  1. Install Additional Packages: You can now install additional packages, such as a text editor (vim or nano), networking tools, or a desktop environment if desired.
pacman -S networkmanager vim
  1. Enable NetworkManager (if you need networking):
systemctl enable NetworkManager
systemctl start NetworkManager

Conclusion

You have successfully installed Arch Linux on a virtual machine. This process allows you to familiarize yourself with the installation and configuration of Arch Linux without the risk of affecting your primary operating system. The virtual machine environment is perfect for experimentation, learning, and testing configurations before deploying Arch on physical hardware.

As Arch Linux is a rolling release, it’s important to regularly update your system and explore the extensive Arch Wiki, which provides documentation for troubleshooting, system customization, and package management.