My personally preferred way of installing Arch Linux using KDE Plasma with encrypted Btrfs, systemd-boot and UEFI.
Go to file
martin schmidt 05faa46498 Update README.md 2022-01-12 14:54:51 +00:00
README.md Update README.md 2022-01-12 14:54:51 +00:00

README.md

Simple, modern and secure installation of Arch Linux with KDE Plasma.

Load the preferred keyboard. In my case it's "de" for Germany.

$ loadkeys de

List devices to make sure you partition the right device.

$ lsblk

Partition the device using gdisk (assuming /dev/sda).

$ gdisk /dev/sda

Create GPT and EFI-partion.

$ o # Creates new GPT-partition table. $ y # Accept. $ n # New partition. $ +512M # 512 MB should be plenty for /boot. $ ef00 # Mark as EFI. $ n # New main partition, accept all the following using "y".

Print and check your partitions.

$ p

Write partitions to device.

$ w $ y # Accept.

Encrypt primary partition.

$ cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda2 $ YES

Open encrypted partition, map as "root" and create filesystem.

$ cryptseup luksOpen /dev/sda2 root $ mkfs.fat -F 32 -n UEFI /dev/sda1

-F specifies the type of file allocation tables used (12, 16 or 32 bit).

-n sets the volume name (label) of the filesystem to "UEFI".

Create ext4 filesystem on primary partition.

$ mkfs.ext4 /dev/mapper/root

Create mountpoints and mount partitions.

$ mount /dev/mapper/root /mnt $ mkdir /mnt/boot $ mount /dev/sda1 /mnt/boot

Optionally update mirrorlist using reflector.

In this case use the latest 10 mirrors from Germany, that have been synchronized within the last 24 hours and

sort the by download-rate and write them to the pacman mirrorlist.

$ reflector --verbose --latest 10 --country Germany --age 24 --sort rate --save /etc/pacman.d/mirrorlist

Install base system and basic packages (network, editor, sudo).

The package base-devel is not necessary but recommended.

$ pacstrap /mnt base base-devel linux linux-firmware networkmanager nano sudo

Generate fstab.

$ genfstab -Lp /mnt > /mnt/etc/fstab

-L = Use labels for source identifiers (shortcut for -t LABEL).

-p Exclude pseudofs mounts (default behavior).

Chroot into your installation.

$ arch-chroot /mnt

Set your hostname.

$ echo mycomputer > /etc/hostname

Generate locale.gen for your preferred language (and preferribly english).

$ nano /etc/locale.gen

Uncomment your language, e.g. de_DE.UTF-8 UTF-8 (and en_US.UTF-8).

Generate the locale.

$ locale-gen

Add necessary HOOKS and MODULES.

$ nano /etc/mkinitcpio.conf

MODULES=(ext4)

HOOKS=(base udev autodetect modconf block keyboard keymap encrypt filesystems fsck shutdown)

Create mkinitcpio.

$ mkinitcpio -p linux

Start NetworkManager for automatic network access on next boot.

$ systemctl enable NetworkManager

Set a root-password.

$ passwd

Install systemd-boot bootloader.

$ bootctl install

Create the bootloader config.

$ nano /bootloader/entries/arch.conf

Add the following:

title Arch Linux

linux /vmlinuz-linux

initrd /initramfs-linux.img

options cryptdevice=/dev/sda2:root root=/dev/mapper/root rw lang=de init=/usr/lib/systemd/systemd locale=de_DE.UTF-8

Create a fallback config.

$ cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-fallback.conf

Edit the fallback config.

$ nano /boot/loader/entries/arch-fallback.conf

Change it to the following:

title Arch Linux Fallback

initrd /initramfs-linux-fallback.img

Edit loader config.

$ nano /boot/loader/loader.conf

Change it to the following:

timeout 1

default arch.conf

Exit and reboot

$ exit $ umount /mnt/boot $ reboot

Enter encryption-password and login as root.

Set the keyboard to your preferred language permantently.

$ echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf

Create a user with a /home-directory.

$ useradd -m myusername

Set password for your user.

$ passwd myusername

Add myusername to group wheel for sudo access.

$ gpasswd -a myusername wheel

Edit sudoers-file for sudo access.

$ nano /etc/sudoers

Uncomment „%wheel ALL=(ALL) ALL“

Logout as root.

$ exit

Login as you user.

Install SDDM and a minimal KDE Plasma.

$ pacman -S sddm sddm-kcm plasma-desktop

Install KDE terminal for easier installation of packages in Plasma.

$ pacman -S konsole

Enable and start SDDM to login to Plasma.

$ systemctl enable sddm $ systemctl start sddm

Now you are logged in to your Plasma desktop environment and ready to configure and use your Arch Linux.

Suggested packages to install.

microcode (https://wiki.archlinux.org/index.php/Microcode)

kde-gtk-config (Adds graphical settings for GTK apps.)

kdeplasma-addons („All kind of addons to improve your Plasma experience.“)

kscreen (Adds screen section to graphical settings.)

ksystemlog (Graphical system log viewer)

partitionmanager (Graphical partition manager)

plasma-nm (Network manager applet)

plasma-pa (Audio manager applet)

powerdevil (Adds energy manager to graphical settings.)

spectacle (Graphical screenshot tool.)

systemd-swap (https://wiki.archlinux.org/index.php/swap#systemd-swap)