Tldr:
What I am trying to do → enable hugepages, possibly use the generic kernel instead of the rpi one.
Hardware: pi5 8gb, argon40 M2 case latest model
What I have tried
I started by just sudo pacman -S linux-aarch64 linux-aarch64-headers and this broke my pi in a spectacular way. I have a argon40 nvme case with endeavoros installed to the nvme. I first had to install to a sd card then dd the image to the nvme then remove the SD card. So I have a working setup SD card on me.
I install to nvme. Remove SD card. Install generic kernel, package manager tells me it’s going to remove rpi kernel and headers since those are in conflict. Cool sounds good. I reboot.
This broke everything. Impressively badly.
When I rebooted I got the standard pi bootloader screen as though you don’t have an os installed. Ok fair, I created a unbootable kernel. Let me plug in the SD card since that has a known working system and I’ll chroot and remove the generic kernel and bring back the rpi kernel.
Nope.avi.mkv.exe
Although the pi boot priority is the SD card HAVEING THE M2 PLUGGED IN causes it to hang in the boot process before it loads gpu driver and you continue booting with the smaller font before it gives you a welcome screen.
Basically now I need a USB m.2 or plug the M2 into another PC unless there is a way to make the SD card ignore the M2. Not a super big issue but was surprising I was able to break this so badly. XD.
Ok so generic kernel is out even though I see patches from 6mo ago that added pi 5 boot support.
https://lore.kernel.org/linux-arm-kernel/20240510-overreact-snare-05566341fd37@spud/T/
I’m confused is this not merged? If so is it merged in 6.14rc or Linux-next? I tried to find aur packages for those kernels so I could build and install those but I don’t see a aur package for these.
So now I’m thinking ok maybe I need to compile the rpi kernel with hugepages support since I can’t boot the generic kernel. How would I do that? The rpi kernel is compiled with hugepages configured out. It also has 8 numa nodes which is kind of a problem because I need my numa aware application not to try to allocate 2GB x 8 numa nodes and get killed by the system since it (tried) to allocate 16Gb of ram when I have 8Gb of ram (~7GB free). I either need to figure out how to make that app ignore numa or stop the device from creating 8 fake numa nodes since dmesg says fakenuma=8.
I can read the directions on rpi and adapt them to arch a bit but I’m concerned I’ll not have the .dtbs and boot setup properly again.
Any advise is appreciated
Tldr I’m confused as to if mainline kernel booting support works with pi and how to have pacman not wreck my boot partition when installing the generic kernel OR I need to figure out how to compile the rpi kernel with hugepages on.