Skip to content

Install ArchLinux in 50 Easy Steps

The migration from the old to the new computer took me a long time, but it also enabled me to write this text – how to manually install ArchLinux. I need a reminder when an accident happens, and it can help someone. When you read “50” steps, it may scare someone, but if you know how to work in the console, there will be no problems. This way of installation can be fun, not to mention that “I am God!” moment and of course bragging in front of a clumsy neighbors that doesn’t even know what Linux is, not to mention the console and all commands you type. They’ll just think you invented the Matrix. This brings with it some bad things, they will ask you to fix their computer. When I say this it means that they will call you for every little thing. The warning is there, the good sides as well, so let me start with the list.

Arch Linux - manual installation guide

Installation procedure of ArchLinux

1iwctlFirst and foremost – connecting to the Internet
2station wlan0 connect
3exit
4reflector – c Serbia -a 6 –sort rate –save /etc/pacman.d/mirrorlistGenerate a mirrorlist file by selecting the fastest 6 servers in Serbia
5timedatectl set-ntp trueTime synchronization
6gdisk /dev/sdaPartitioning tool on the /dev/sda device
7lsblkList the partitions created in the previous step
8mkfs.fat -F32 /dev/sda1Formats the /dev/sda1 partition to the fat32 file system (EFI partition on which the butloader will be installed)
9mkfs.ext4 /dev/sda2Formatting a future “root” partition in an ext4 file system
10mkfs.swap /dev/sda3Creating a swap partition
11swapon /dev/sda3Mounting a swap partition
12mount /dev/sda2 /mntMounting root partition to /mnt
13mkdir -p /mnt/boot/efi
14mount /dev/sda1 /mnt/boot/efiMount the /dev/sda1 partition on the previously created /mnt/boot/efi directory
15pacstrap /mnt base linux linux-firmware nano amd-ucodeBasic system installation
16genfstab -U /mnt > /mnt/etc/fstabGenerating an fstab file (required to mount partitions at boot time)
17аrch-chrootChroot to the installed base system
18ln -sf /usr/share/zoneinfo/Europe/Belgrade /etc/localtimeConfiguring local time (time zones)
19hwclock –systohcTime synchronization
20nano /etc/locale.genSelecting the locale (the line en_US.UTF-8 is uncommented in the specified file)
21locale-genGenerating a locale
22echo “LANG=en_US.UTF-8” >> /etc/locale.confWrite the locale to the /etc/locale.conf file
23echo “perica” >> /etc/hostnameAdding a hostname to /etc/hostname
24nano /etc/hosts 127.0.0.1 localhost
::1 localhost 127.0.1.1perica.localdomain perica
Add a hostname to /etc/hosts
25passwdAssign a password to the root
26pacman -S grub efibootmgr networkmanager network-manager-applet wpa_supplicant dialog mtools dosfstools base-devel linux-headers git reflector cups xdg-utils xdg-user-dirs bash-completion alsa-utils pulseaudio acpi acpi_callInstalling the packages (the most important in the series is the bootloader – GRUB, the others can be installed later)
27grub-install –target=x86_64-efi –efi-directory=/boot/efi –bootloader-id=GRUBInstallation of Grub butloader
28grub-mkconfig -o /boot/grub/grub.cfgGenerating a configuration file
29systemctl enable NetworkManagerEnabling the Network Manager service
30systemctl enable cupsEnabling a print service (printer)
31useradd -mG wheel PericaAdding user Perica
32passwd PericaAssigning a password to Perica
33EDITOR=nano visudoEnable execution of all commands (with all users in the wheel group)
34exitExit from the chrooted environment
35umount -aUnmounting the partitions mounted in steps 12 and 14
36RebootRestart the system and first log in to the freshly installed system
37nmtuiReconnect to the Internet
38sudo timedatectl set-ntp trueRe-sync time
39sudo hwclock –systohc
40sudo pacman -S rsyncInstalling the rsync package
41sudo reflector -c Hungary -a 6 –sort rate –save /etc/pacman.d/mirrorlistGenerate a mirrorlist file by selecting the fastest 6 servers in Serbia
42sudo pacman -SyyRefreshing repositories based on the generated mirrorlist
43sudo systemctl enable –now reflector.timerLaunch a reflector service that will periodically refresh the mirrorlist file
44sudo systemctl enable –nov fstrim.timerStarting a service that extends the life of the SSD
45git clone https://aur.archlinux.org/yayAUR assistant cloning
46cd yay
47makepkg -siAUR assistant install
48sudo pacman -S xf86-video-amdgpu xorg firefox plasma-meta plasma-wayland-session kde-applications-meta sddmInstalling drivers for graphics card (Ati/Radeon), Xorg server and Plasma (KDE) environment
49sudo nano /etc/mkinitcpio.confAdding amdgpu to the kernel module list
50sudo mkinitcpio -p linuxKernel recompilation
51sudo systemctl enable sddmStarting the display manager service

This text implies knowledge of using a console, disk partitioning tools. Since I normally use KDE Plasma, I mentioned it here during installation, your choice may be different, but then you have to install the appropriate packages. It is possible to install another graphics card driver (if you have Intel or Nvidia), just replace the manufacturer name in the package name in step 48. And after executing all these commands, you should have the system ready to use. Of course you need to install rest of the apps you use. Simple, isn’t it ?! 🙂

Another thing I almost forgot. I recently wrote about installing ArchLinux using the Archfi script. It’s not bad either, but this way is still nicer to me. Not to mention that I got a little tangled so I made the combination Arch-Manjaro 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *