Easier than Manjaro!
Well, to put it simply, THE OFFICIAL ARCH WIKI INSTALLATION GUIDE SUCKS! wait, let me rephrase that, THE OFFICIAL ARCH WIKI INSTALLATION GUIDE SUCKS! for beginners. If you're a complete noob to Linux or even if you're a intermediate, you'd probably find the Arch wiki a bit too daunting to comprehend. No worries though! The actual installation is fairly easy and if you follow all the steps that I mention, you'd probably have a working machine in about 30 minutes or so.
You can acquire the Arch linux ISO file from the Arch Download Page . I would recommend torrenting the file by the means of a torrent client, I personally use qBittorent. Alternatively, you can get a direct download link as well. If you're going to do the latter, I'd suggest you'd verify the PGP signature before you follow through the next step.
The easiest way to flash any ISO onto a USB drive is by using the program Balena Etcher. The flashing instructions are very straightforwad and I dont think it's worth a mention in this guide. Check out their website for more information.
Make sure you've plugged in the USB drive after you have finished flashing it. To access the system BIOS, you must first restart and when you get your device manufacturers splash screen, you must enter a specific keyboard combination. This combination varies across manufacturers. For example, in Dell computers, the combition is to press the F2 key repeatedly until you're prompted with the BIOS screen.
It may look something like this:
After you have access to the system BIOS, you have to change some settings first to be able to boot into the live environment.
The Arch installation image does not support Secure Boot, if needed you can enable secure boot after the installation though it may lead to some unexpected errors.
Navigate around your BIOS and find an option called "Allow other OS's" or something similar to that. Make sure it's enabled
Change your boot sequence such that the USB drive which contains the flashed ISO boots first instead of the Hard Drive.
You will now be prompted into the Arch linux splashscreen. To access the live environment simply press enter on Boot Arch Linux (x86_64)
Great! you're finnaly booted in the live environement and are now prompted with this screen:
OooOo. .... spooky, But don't be intimidated! Ok, you get the spooky screen and now what?
well first, you have to verify the boot mode.
Before you go any further, you have to verify if you have entered into your desired boot mode, since the steps of intallation are a little different for each mode. To check what boot mode you are in, run the command:
ls /sys/firmware/efi/efivars
Ethernet: Just plug it in ez
iwctl
utility. iwctl
in the terminal. You have now entered the iwctl command prompt. To identify your device, type in:
device list
your device is probably listed as wlan0
. station yourdevicename scan
station yourdevicename get-networks
After you find your desired network, you can connect to it by issuing the command:
station yourdevicename connect yournetworkname
if it's being protected by a passphrase, enter the required password. And you're done! you've successfully connected to the internet, and once you have the internet, you can do anything! To check your connection just ping some random server or website
ping -c 2 google.com
if the process doesnt output an error, then you're golden!
To update the system clock, run this command:
timedatectl set-ntp true
To the check the service status, use timedatectl status
Though the official Arch wiki reccomends to use fdisk
to partition the hard drives, for the purposes of this guide we will be using cfdisk
since it's much more beginner friendly and easier to use. To start cfdisk just type in cfdisk
into the terminal.
You should be prompted into a GUI interface similar to this
Note: Select the DOS option if you're on Legacy and GPT if you're running UEFI.
if you didn't get the menu screen, it's ok. That means cfdisk
has automatically scanned and discovered your BIOS type.
Delete an already existing partion by navigation through the GUI and pressing Enter on Delete for the already existing partitions
For low end devices it's generaly advised to make 2 different partions, one is the linux file system and the other is linux swap file. The swap file exists so that when the RAM is overused, it offloads some of the work to the hard drive instead. Please refer to this image if you want to find out how much swap space you need to allocate to your system
Making a EFI partition: To make a EFI partition, press Enter on New
and create a partition with 300M in size. After that, from the bottom menu, select Type
and choose EFI system.
Making a Swap partiton: To make a swap partion, refer to the table below and choose the size of your swap file accordingly. The more ram you have, the less reason you'd have to make a swap file
To change the file system, go to Type and press Enter on
82 Linux swap / Solaris
Making a Root partition: To make a root partition, create a new file, give it the rest of the disk space and confirm. You don't have to change the file type since linux filesystem
is the default.
All you have to do after this is to press Enter on Write
and you're all done!
Note: The EFI partition is sda1, the swap partition is sda2 and the root partition is sda3
After you've partionioned your drive, you have to format all three of them with the appropriate file system. To format the root partition, run:
mkfs.ext4 /dev/sda3
To format the EFI partition, type in: mkfs.fat -F32 /dev/sda1
To initialize the swap partition you have just created, run:
mkswap /dev/sda2
Mount sda3 to /mnt directory, run:
mount /dev/sda3 /mnt
Enable the swap partition you created with:
swapon /dev/sda2
To install the base package, linux, and the firmware, run the pacstrap
command:
pacstrap /mnt base linux linux-firmware
Generate an fstab file by running:
# genfstab -U /mnt >> /mnt/etc/fstab
Change the root into the new system:
arch-chroot /mnt
Other software you'll need is nano
and NetworkManager
To install both, run:
pacman -S nano networkmanager
To be able to connect to the internet using NetworkManager and use the GUI at next reboot, run:
systemctl enable NetworkManager
To set the time zone of your country, run:
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock
:
hwclock --systohc
/etc/locale.gen
and uncomment en_US.UTF-8 UTF-8
and other needed locales. To do that, run:nano etc/locale.gen
and remove the "#" form en_US.UTF-8 UTF-8
and other locales. locale-gen
locale.conf
file and set the LANG variable accordingly:
nano /etc/locale.conf
LANG=en_US.UTF-8
Create a hostname file and add your host name (it could be anything you want):
nano /etc/hostname
null
/etc/hosts
file and add matching entries to it. run:
nano /etc/hosts
Add this line to the file with proper indentations:
127.0.0.1 localhost
::1 localhost
127.0.1.1 yourhostname.localdomain yourhostname
null
You can change the root password of the system using the passwd
command. In the next reboot, you can enter that to login as the root account. To set the root password, run:
passwd
And follow through the prompts.
The bootloader we are going to be installing is grub. To install grub, runt the command:
pacman -S grub efibootmgr dosfstools os-prober mtools
Now that we have downloaded grub, we and its utilities, we must make a EFI directory manually for grub to recognise, run: mkdir /boot/EFI
to mount the directory, type: mount /dev/sda1 /boot/EFI
After that, install grub by using the command: grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
Finally, creat a grub configuration file by issuing the command: grub-mkconfig -o /boot/grub/grub.cfg
To exit out of chroot type exit
on the terminal or press Ctrl+d
To unmount all partitions, type in:
umount -R /mnt
Finnaly, reboot into your new arch system by typing in reboot
, unpluging your USB device and changing your boot order to hard disk first.
Congratulations! you finnaly installed arch. Your system will now reboot into a blank terminal once again :(. But don't be disheartned, The hard part is over. There is a few more stuff you have to set up before you can actually use Arch. Like adding users, Installing a Desktop Environment/Window Manager and other fun stuff. You can find all the tutorials to those in this website.