commit be3eebae8074f369d67c6c0ca8973a85ce56a104 Author: martin schmidt Date: Wed Jan 27 12:54:38 2021 +0000 Update Installation diff --git a/Installation b/Installation new file mode 100644 index 0000000..2bf3527 --- /dev/null +++ b/Installation @@ -0,0 +1,169 @@ +### 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. + +# Encryp 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)