Arch Linux, as the name implies, is a Linux distribution. Most of the more popular Linux distributions offer some sort of installer, graphical or CLI. Arch does not, what you do get are a set of scripts. The installation ISO contains a very basic system with the basic tools required to install a new system.
Below I will try and show you how to install Arch on your system. This is a minimal UEFI base system installation. You will have to configure the rest of your system yourself. This will get you up and running.
Step 1: Download Arch Linux
You can download the iso here.
Step 2: Create a live USB
Use Etcher to create the live USB.
Step 3: Boot from the live USB
You might have to disable secure boot on your system's bios to boot from USB. Once your system boots, select Boot Arch Linux option from the menu.
Step 4: Disk Partition/
Use fdisk to partition your disk(s).
To list the partitions use the command fdisk -l
The hard disk should be labelled /dev/sda or /dev/nvme0n1. Please use the appropriate disk labelling for your system. I'll be displaying all commands with /dev/sda.
Select the disk to format and partition.
fdisk /dev/sda
Delete any existing partitions with the command d. Now, let's create new partitions.
On UEFI systems, you must create an EFI partition at the beginning of your disk. Create an ESP partition by entering the command n. It will ask you to choose a disk number, enter 1. When it asks for First Sector press enter. For last sector (partition size), enter + 512M.
Change the type of the EFI partition to EFI System (instead of Linux system) by using the command t. Partition type = 1
Create the root partition. Usually most people create separate root, swap and home partitions. To keep it simple we will be creating a single root partition and put the home directory under the root directory. We will not be creating a swap partition. You could use a swapfile if you need to use swap.
Create the root partition with command n. Select p for primary partition. Select 2 for partition number. Press enter for first sector and press enter for last sector, this will use up all remaining space. When you are done with partitioning, enter command w, to wirte the changes to disk and exit out of fdisk.
Step 5: Create the filesystem
You should now have 2 partitions. EFI and root. Create a FAT32 file system on the first one (EFI). (Remember to replace /dev/sda1 and /dev/sda2 with your own system's partition labels.)
mkfs.fat - F32 /dev/sda1
Create an EXT4 file system for the root partition.
mkfs.ext4 /dev/sda2
Step 6: Connect to the Internet
If you are installing on a laptop or you don't have a wired connection, you can connect to WiFi using wifi-menu. Enter the command wifi-menu and follow the steps.
Test your internet connection with ping google.com
Step 7: Install Arch Linux
It's time to install. Mount the root partition.
mount /dev/sda2 /mnt
now that root is mounted run the following command to install all the necessary packages:
pacstrap /mnt base linux linux-firmware vim nano
It will take some time to download all the packages. Sit back, relax.
Step 8: Configure the system
Generate an fstab file to define how the disk partitions are mounted.
genfstab -U /mnt >> /mnt/etc/fstab
Now use arch-chroot and enter the mounted disk as root. You will now be using the newly installed Arch Linux system on the disk.
arch-chroot /mnt
Set the timezone by using the command timedatectl. Use the following command to list all available timezones.
timedatectl list-timezones
To set the timezone use the following command, replacing the timezone with your own.
timedatectl set-timezone America/Los_Angeles
The next step is locale setup. This sets the language, numbering, date and currency formats for your system. The file /etc/locale.gen holds all the local settings and systtem language in a commented format. Open the file with your favorite editor and uncomment the language you prefer. I will use en_US.UTF-8. Now generate the locale config with the commands below.
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
You can always change these later, if you change your mind.
Next we will set the hostname (your computer's name on the network) for your system. Create a /etc/hostname file and add the hostname entry to this file. I'll call mine 'arch'.
echo arch > /etc/hostname
Create a hosts file.
touch /etc/hosts
Add the following lines to it. Remember to replace 'arch' with your own chosen hostname.
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch
Set the root password with command passwd.
Install the sudo package.
pacman -S sudo
Change your default editor to nano sudo EDITOR=nano visudo and uncomment the line %wheel ALL=(ALL) ALL.
Let's create a regular user with a home directory. My user will be 'jriv'.
useradd -m jriv
Now let's add the new user to the wheel group so we can use sudo
usermod -aG wheel jriv
Lastly let's set the user's password.
passwd jriv
Verify the new user with: id jriv
Step 9: Install Grub
Make sure your still using arch-chroot and install the required packages.
pacman -S grub efibootmgr
Create the directory where you'll mount the EFI partiton.
mkdir /boot/efi
Now mount the ESP partition you created earlier.
mount /dev/sda1 /boot/efi
Install Grub with the following commands.
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
grub-mkconfig -o /boot/grub/grub.cfg
Step 10: Install A Desktop Environment
Choose a desktop environment. I will be installing Gnome. First we need to install the display driver.
pacman -S xorg
Install the Gnome Desktop Environment. You can also install Gnome Extras to include an email client, an IRC client Gnome Teweaks, and a set of games.
pacman -S gnome gnome-extra
Enable the display manager and network manager.
systemctl enable gdm.service
systemctl enable NetworkManager.service
Exit chroot by entering exit and then shutdown your system by entering shutdown now
Take out the USB and turn on your system. If everything went well, you should see the Grub menu and then Gnome login screen.