Skip to content

2025#

How I install Arch Linux, not using the guided installation script: A beginner-friendly tutorial

Abstract

Guiding through the process of installing Arch Linux, encrypting the disks with LUKS, abstracting away the storage with LVM, using BTRFS subvolumes, with an optional step for replacing mkinitcpio with dracut for generating initramfs images.

There already are many guides out there for how to install Arch Linux, on YouTube in video form and in written form. I watched most if not all videos that someone doing a simple Google/YouTube search would find. Here I present to you what I compiled after watching all of them, and after reading the official installation guide on the ArchWiki in 2026. I present to you a "best of", so to speak, after gathering from each consulted resource what it had to offer and after removing/updating commands that are now obsolete or no longer best practice (like installing the (U)EFI applications within /boot/efi rather than in /efi).

My goal in particular is to explain each command and not just to show it. Otherwise you might be right in questioning why the world needed yet another installation guide. While I give my best to explain every command and keep this tutorial beginner-friendly, I will teach you advanced and very advanced Linux concepts from which you don't need to shy away after my explanations, that I didn't see covered in most of the existing resources other than the ArchWiki. I make the case that a written guide is more appropriate than a guide in video form, simply because you don't have to pause or rewind every few seconds as with a video.

If the terminal command clear doesn’t work in SSH sessions when using Ghostty

I use Ghostty as my terminal emulator. I also sometimes connect to remote machines via SSH.

When I type, for example, the command clear into Ghostty during a SSH session, I receive the following error:

'xterm-ghostty': unknown terminal type.

This means that the environment variable TERM has been set to xterm-ghostty by Ghostty, but the remote machine doesn’t recognize this value of TERM. Ghostty isn’t a terminal emulator that your server knows. Read on to learn how to solve this problem.