Monday, November 20, 2023

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
 



No comments:

Post a Comment

Getting rtcwake working on Bluefin

#!/bin/bash # User systemd setup for auto suspend/wake on Bluefin #Please run these two commands manually: #1. First, create the sudo rule: ...