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!