diff --git a/arch.md b/arch.md index 111d030..9390317 100644 --- a/arch.md +++ b/arch.md @@ -1,5 +1,27 @@ # Arch with Gnome + + +- [Arch with Gnome](#arch-with-gnome) + - [Installation](#installation) + - [Post Install](#post-install) + - [TPM2 LUKS Decryption](#tpm2-luks-decryption) + - [Fingerprint Reader Support](#fingerprint-reader-support) + - [Bluetooth](#bluetooth) + - [Audio](#audio) + - [RDP Remote Desktop](#rdp-remote-desktop) + - [Virtualization](#virtualization) + - [CUPS Printing](#cups-printing) + - [Steam](#steam) + - [Help](#help) + - [Update Grub](#update-grub) + - [Downgrading Kernel](#downgrading-kernel) + - [Packages](#packages) + - [Official](#official) + - [AUR](#aur) + + + ## Installation Follow most of the instructions here: @@ -47,11 +69,11 @@ Follow most of the instructions here: 20. `echo 'LANG=en_US.UTF-8' > /etc/locale.conf` 21. `echo 'hostname' > /etc/hostname` 22. `pacman -S grub` -23. `grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB` (this will fail) +23. `grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=BOOT` (this will fail) 24. Note: for some systems you'll have to move grubx64.efi into an expected location: ```bash - cp /boot/EFI/grub/grubx64.efi /boot/EFI/boot/bootx64.efi + cp /boot/EFI/BOOT/grubx64.efi /boot/EFI/BOOT/bootx64.efi ``` 25. `pacman -S vim` @@ -60,6 +82,9 @@ Follow most of the instructions here: ```conf GRUB_CMDLINE_LINUX="quiet splash rd.luks.uuid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" GRUB_ENABLE_CRYPTODISK=y + GRUB_DISABLE_SUBMENU=y + GRUB_DEFAULT=saved + GRUB_SAVEDEFAULT=true ``` 27. Edit /etc/mkinitcpio.conf and set up systemd/sd-encrypt @@ -82,33 +107,32 @@ Follow most of the instructions here: 39. `mkdir /home/ducoterra` 40. `chown ducoterra:ducoterra /home/ducoterra` 41. `exit` -42. `umount /mnt/boot` -43. `umount /mnt` -44. `reboot` +42. `reboot` ## Post Install +Set up locale with correct information (required for certain binaries like minecraft-launcher) + 1. `vim /etc/locale.gen` Uncomment the line: en_US.UTF-8 UTF-8 - - And run `sudo locale-gen` + +2. `sudo locale-gen` + +### TPM2 LUKS Decryption 2. `pacman -S tpm2-tss` 3. `systemd-cryptenroll /dev/vda2 --wipe-slot=tpm2 --tpm2-device=auto --tpm2-pcrs=""` -4. Change /etc/default/grub to save previous selection - ```conf - GRUB_DISABLE_SUBMENU=y - GRUB_DEFAULT=saved - GRUB_SAVEDEFAULT=true - ``` -5. sudo grub-mkconfig -o /boot/grub/grub.cfg -6. Enable fingerprint terminal login but prompt for password first (enter switches to prompt for fingerprint) +### Fingerprint Reader Support + +1. `sudo pacman -S fprintd` +2. `sudo systemctl enable --now fprintd` +3. Enable fingerprint terminal login but prompt for password first (enter switches to prompt for fingerprint) - sudo vim /etc/pam.d/system-auth and at the top of the file: + sudo vim sudo vim /etc/pam.d/sudo and at the top of the file: ```conf # fingerprint auth @@ -116,15 +140,93 @@ Follow most of the instructions here: auth sufficient pam_fprintd.so ``` -7. `sudo pacman -S bluez bluez-utils` -8. `sudo systemctl enable --now bluetooth` -9. `sudo pacman -S pipewire-pulse` (remove conflicting packages) +### Bluetooth -## Kernel Updates +1. `sudo pacman -S bluez bluez-utils` +2. `sudo systemctl enable --now bluetooth` -1. pacman -S linux linux-headers -2. `grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB --modules="tpm" --disable-shim-lock` -3. `cp /boot/EFI/GRUB/grubx64.efi /boot/EFI/boot/bootx64.efi` +### Audio + +Without pipewire-pulse the audio level/device will reset every reboot. + +1. `sudo pacman -S pipewire-pulse` (remove conflicting packages) + +### RDP Remote Desktop + +1. `sudo pacman -S remmina freerdp` + +### Virtualization + +1. Install virtualization capabilties + + ```bash + sudo pacman -S qemu-full + sudo pacman -S libvirt + sudo pacman -S iptables-nft dnsmasq + sudo pacman -S virt-manager qemu-desktop + sudo usermod -aG libvirt ducoterra + sudo virsh net-autostart default + ``` + +2. Edit /etc/libvirt/libvirtd.conf + + ```conf + ... + unix_sock_group = 'libvirt' + ... + unix_sock_rw_perms = '0770' + ... + ``` + +3. Edit /etc/libvirt/qemu.**conf** + + ```conf + # Some examples of valid values are: + # + # user = "qemu" # A user named "qemu" + # user = "+0" # Super user (uid=0) + # user = "100" # A user named "100" or a user with uid=100 + # + user = "ducoterra" + + # The group for QEMU processes run by the system instance. It can be + # specified in a similar way to user. + group = "ducoterra" + ``` + +4. `systemctl enable --now libvirtd` + +### CUPS Printing + +12. `sudo pacman -S cups avahi` +14. `sudo vim /etc/nsswitch.conf` + + ```conf + hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns + ``` + +15. `sudo systemctl start cups` +16. `sudo systemctl start avahi-daemon` + +### Steam + + + +When prompted, use vulkan-radeon + + +## Help + +### Update Grub + +1. `grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=BOOT` +1. `cp /boot/EFI/BOOT/grubx64.efi /boot/EFI/BOOT/bootx64.efi` + +### Downgrading Kernel + +1. `cd /var/cache/pacman/pkg` +2. `pacman -U linux-x.x.x.arch1-1-x86_64.pkg.tar.zst linux-headers-x.x.x.arch1-1-x86_64.pkg.tar.zst` +3. `reboot` ## Packages @@ -149,17 +251,14 @@ Follow most of the instructions here: | git | git | | fprintd | fingerprint reader capability | | tlp | power management | -| bluez | bluetooth | -| bluetoothctl | bluetooth | +| bluez | bluetooth | +| bluetoothctl | bluetooth | +| cups | cups printing daemon | +| avahi | .local address resolution | +| cups-pdf | ipp support for printers | ### AUR | name | purpose | | ---------------- | -------------------------------- | | appimagelauncher | AppImage launcher and integrator | - -## Steam - - - -When prompted, use vulkan-radeon