Sunday, July 12, 2026

Setup non-flat btrfs architecture on Arch Linux via CachyOS approach

 

The first phase follows exactly guidelines proposed in Bring CachyOS KDE Plasma 6.7.2 along with kernel 7.1.3 to Arch Linux  

Second phase was developed in collaboration with Google AI Assistant.
Goals achieved in second phase:
1. Package Independence: Installing only btrfs-assistant  and grub-btrfs completely bypasses the CachyOS              configuration meta-packages, keeping Limine off.
2. Predictable mkinitcpio Execution: Cleaning the              BOOTX64.EFI fallback slots before running                        mkinitcpio -P ensures  that the subsequent grub-install    execution writes a clean binary to an empty path.                3.Precise Target Identification:
Pointing --efi-directory directly to /boot accurately reflects 1 GB default FAT32 layout . 

$ sudo pacman -S --noconfirm btrfs-assistant grub-btrfs

Systemd, sd-vconsole switches the initramfs boot environment from a classic BusyBox script setup over to a systemd-managed process.

The systemd hook completely replaces both base and udev. It builds an initramfs that starts a mini-systemd instance to handle device discovery and orchestration instead of relying on older BusyBox shell scripts. Without base, you drop the traditional BusyBox emergency recovery shell. If the system undergoes a catastrophic boot failure, you will instead drop into a systemd-managed emergency shell. Because microcode is listed after autodetect in your configuration,
mkinitcpio will only pack the microcode matching your specific local processor model. If you had placed it before autodetect, it would build a universal image containing every Intel and AMD microcode patch available. This permits you to completely strip out any initrd=...-ucode.img references out of your bootloader configuration (like systemd-boot or GRUB) because the microcode is safely nested directly inside the unified image. HOOKS below represents a modern, optimized, pure systemd-based initramfs layout that strips away legacy configuration defaults

$ sudo sed -i 's/^HOOKS=(.*/HOOKS=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck)/' /etc/mkinitcpio.conf
###  Clean up ######
$ sudo rm -f /boot/EFI/BOOT/BOOTX64.EFI
$ sudo rm -f /boot/EFI/BOOT/bootx64.efi
#################
$ sudo mkinitcpio -P
$ sudo grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck
$ sudo grub-install --target=x86_64-efi --efi-directory=/boot --removable --recheck ( required only in VENV )
$ sudo systemctl enable --now grub-btrfsd.service
$ sudo grub-mkconfig -o /boot/grub/grub.cfg 

No comments:

Post a Comment