How To Install Arch Linux
When it comes to Linux distributions, Arch Linux is considered one of the difficult ones. This is mainly because it’s hard to install. Most installation instructions complicate the process. The distribution itself is meant to be used by those who are comfortable using a Linux system. It’s basically a distribution for power users and that leaves a good chunk of users without options. We’ve simplified the steps you need to follow to install Arch Linux. You must know the basics of a Linux system and know what partitioning etc, is in order to use it. If you’ve never run Linux in any form, this still isn’t something for you to try out.
What You Need
Before you get started, you need the following things;
- A USB drive with at least 512MB space
- The Etcher app: Download and install it on your system
- The Arch Linux Distribution: Download
- Look up how to boot into the BIOS on the system you will install Arch Linux on
Making the USB disk
Insert the USB drive and run the Etcher app. Select the Arch Linux ISO you just downloaded. Etcher will automatically detect the USB connected to your system (assuming you have only one connected). If you have several USBs connected to your system and Etcher has selected the wrong one, click ‘Change’ under the drive and select the correct drive.
Click ‘Flash’. You might be prompted to enter your admin password. Be patient! It may take a bit of time, depending on your system to complete.
Change Boot Order
You need to boot into Arch Linux from the drive you just created. Before you can do that, you need to make sure your system boots from a USB. Systems, by default, boot from the hard drive or an optical drive. To change the boot order, turn on your system and go to the BIOS settings.
There should be a tab called ‘System Configuration’. This tab will have a boot order or boot sequence option. Change the boot device order so that the first device listed is USB drives.
Booting
Before you boot into Arch Linux, it’s a good idea to first connect to your network router via an Ethernet cable. You can stick to connecting to it via WiFi but that will add an extra step after the boot process.
Connect the USB drive and turn your system on. Wait while Arch Linux boots. You will see a series of commands wizz by on your screen. Don’t interrupt it.
When it’s booted, you will see root@archiso ~ # at the top of the command line interface. You’re now ready to create partitions and, connect to your WiFi if you want. It will automatically detect your Ethernet cable and connect to the internet. If you prefer WiFi read the next section to learn how to connect to it.
Connect WiFi
Enter the following command;
wifi-menu -o
Select the WiFi network you want to connect to from the list of available networks. Modify the name so that it is the same as the network’s name. Enter your password, and Arch Linux will connect to the network.
Partitioning
Partitioning can seem daunting, though it really isn’t as big of a deal as it might seem. All that is required is a little know-how.
To start off, enter the following command into the console. This will display all known hard drives and partitions on the system. Determine what hard drive you wish to install to, and take note of what block device it is.
lsblk
For example: The first hard drive detected on the system is usually /dev/sda. Hard drive two would be /dev/sdb, and so on.
You need the Parted tool in order to create partitions. To start using the tool, run the following command.
parted /dev/sda
You will see the following at the top of the command line, indicating you have successfully switched to the Parted Tool.
GNU Parted 3.2
Using /dev/sda
MBR/BIOS
The BIOS version of Arch Linux needs no special partitions for booting. When you install this version of Arch Linux, all that is required is the root partition, and a swap partition.
In parted, start off by creating the partition table.
mklabel msdos
Mklabel deletes all partitions on the drive that has been opened with parted (in this tutorial example, it is /dev/sda), and gives it the MBR/BIOS partition table.
Next, the root partition needs to be created. To do this, you must understand how mkpart works.
For example: the drive that Arch Linux is being installed on to is 8 gigabytes in total. For the MBR/BIOS setup, two partitions are needed. Root and swap. A swap partition should be at least 2 GBs in size. This means that the root partition should be 6 GB.
mkpart primary ext4 1MiB 6GiB
Then, set the root partition into boot mode, with:
set 1 boot on
Finally, create the swap partition.
mkpart primary linux-swap 6GiB 100%
Lastly, exit parted.
quit
GPT/EFI
The process for partitioning in GPT/EFI is very similar to the MBR/BIOS mode. First, start off by opening parted.
parted /dev/sda
Then, create a partition table.
mklabel gpt
Next, make the EFI boot partition. This must be separate from the rest of the system.
mkpart ESP fat32 1MiB 513MiB
The second partition (or /dev/sda2) is the root partition. This is where all of the core Arch Linux system will live. Make it with this command.
mkpart primary ext4 513MiB 6GiB
Lastly, make the swap partition. Swap, though not talked about a lot is useful, especially when programs overflow physical ram.
mkpart primary linux-swap 6GiB 100%
Finished? Exit parted with this command.
quit
Mounting File Systems
After all that work in parted, the Arch Linux installer has a partition table to work with. From here, partitions need to be formatted, and mounted to the correct areas to prepare for installation.
MBR/BIOS
Format your root partition with the mkfs tool to the Ext4 file system.
mkfs.ext4 -F /dev/sda1
Next, mount it,
mount /dev/sda1 /mnt
And turn on swap.
mkswap /dev/sda2 swapon /dev/sda2
GPT/EFI
Format your boot partition as Fat32. Then mount both the home and root directories to the correct locations (in this case, /mnt and /mnt/home). Additionally, create and turn on swap.
mkfs.fat -F32 /dev/sda1 mkfs.ext4 -F /dev/sda2 mount /dev/sda2 /mnt mkdir /mnt/boot mount /dev/sda1 /mnt/boot mkswap /dev/sda3 swapon /dev/sda3
Installing The Core System
Everything is configured. Start the installation process with the pacstrap command. Keep in mind that this process may take some time.
pacstrap -i /mnt base base-devel
When pacstrap finishes, generate an Fstab. This is a file-system tab. This file keeps in mind all of the uuids, and filesystem mount points.
genfstab -U /mnt > /mnt/etc/fstab
To start configuring the new installation, enter the Arch Chroot.
arch-chroot /mnt
Configuring The System
Start out by setting the locale. For those that don’t know, a locale determines your language. Using the nano text editor, find your locale, and remove the # from it. Then, use CTRL + O to save it.
nano /etc/locale.gen
Generate the locale on the new system, and set it as default.
locale-gen echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8
MBR/BIOS
The next step in configuration is to install the Grub bootloader.
pacman -S grub
grub-install --recheck --target=i386-pc /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
GPT/EFI
pacman -S grub efibootmgr grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
Using the Nano text editor, edit the pacman.conf
file. Scroll down, and remove all # symbols from in front of [multilib] (and the lines underneath it), then press CTRL + O to save the edit. Doing this ensures that you will be able to install 32 bit software on 64 bit systems.
nano /etc/pacman.conf
After the edit, re-sync Pacman with:
pacman -Syy
Install sudo to the system.
pacman -S sudo
Again, a file needs to be modified. using the Nano text editor, edit the sudoer file. Find %wheel ALL=(ALL) ALL
, remove the #
sign, and press CTRL + O to save the edit.
EDITOR=nano visudo
Create a new user for the newly installed Arch Linux system.
useradd -m -g users -G wheel,storage,power -s /bin/bash owner
Then, set the new username password.
passwd owner
Finally, set the new root password.
passwd
Picking a Desktop Environment
We’re at the last step of the process. Everything required for Arch Linux to function properly is in place — except for a desktop environment. A desktop environment, or “GUI interface” is very important. Without it, Arch Linux is a lot less user friendly. Let’s install one!
Start off by installing the Xorg system. This is important, and is the foundation of any desktop:
pacman -S xorg-server xorg-server-utils xorg-xinit mesa xf86-input-synaptics
Next, choose from one of the following in this list. Each item listed here is a desktop environment that can be used on the Arch Linux system. Select the one that you’d like to install by entering the commands listed.
Gnome Shell:
pacman -S gnome gnome-extra gdm networkmanager network-manager-applet
systemctl enable gdm systemctl enable NetworkManager
KDE Plasma:
pacman -S plasma dolphin kwrite dolphin-plugins sddm networkmanager network-manager-applet
systemctl enable sddm systemctl enable NetworkManager
LXDE:
pacman -S lxde lxdm networkmanager network-manager-applet
systemctl enable lxdm systemctl enable NetworkManager
LXQT:
pacman -S lxqt sddm networkmanager network-manager-applet
systemctl enable sddm
systemctl enable NetworkManager
Cinnamon:
pacman -S cinnamon gdm networkmanager network-manager-applet
systemctl enable gdm
systemctl enable NetworkManager
Budgie:
pacman -S budgie-desktop gnome-extra gnome gdm networkmanager network-manager-applet
systemctl enable gdm
systemctl enable NetworkManager
XFCE4:
pacman -S xfce4 xfce4-goodies lxdm networkmanager network-manager-applet
systemctl enable lxdm
systemctl enable NetworkManager
Mate:
pacman -S mate mate-extra lxdm networkmanager network-manager-applet
systemctl enable lxdm
systemctl enable NetworkManager
Graphics Drivers
Intel:
pacman -S xf86-video-intel intel-dri lib32-intel-dri libva-intel-driver libva
Nvidia (New GPUS):
pacman -S nvidia nvidia-libgl lib32-nvidia-libgl nvidia-settings
Note: by installing this driver, you may be asked to remove Mesa, as they conflict with the Nvidia drivers. Do so.
Nvidia (Old):
pacman -S xf86-video-nouveau
Amd:
pacman -S xf86-video-ati mesa-libgl lib32-mesa-libgl mesa-vdpau lib32-mesa-vdpau
After all of these steps, it is safe to reboot the PC, remove the Arch live disk and turn on the newly created Arch Linux system
Really good guide, but when installing the xorg packages, ‘xorg-server-utils’ has been replaced with ‘xorg-apps’.