Skip to content

Latest commit

 

History

History

archinstall

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Arch Installation Procedure

Introduction

archinstall is a guided/automated ArchLinux installer. This repository contains scripts and configuration that I use with archinstall to set up ArchLinux on desktop or server.

How to

  • Boot from ArchLinux ISO

  • Install git and archinstall. You can also use the latest version of archinstall by cloning it.

pacman -Sy archinstall git
pacman -Sy git
git clone https://github.com/archlinux/archinstall
  • Clone dotfiles repository:
git clone https://github.com/1995parham/dotfiles
cd dotfiles/archinstall
  • Partitioning using fstab. (please remember to create boot partition with EFI System label). You can also skip this step and then do it in archinstall TUI.

  • Create Filesystem using e.g. mkfs.fat -F32, mkfs.btrfs. Again you can skip this step and then do it in archinstall TUI.

  • Enable NTP. It is a required step because incorrect time may cause issue with HTTPS mirrors.

datetimectl set-ntp true
  • Ignite the installation. It first shows an interactive menu in which you can set up the disk layout, disk encryption, user(s) and hostname (read more).
cd archinstall/archinstall && python __main__.py --config desktop.json # Desktop installation
cd archinstall/archinstall && python __main__.py --config server.json # Server installation
archinstall --config desktop.json # Desktop installation
archinstall --config server.json # Server installation

Notes

Seat

On Arch Linux, Sway can get access to your seat using either

  • systemd-logind(8) and polkit
  • seatd, which will be installed alongside Sway as a dependency of wlroots.

If polkit is already installed on your system, Sway should automatically get access to your seat. Alternatively, if polkit is not installed on your system, and you want to use seatd instead, add yourself to the seat user group and enable/start seatd.service, re-log.

BTRFS Sub-Volumes

BTRFS sub-volumes are awesome, and you can use the following layout (coming from Ubuntu and Fedora):

Name Mount Point
@ /
@home /home
@log /var/log
@pkg /var/cache/pacman/pkg
@.snapshots /.snapshots
@images /var/lib/libvirt/images

Please note that, you need to set the wipe flag of the BTRFS partition to true for sub-volume creation to work.

Issues

Encrypting an entire system Fixed

In release 2023.04.01 disk encryption (read more) leads to invalid boot configuration, and you need to mount root directory manually in initramfs e.g.:

cryptsetup open /dev/sda2 root
mount /dev/mapper/root /mnt

For fixing it you must change the loader configuration in /boot/loader/entries/ as follows:

  • The encrypted disk PARTUUID is correct, so you may not change it, or you can replace it with your partition UUID (e.g. lsblk -dno UUID /dev/nvme0n1p2)

  • The root disk PARTUUID is not correct (this is the actual problem) and you need to replace it with your decrypted disk UUID (e.g. lsblk -dno UUID /dev/mapper/luksdev)

Systemd 254.2 Bug

This bug causes issue in user creation and systemd-boot installation. During the fix procedure you cannot do anything, but after fix you can upgrade systemd on both ISO and installation (using testing repositories) and have successful installation.