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

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to