ArchLinux (Re-)Installation

My current install is getting old (5+ years) and I thought it might be a good idea to start from scratch.

Obviously I follow the Installation Guide as if my life depends on it; this document is for additional notes.

These notes are for an MBR/BIOS install with full system encryption.

Before you start-up-

Get a list of all installed packages from your current system:
pacman -Q > pkglist
Get a list of explicitely installed packages:
pacman -Qe > pkglist_explicit

Copy your dotfiles into a repository.

Partition the disks-up-

I am opting for system encryption as described here.
Leave the last two chapters (Configuring mkinitcpio and bootloader) for later and return to the main article.
After editing the mirrorlist, it's time to install the base system:

# pacstrap /mnt base linux-lts linux-firmware lvm2 nano man-db man-pages dhcpcd syslinux

And continue with the main article until Initramfs. Now it's time to remember this chapter.

Swap - Suspend (Hibernate) and Resume-up-

The swap partition is inside the only (encrypted) volume group. I want to be able to use it for suspend and resume. The topic is mentioned here, leading me here.

  • First of all, make sure it's in /etc/fstab. I couldn't figure out what its UUID would be, so I used something like /dev/mapper/myVolGroup/swap
  • I also append resume=/dev/mapper/myVolGroup/swap to the bootloader's linux command line.
  • I add the resume hook after the encrypt hook in /etc/mkinitcpio.conf.

For a bootloader I choose syslinux(*). It seems necessary to edit /boot/syslinux/syslinux.cfg accordingly even after the Automatic install.


Into the encrypted system. There's no internet. We forgot to

# systemctl start dhcpcd
# systemctl status dhcpcd
(gives error messages about the still unconfigured wifi interface, but wired should be OK)
# systemctl enable dhcpcd

General Recommendations-up-

This is really the bigger part of the installation process.

Follow the articles one by one.

Eventually it is time to install a busload of packages. Once again, I opt for a simple Openbox environment without a display manager.

Reconstructed with grep pacman /var/log/pacman.log:

# pacman -Syu sudo ttf-ibm-plex ttf-opensans openbox python-xdg xorg-xinit xorg-server xorg-xfontsel rxvt-unicode terminus-font obconf lxappearance xfce4-power-manager tint2 dmenu pcmanfm network-manager-applet

That last one pulls in network-manager which requires me to

# systemctl disable dhcpcd
# systemctl enable NetworkManager
# reboot

If you created a user as per General Recommendations you should now log in as that. If you like Xorg you can create a (temporary) ~/.xinitrc and startx.

Almost usable-up-

Next we have to move some dotfiles over to the new system lest we reinvent the wheel.


(*) Syslinux is not very multiboot-friendly, but it's possible with these instructions.