On Wednesday 18 December 2024 14:30:12 GMT Peter Humphrey wrote: > On Wednesday 18 December 2024 12:13:59 GMT Alan Mackenzie wrote: > > I've been having fun with systemd-boot. > > I've been using bootctl from systemd-utils for some years; ever since I > graduated to an EFI system. I don't follow the wiki because of the resulting > impenetrable thicket of unpronounceable names and 32-digit hex numbers. > Fine for a distro builder, perhaps, but not for me thank you - especially > as I want a selection of kernels to boot from, which I never did work out > how to achieve following the official advice. > > My method has only one related USE variable: > sys-apps/systemd-utils boot kernel-install > > My EFI partition, unformatted and not mentioned in /etc/fstab, is /dev/ > nvme0n1p1. 0n1p2 is the FAT-32 /boot. > # tree -L 3 /boot > /boot > ├── [config files from make install] > ├── early_ucode.cpio > ├── EFI > │ ├── BOOT > │ │ └── BOOTX64.EFI > │ ├── Linux > │ └── systemd > │ └── systemd-bootx64.efi > ├── intel-uc.img > ├── loader > │ ├── entries > │ │ ├── 06-gentoo-rescue-6.6.52.conf > │ │ ├── 07-gentoo-rescue-6.6.52.nonet.conf > │ │ ├── 08-gentoo-rescue-6.6.62.conf > │ │ ├── 09-gentoo-rescue-6.6.62.nonet.conf > │ │ ├── 30-gentoo-6.6.62.conf > │ │ ├── 32-gentoo-6.6.62.nox.conf > │ │ └── 34-gentoo-6.6.62.nonet.conf > │ ├── entries.srel > │ ├── loader.conf > │ └── random-seed > ├── [System.map files from make install] > ├── vmlinuz-6.6.38-gentoo-rescue > ├── vmlinuz-6.6.52-gentoo > ├── vmlinuz-6.6.52-gentoo-rescue > ├── vmlinuz-6.6.62-gentoo > └── vmlinuz-6.6.62-gentoo-rescue > > This is the relevant parts of the kernel make script on my little i5 NUC > box: cd /usr/src/linux > time (make -j4 && make modules_install &&\ > make install && rm -f /boot/*old) > emerge @module-rebuild @x11-module-rebuild > rm -f /boot/early_ucode.cpio.new &&\ > iucode_tool -q -S --write-earlyfw=/boot/early_ucode.cpio.new \ > -tr /boot/early_ucode.cpio -tb /lib/firmware/intel-ucode &&\ > mv -v /boot/early_ucode.cpio.new /boot/early_ucode.cpio &&\ > echo
Not relevant to the OP, but why don't you build the µcode blob in the kernel itself for a simpler life? > Then all I have to do is some simple mmv and sed -i on the files in /boot/ > loader/entries and loader.conf. Also remove obsolete kernels, configs and > maps from /boot. Oh, and bootctl set-default 30-gentoo-6.6.62.conf if it's > a remote machine and I won't be present at boot time. > > --->8 > > > Could somebody perhaps suggest a better boot loader to me? I need to be > > able to chose between several kernels at booting time, but I certainly > > don't want something "refined" like grub - I just need what I thought > > systemd-boot actually was before yesterday. > > That's even worse than what I was suffering until I developed my own system. > > Thanks in advance! > > Hope that helps. If the OP is running a systemd installation then using an ESP FAT32 formatted partition on /efi mountpoint and a XBOOTLDR partition at /boot mountpoint would greatly simplify things and avoid conflicts between what the systemd bootctl expects to find and wants to do and what the user prefers: https://wiki.gentoo.org/wiki/EFI_System_Partition#Standard_layout On an OpenRC system without GRUB, rEFInd is a good choice, or for a totally manual approach use the efibootmgr: https://wiki.gentoo.org/wiki/Efibootmgr
signature.asc
Description: This is a digitally signed message part.