Update README.md

This commit is contained in:
martin schmidt 2022-01-12 15:01:54 +00:00
parent a1dd6bce93
commit fb369e84d3
1 changed files with 77 additions and 70 deletions

147
README.md
View File

@ -9,7 +9,7 @@ $ lsblk
**Partition the device using gdisk (assuming /dev/sda).** **Partition the device using gdisk (assuming /dev/sda).**
$ gdisk /dev/sda $ gdisk /dev/sda
Create GPT and EFI-partion. **Create GPT and EFI-partion.**
$ o # _Creates new GPT-partition table._ $ o # _Creates new GPT-partition table._
$ y # _Accept._ $ y # _Accept._
$ n # _New partition._ $ n # _New partition._
@ -17,152 +17,159 @@ $ +512M # _512 MB should be plenty for /boot._
$ ef00 # _Mark as EFI._ $ ef00 # _Mark as EFI._
$ n # _New main partition, accept all the following using "y"._ $ n # _New main partition, accept all the following using "y"._
Print and check your partitions. **Print and check your partitions.**
$ p $ p
Write partitions to device. **Write partitions to device.**
$ w $ w
$ y # _Accept._ $ y # _Accept._
# Encrypt primary partition. **Encrypt primary partition.**
$ cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda2 $ cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda2
$ YES $ YES
# Open encrypted partition, map as "root" and create filesystem. **Open encrypted partition, map as "root" and create filesystem.**
$ cryptseup luksOpen /dev/sda2 root $ cryptseup luksOpen /dev/sda2 root
$ mkfs.fat -F 32 -n UEFI /dev/sda1 $ mkfs.fat -F 32 -n UEFI /dev/sda1
# -F specifies the type of file allocation tables used (12, 16 or 32 bit). **-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". **-n sets the volume name (label) of the filesystem to "UEFI".**
# Create ext4 filesystem on primary partition. **Create ext4 filesystem on primary partition.**
$ mkfs.ext4 /dev/mapper/root $ mkfs.ext4 /dev/mapper/root
# Create mountpoints and mount partitions. **Create mountpoints and mount partitions.**
$ mount /dev/mapper/root /mnt $ mount /dev/mapper/root /mnt
$ mkdir /mnt/boot $ mkdir /mnt/boot
$ mount /dev/sda1 /mnt/boot $ mount /dev/sda1 /mnt/boot
# Optionally update mirrorlist using reflector. **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. **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 $ reflector --verbose --latest 10 --country Germany --age 24 --sort rate --save /etc/pacman.d/mirrorlist
# Install base system and basic packages (network, editor, sudo). **Install base system and basic packages (network, editor, sudo).**
# The package base-devel is not necessary but recommended. **The package base-devel is not necessary but recommended.**
$ pacstrap /mnt base base-devel linux linux-firmware networkmanager nano sudo $ pacstrap /mnt base base-devel linux linux-firmware networkmanager nano sudo
# Generate fstab. **Generate fstab.**
$ genfstab -Lp /mnt > /mnt/etc/fstab $ genfstab -Lp /mnt > /mnt/etc/fstab
# -L = Use labels for source identifiers (shortcut for -t LABEL). **-L = Use labels for source identifiers (shortcut for -t LABEL).**
# -p Exclude pseudofs mounts (default behavior). **-p Exclude pseudofs mounts (default behavior).**
# Chroot into your installation. **Chroot into your installation.**
$ arch-chroot /mnt $ arch-chroot /mnt
# Set your hostname. **Set your hostname.**
$ echo mycomputer > /etc/hostname $ echo mycomputer > /etc/hostname
# Generate locale.gen for your preferred language (and preferribly english). **Generate locale.gen for your preferred language (and preferribly english).**
$ nano /etc/locale.gen $ nano /etc/locale.gen
# Uncomment your language, e.g. de_DE.UTF-8 UTF-8 (and en_US.UTF-8). **Uncomment your language, e.g. de_DE.UTF-8 UTF-8 (and en_US.UTF-8).**
# Generate the locale. **Generate the locale.**
$ locale-gen $ locale-gen
# Add necessary HOOKS and MODULES. **Add necessary HOOKS and MODULES.**
$ nano /etc/mkinitcpio.conf $ nano /etc/mkinitcpio.conf
# MODULES=(ext4) **MODULES=(ext4)**
# HOOKS=(base udev autodetect modconf block keyboard keymap encrypt filesystems fsck shutdown) **HOOKS=(base udev autodetect modconf block keyboard keymap encrypt filesystems fsck shutdown)**
# Create mkinitcpio. **Create mkinitcpio.**
$ mkinitcpio -p linux $ mkinitcpio -p linux
# Start NetworkManager for automatic network access on next boot. **Start NetworkManager for automatic network access on next boot.**
$ systemctl enable NetworkManager $ systemctl enable NetworkManager
# Set a root-password. **Set a root-password.**
$ passwd $ passwd
# Install systemd-boot bootloader. **Install systemd-boot bootloader.**
$ bootctl install $ bootctl install
# Create the bootloader config. **Create the bootloader config.**
$ nano /bootloader/entries/arch.conf $ nano /bootloader/entries/arch.conf
# Add the following: **Add the following:**
# title Arch Linux ```
# linux /vmlinuz-linux title Arch Linux
# initrd /initramfs-linux.img linux /vmlinuz-linux
# options cryptdevice=/dev/sda2:root root=/dev/mapper/root rw lang=de init=/usr/lib/systemd/systemd locale=de_DE.UTF-8 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.
**Create a fallback config.**
$ cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-fallback.conf $ cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-fallback.conf
# Edit the fallback config. **Edit the fallback config.**
$ nano /boot/loader/entries/arch-fallback.conf $ nano /boot/loader/entries/arch-fallback.conf
# Change it to the following: **Change it to the following:**
# title Arch Linux Fallback ```
# initrd /initramfs-linux-fallback.img title Arch Linux Fallback
initrd /initramfs-linux-fallback.img
```
# Edit loader config. **Edit loader config.**
$ nano /boot/loader/loader.conf $ nano /boot/loader/loader.conf
Change it to the following: **Change it to the following:**
# timeout 1 ```
# default arch.conf timeout 1
default arch.conf
```
# Exit and reboot **Exit and reboot.**
$ exit $ exit
$ umount /mnt/boot $ umount /mnt/boot
$ reboot $ reboot
# Enter encryption-password and login as root. **Enter encryption-password and login as root.**
# Set the keyboard to your preferred language permantently. **Set the keyboard to your preferred language permantently.**
$ echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf $ echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf
# Create a user with a /home-directory. **Create a user with a /home-directory.**
$ useradd -m myusername $ useradd -m myusername
# Set password for your user. **Set password for your user.**
$ passwd myusername $ passwd myusername
# Add myusername to group wheel for sudo access. **Add $myusername to group wheel for sudo access.**
$ gpasswd -a myusername wheel $ gpasswd -a $myusername wheel
# Edit sudoers-file for sudo access. **Edit sudoers-file for sudo access.**
$ nano /etc/sudoers $ nano /etc/sudoers
# Uncomment „%wheel ALL=(ALL) ALL“ **Uncomment „%wheel ALL=(ALL) ALL“-**
# Logout as root. **Logout as root.**
$ exit $ exit
# Login as you user. **Login as you user.**
# Install SDDM and a minimal KDE Plasma. **Install SDDM and a minimal KDE Plasma.**
$ pacman -S sddm sddm-kcm plasma-desktop $ pacman -S sddm sddm-kcm plasma-desktop
# Install KDE terminal for easier installation of packages in Plasma. **Install KDE terminal for easier installation of packages in Plasma.**
$ pacman -S konsole $ pacman -S konsole
# Enable and start SDDM to login to Plasma. **Enable and start SDDM to login to Plasma.**
$ systemctl enable sddm $ systemctl enable sddm
$ systemctl start sddm $ systemctl start sddm
# Now you are logged in to your Plasma desktop environment and ready to configure and use your Arch Linux. **Now you are logged in to your Plasma desktop environment and ready to configure and use your Arch Linux.**
# Suggested packages to install. **Suggested packages to install.**
# microcode (https://wiki.archlinux.org/index.php/Microcode) - microcode (https://wiki.archlinux.org/index.php/Microcode)
# kde-gtk-config (Adds graphical settings for GTK apps.) - kde-gtk-config (Adds graphical settings for GTK apps.)
# kdeplasma-addons („All kind of addons to improve your Plasma experience.“) - kdeplasma-addons („All kind of addons to improve your Plasma experience.“)
# kscreen (Adds screen section to graphical settings.) - kscreen (Adds screen section to graphical settings.)
# ksystemlog (Graphical system log viewer) - ksystemlog (Graphical system log viewer)
# partitionmanager (Graphical partition manager) - partitionmanager (Graphical partition manager)
# plasma-nm (Network manager applet) - plasma-nm (Network manager applet)
# plasma-pa (Audio manager applet) - plasma-pa (Audio manager applet)
# powerdevil (Adds energy manager to graphical settings.) - powerdevil (Adds energy manager to graphical settings.)
# spectacle (Graphical screenshot tool.) - spectacle (Graphical screenshot tool.)
# systemd-swap (https://wiki.archlinux.org/index.php/swap#systemd-swap) - systemd-swap (https://wiki.archlinux.org/index.php/swap#systemd-swap)