Artix Installation Guide

Installation

Artix Linux base with OpenRC

Drive configuration

fdisk

/dev/nvme0n1
- nvme0n1p1	512M	vfat
- nvme0n1p2	953G
/dev/sda
- sda1		3.6T
/dev/sdb
- sdb1		5.5T

mkfs.fat -F32 boot partition, mkfs.ext4 others

dm-crypt

cryptsetup luksFormat /dev/<partition>

cryptsetup open /dev/<partition> <mapper>

lvm

pvcreate /dev/mapper/<mapper>

vgcreate <volume> /dev/mapper/<mapper>

lvcreate -L 32G <volume> -n swap

lvcreate -L 50G <volume> -n root

lvcreate -l 100%FREE <volume> -n home

filesystem

mkfs.ext4 /dev/<volume>/root, home, etc

mkswap /dev/<volume>/swap

mounting

mount /dev/<volume>/<lvm> /mnt/

mount /dev/nvme0n1/nvme0n1p1 /mnt/boot

swapon /dev/<volume>/swap

nvme0n1
- nvme0n1p1          512M    /mnt/boot
- nvme0n1p2
-- cryptroot
--- lockbox-swap     32G      [SWAP]
--- lockbox-root     50G      /mnt
--- lockbox-home     871G     /mnt/home
sda
- sda1
-- cryptmedia
--- media-home       3.6T    (mounted later)
sdb
- sdb1
-- cryptvault
--- vault-home       5.5T    (mounted later)

Base installation

basestrap /mnt base base-devel openrc elogind-openrc linux linux-firmware vim lvm2 cryptsetup

rc-update add elogind

for yubikey, rc-update add pcscd

fstabgen -U /mnt >> /mnt/etc/fstab (will be run again if using multiple drives)

artix-chroot /mnt

Extra packages

pacman -S artix-archlinux-support

/etc/pacman.conf

#[testing]
#Include = /etc/pacman.d/mirrorlist-arch

[extra]
Include = /etc/pacman.d/mirrorlist-arch

#[community-testing]
#Include = /etc/pacman.d/mirrorlist-arch

[community]
Include = /etc/pacman.d/mirrorlist-arch

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist-arch

[multilib]
Include = /etc/pacman.d/mirrorlist-arch

pacman-key --populate archlinux

System configuration

Clock

ln -sf /usr/share/zoneinfo/<Region>/<City> /etc/localtime

hwclock --systohc

Locale

edit /etc/locale.gen, run locale-gen

/etc/locale.conf

LANG=en_US.UTF-8

mkinitcpio

hacky multi-drive solution

/etc/mkinitcpio.conf

HOOKS=base udev autodetect keyboard  keymap modconf block encrypt encrypt2 encrypt3 lvm2 filesystems fsck

mkinitcpio -P linux

Bootloader

pacman -S refind

refind-install

lsblk -f

edit refind_linux.conf

"Boot with standard options"	"lang=en_US keytable=us tz=UTC label=ARTIX_202104 cryptdevice=UUID=<UUID of nvme0n1p2>:<mapper> root=/dev/<volume>/root resume=/dev/<volume>/swap cryptdevice2=UUID=<UUID of sda1>:<mapper> cryptdevice3=UUID=<UUID of sdb1>:<mapper>"

git clone https://gitlab.com/perthshiretim/giant-wall-of-text and install (will need imagemagick)

Network

/etc/hostname -->

/etc/hosts

127.0.0.1	localhost
::1		localhost
127.0.1.1	<hostname>.localdomain	<hostname>

/etc/conf.d/hostname

hostname='<hostname>'

pacman -S dhcpcd networkmanager networkmanager-openrc

rc-update add NetworkManager

Users

passwd

useradd -m -G wheel <user>

passwd <user>

uncomment %wheel ALL=(ALL) ALL in /etc/sudoers

yay

git clone https://aur.archlinux.org/yay

cd yay

makepkg -si

drive mounting (multiple drives only)

sda
- sda1
-- cryptmedia
--- media-home       3.6T    /mnt/home/<user>/media
sdb
- sdb1
-- cryptvault
--- vault-home       5.5T    /mnt/home/<user>/vault

regenerate fstab