ee5bd518d3 | ||
---|---|---|
README.md |
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