This whole tutorial comes from following this video.
My Laptop Link to heading
I wanted to install Arch on an old laptop which had a broken screen and therefore could only be used as some kind of server. It had 2 disks:
- sda: 931.5 GB <–That’s my 1 Terabyte disk
- sdb: 238 GB <– That’s my 250 Gigabyte disk
The sizes don’t match exactly because the command that I’m using:
lsblk
Is probably just looking at the available space on the disk at that very instant.
Making the bootable USB Link to heading
To make a bootable USB:
- Download the iso here
- Find a USB with at least 4GB of storage space
- Make the USB bootable with the given iso file
The bootable USB can be made using Rufus or balenaEtcher on Windows.
Boot from the USB Link to heading
Turn off the computer you which to install Arch on, plug in the USB, start it again and immediately press Esc or f2 to enter UEFI or BIOS. Go to the boot menu and boot from the USB you plugged in (you might need to disable Secure Boot for this).
Change the keyboard layout Link to heading
You should end up in the Arch installer command line. If you need, it’s possible to change the keyboard layout with the command:
loadkeys fr
For french for example.
Connecting to the Internet Link to heading
If you’re connected via ethernet, good you have nothing more to do, just make sure the connection works by pinging some service like:
ping archlinux.org
Otherwise, you’ll have to connect the wifi. Note that the following only works if the authentication mechanism is through a password. Captive WiFi portals will not work.
Enter the iwctl
menu:
iwctl
station wlan0 get-networks
You’ll see a whole bunch of WiFi networks, find yours (let’s say MyWifiStation) and run:
iwctl --passphrase 'mywif!p@ssword' station wlan0 connect MyWifiStation
Make sure you are connected:
ip a
Or
ping archlinux.org
If you get an IP address on your Wi-Fi interface or answers to your pings, great! You’re connected to the internet.
Configure the disk partitions Link to heading
We’ll use cfdisk
.
Choose the disk you want (sda in my case), delete all the partitions on it (by setting the cursor on “delete” and pressing enter), then create a 100MB boot partition (sda1 for me), a 4GB swap partition (sda2) and allocate the rest to a third partition (sda3).
After that you need to format the partitions, ext4 for the main one, fat32 for the boot one, and swap for the swap one as follows:
mkfs.ext4 /dev/sda3
mkfs.fat -F 32 /dev/sda1
mkswap /dev/sda2
Mount the created partitions Link to heading
Now that we’ve partitioned and formatted the computer’s disk, we need to mount those partitions to access them through our current system which is running on the USB flashdrive.
mount /dev/sda3 /mnt
mkdir -p /mnt/boot/efi && mount /dev/sda1 /mnt/boot/efi
swapon /dev/sda2
Run lsblk
to note that the partitions have indeed been mounted.
Basic packages and fstab Link to heading
Now that everything is mounted, you need to download the actual linux kernel and basic packages:
pacstrap /mnt base linux linux-firmware base-devel grub efibootmgr nano networkmanager
Note that we did not use pacman but pacstrap and we specified the directory on which we mounted the partitions: /mnt
.
Now, we need to create the /etc/fstab
file which will give the information to mount which partition at which mountpoint:
genfstab > /mnt/etc/fstab
You might have to specify a directory like:
genfstab /mnt > /mnt/etc/fstab
Set up the language and locales Link to heading
log into what will become our newly created system:
arch-chroot
Set your locales:
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
hwclock --systohc
nano /etc/locale.gen
I’ll select the ones for Western Europe.
When you’re there, uncomment the language you want, I want english US, the default, so find it in the list and uncomment it. Run:
locale-gen
nano /etc/locale.conf
And add the line:
LANG=en_US.UTF-8
It’s actually the one by default so you don’t really need to do this step, but you would have to if you wanted to set your Desktop to a language other than english. Then, set your default keyboard layout:
nano /etc/vconsole.conf
And write:
KEYMAP=fr
For a french keyboard layout.
Hostname and users Link to heading
Then we want to set the hostname:
nano /etc/hostname
And name it whatever:
Archlinux
Then you want to set the password for the administrator user or “root”:
passwd
After that, you want to create your own user and set your password. For me, it’ll be dvr
:
useradd -m -G wheel -s /bin/bash dvr
passwd dvr
And there you go. Now you need to add your user to be able to use the sudo
command, we want to use the command visudo
but we prefer the nano
editor so we run:
EDITOR=nano visudo
Go down to the line about the wheel group, and remove the #
character at the beginning of the line, leave the %
character. There might be several that look the same but the comments above each will generally be enough to determine which one to uncomment.
You can check that you do have sudo privileges by running:
su dvr
sudo pacman -Syu
And if it doesn’t return an error you’re good.
Install DE and Windows Manager Link to heading
Now to enable our machine to access the network, let’s enable the network manager service:
sudo systemctl enable NetworkManager
Now we need to install and configure grub (even though we already installed it above? I’m not sure about this):
sudo grub-install /dev/sda
Then we need to configure grub:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Now everything should work, exit, unmount and reboot:
exit
umount -a
reboot
You should land on a grub boot menu which should boot on the arch linux you just installed, you’ll see that there is no graphical server yet, it’s only command line. To install KDE-plasma with gdm
:
sudo pacman -S plasma gdm
sddm
will be installed anyway because it’s some sort of dependency but you don’t need to enable it. Just before launching the graphics, we’ll add a few packages:
sudo pacman -S konsole kate firefox
And now enable gdm
:
sudo systemctl enable –now gdm
And you should land on the gdm page. Click on your user and you should see appear a gear icon at the bottom right, click on it and select “plasma X11” in order to not launch the default “gnome” DE. Once you’re in, you’ll be hassled by the keyboard layout again, go ahead and change that.
loadkeys fr
And normally not anymore after that.
Conclusion Link to heading
I hope you’ve made it this far safely! If everything works, congratulations! You can now strut around all the forums writing “I run arch btw.” If you’re one of the many unlucky people for whom it didn’t work the first time, you’re not alone! Try to redo all the steps carefully. This kind of tutorial is highly dependent on your computer, the different ISO file versions, memory type, etc. This isn’t a “skill issue.”
Sorry if it didn’t work for you. You can check out the many forums on this topic (mainly English-speaking unfortunately), Reddit, StackOverflow, etc. Good luck! Please let me know if this tutorial worked for you or if I should update it.
See you soon!