Skip to main content

Base Install

This blog is for my notes on setting up Arch from scratch to my liking. I use KDE Plasma as my desktop and my computers have a NVIDIA GPU (my Asus laptop also has an additional integrated GPU). I am not going to cover downloading the ISO, putting it on a USB, booting from the USB or running the Archinstall installer (selecting the Plasma desktop).

Get WIFI running
iwctl
station wlan0 connect xxxxxxx

May need: sudo mkfs -t ext4 /dev/nvme1n1 if you have btrfs on old installation

When running the arch installer:

1. Don't have a /home partition added! 
2. Don't forget desktop!
3. Install both linux and linux-zen kernels
4. Add additional packages:  wget git micro duf base-devel kde-applications

to log in the first time it may be helpful to create /usr/lib/modprobe.d/nvidia.conf with "options nvidia_drm modeset=1 fbdev=1"   (although cachyos-settings will overwrite later)

Apparmor 

  1. Add the following kernel parameters to your Boot Manager, see Boot Manager Configuration for reference

    lsm=landlock,lockdown,yama,integrity,apparmor,bpf
  2. Install apparmor and apparmord (Set of over +1500 profiles) packages

    Terminal window
    sudo pacman -S apparmor apparmor.d-git
  3. Enable/Start AppArmor service

    Terminal window
    systemctl enable --now apparmor.service
  4. Enable caching for AppArmor profiles

    /etc/apparmor/parser.conf
    ## Add the following lines:
    write-cache
    Optimize=compress-fast

    Save the file and reboot.

Example (/boot/limine.conf):

/boot/limine.conf
timeout: 5
default_entry: 2 # Points directly to the 'linux-cachyos' entry below
/+CachyOS # Entry 1: A directory (use /+ to expand by default)
//linux-cachyos # Entry 2: The actual bootable entry
protocol: linux
kernel_path: boot():/vmlinuz-linux-cachyos
cmdline: quiet splash root=UUID=... rw # Basic kernel parameters
module_path: boot():/initramfs-linux-cachyos.img

put apparmor kernel options after splash in cmdline:

Also:
Edit the configuration file: Modify the KERNEL_CMDLINE variables in /etc/default/limine. You can set default parameters for all kernels or specific parameters for certain kernel names (e.g., linux-cachyos).
/etc/default/limine
# Default parameters for most kernels
KERNEL_CMDLINE[default]="quiet splash rd.udev.log_priority=3"
# Specific parameters for the 'linux-cachyos' kernel
KERNEL_CMDLINE["linux-cachyos"]="quiet splash mitigations=off"
# Parameters for fallback entries (if generated)
# KERNEL_CMDLINE[fallback]="..."

Installing yay

sudo pacman -S --needed base-devel git 
cd ~/Downloads
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Snapper support:

  1. Create the file /etc/default/limine if it doesn’t already exist.
  2. Make sure to manually set ESP_PATH=/boot in this file.
  3. Try sudo limine-snapper-sync in a terminal, does it work?
  4. If works, enable the service systemctl enable --now limine-snapper-sync.service

yay -Syu btrfs-assistant 

Probably reboot and then run Btrfs-assistant

Gnome fractional scaling  
set org.gnome.mutter experimental-features '["scale-monitor-framebuffer"]' https://wiki.archlinux.org/title/HiDPI#Wayland

Warp terminal

download zst from preview site and do a sudo pacman U ./xxxx.zst file

Install cachyos mirrors

wget https://mirror.cachyos.org/cachyos-repo.tar.xz
tar xvf cachyos-repo.tar.xz && cd cachyos-repo
sudo ./cachyos-repo.sh

You will want to run Cachy's
sudo chwd -a 
to auto detect hardware

Install All Packages (from prior installs)

Using a previously created package list from prior installs (pacman -Qqet > pkglist.txt), type yay -S --needed --noconfirm  - < YOURPKGLIST.txt with the downloaded package list below.  Current list: https://gist.github.com/whelanh/28f620a1f0890d73f2be251344658f9a

Check if Nvidia really installed

sudo cat /sys/module/nvidia_drm/parameters/modeset
 
systemctl enable nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service

Install Cachyos kernel

yay -S systemd-boot-manager
yay -S cachyos-sysctl-manager
sudo sdboot-manage
Usage: /usr/bin/sdboot-manage [OPTIONS]... [ACTION]

Actions:
  gen     Generates entries for systemd-boot based on installed kernels
  remove  Removes orphaned systemd-boot entries
  setup   Installs systemd-boot and generate initial entries
  update  Updates systemd-boot

sudo pacman -S linux-cachyos linux-cachyos-headers
reboot
if you use systemd-boot-manager (in the Cachyos Repos....not AUR), it will create the boot entries for you
 



Comments

Popular posts from this blog

Install Windows 11 on Virt-Manager

 Virt-Manager will have been installed in base install.  But to enable it (make sure SVM, or whatever virtualization is called in your BIOS is enabled). From https://computingforgeeks.com/install-kvm-qemu-virt-manager-arch-manjar/ sudo pacman -S qemu-full virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat dmidecode ip tables libguestfs edk2-ovmf swtpm Then enable and start libritd.service sudo systemctl enable libvirtd.service sudo systemctl start libvirtd.service sudo micro /etc/libvirt/libvirtd.conf Set the UNIX domain socket group ownership to libvirt, (around line 85 ) unix_sock_group = "libvirt" Set the UNIX socket permissions for the R/W socket (around line 102 ) unix_sock_rw_perms = "0770" Add your user account to libvirt group.   sudo usermod -a -G libvirt $(whoami) newgrp libvirt Restart libvirt daemon. sudo systemctl restart libvirtd.service Section below is quoted directly from https://linustechtips.com/topic/1379063-windows-11-in-virt-mana...

Fedora Install Notes

  Many of the steps in setting up Fedora are the same as I do for Arch.  My preferred install is Fedora Rawhide.  You are better off with the default "Gnome" desktop than trying the KDE spin (seems to be the best integrated experience with few/no hardware/GPU issues). Helpful notes to me: Initial "get started" installs: sudo dnf in R bat btrfs-assistant cmake duf fastfetch fish fontawesome-fonts-all freetype-devel fribidi-devel gnome-extensions-app gnome-tweaks htop inxi java-latest-openjdk-devel jetbrains-mono-fonts kitty kmymoney lftp libcurl-devel libjpeg-turbo-devel libpng-devel libtiff-devel llvm-devel meson micro onedrive python3-colorama python3-ipykernel python3-pip python3-pyquery sqlitebrowser tcl8-devel tk8-devel typescript xsane zsh Snapper: do rollback: Use sudo snapper ls to list all available snapshots and their corresponding numbers. Note the number of the snapshot you want to revert to. Open a terminal and use the following command: sudo snapper ro...