2 Arch Linux
Tibo De Peuter edited this page 2023-11-26 08:42:08 +01:00

Arch Linux

Installation

Attach ArchLinux boot key. Boot.

Set the keyboard layout to Azerty.

# loadkeys be-latin1

Connect to the internet.

# iwctl
[iwd]# station wlan0 connect <network>

Escape the menu with ^D. Automatically update the time.

# timedatectl set-ntp true

Format the disk.

# fdisk -l 
# fdisk /dev/sda
: g
: n, 1, _, +1G
: t, 1, 1
: n, 2, _, +8G
: t, 2, 19
: n, 3, _, _
: w

# pvcreate /dev/sda3
# vgcreate MyGroup /dev/sda3
# lvcreate -l +100%FREE MyGroup -n MyVolume

# mkfs.ext4 /dev/MyGroup/MyVolume
# mkswap /dev/sda2
# mkfs.fat -F 32 /dev/sda1

# mount /dev/MyGroup/MyVolume /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot

Enable swap.

# swapon /dev/sda2

Install the kernel. Also install keyring because keys will be needed.

# pacman -Sy archlinux-keyring
# pacstrap /mnt base linux linux-firmware

Make the mounts persistent.

# genfstab -U /mnt >> /mnt/etc/fstab

Configure the system.

# arch-chroot /mnt
# ln -sf /usr/share/zoneinfo/Europe/Brussels /etc/localtime
# hwclock --systohc
# locale-gen
# echo "LANG=en_GB.UTF-8" >> /etc/locale.conf
# echo "KEYMAP=be-latin1" >> /etc/vconsole.conf
# echo "Laptop-Tibo" >> /etc/hostname

Enable hibernation.

# lsblk
# echo "8:2" > /sys/power/resume

Create initial ramdisk environment.

# pacman -S vim lvm2
# vim /etc/mkinitcpio.conf

Change the file to match the following line:

HOOKS=(base udev autodetect modconf block lvm2 filesystems resume keyboard fsck)

# mkinitcpio -P

Generate root password.

# passwd

Configure boot manager. Also enable hibernation.

# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
# vim /etc/default/grub

Change the file to match the following lines:

GRUB_TIMEOUT=0

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet resume=/dev/sda2"

GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"

# grub-mkconfig -o /boot/grub/grub.cfg

Add the default user (me).

# useradd -m -G wheel,users,input,video tdpeuter
# passwd tdpeuter

Make the system automatically log into that user.

# sudo mkdir -p /etc/systemd/system/getty@tty1.service.d
# sudo vim /etc/systemd/system/getty@tty1.service.d/autologin.conf

Contents of the file:

[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin tdpeuter - $TERM

Install sudo.

# pacman -S sudo
# visudo

In the file that comes up, uncomment the following line: %wheel ALL=(ALL:ALL) ALL

Install a networkmanager so you have bloody internet when you reboot (otherwise rendering your device utterly useless).

# pacman -S networkmanager

Escape fakeroot with ^D.

Finally,

# reboot

Users

Set paralell downloads.

$ sudo vim /etc/pacman.conf

Uncomment the following line.

ParallelDownloads = 5

Install connection applications.

$ sudo pacman -S network-manager-applet blueman
$ sudo pacman -S pulseaudio pulseaudio-alsa pulseaudio-bluetooth

Setup a desktop environment.

$ sudo pacman -S sway swayidle waybar alacritty

Install yay for easy package management.

$ sudo pacman -S base-devel git
$ cd /opt
$ sudo git clone https://aur.archlinux.org/yay.git
$ sudo chown -R ${username}:users ./yay
$ cd yay
$ makepkg -si
$ yay swaylock-effects-git
$ yay mako
$ yay wlsunset
$ yay fuzzel
$ yay firefox

Configuration

Put the files from the repository in the appropriate places, or cherry pick the ones you want to use on your system.

If you are using stow you can put them in place easily with the appropriate command.