Hello, Arsen.
On Wed, Dec 18, 2024 at 13:50:09 +0100, Arsen Arsenović wrote:
Hi Alan,
Alan Mackenzie <a...@muc.de> writes:
> Hello, Gentoo.
> I've been having fun with systemd-boot.
> On my new (2024-08) machine, on Friday 2024-12-06, I suddenly noticed
> that my /boot partition was empty, I can't remember why I looked at it.
> I am quite sure I didn't empty it myself. There then followed a couple
> of hours where I restored the boot manager, kernels, and the boot
> configuration. Thankfully, it booted again the next time I tried.
> On my old machine, I've been noticing over the past weeks that only two
> older kernels have been offered for booting, despite me installing later
> kernels to /boot/EFI/gentoo, and configuring them in /boot/loader.
You don't need to do that manually, installkernel should handle it for
you. You should get installkernel[systemd,systemd-boot].
No, I don't need to learn a new abstruse command (which might do anything
apart from its prime function) when cp works 100%.
> It all became clear yesterday and today. bootctl install had
> installed itself to /dev/nvme1n1p1 rather than /boot (which I have
> mounted on /dev/nvme0n1p1).
This would mean you mounted /dev/nvme1n1p1 on /efi:
--esp-path=
Path to the EFI System Partition (ESP). If not specified,
/efi/, /boot/, and /boot/efi/ are checked in turn. It is
recommended to mount the ESP to /efi/, if possible.
I have never knowingly mounted anything on /efi. Even if it was by
accident, somehow, I certainly wouldn't have done it on both my old and
new machines. And why the partition on nvme1?
You should have one ESP mounted at any time, and mounted at /efi. The
rest should work fine.
I've got /dev/nvme0n1p1 mounted on /boot. That should work.
> Both of these partitions are EFI system partitions. It also clogged
> up my UEFI boot sequence with lots of extra entries, leaving nvme1
> rather than nvme0 the prime EFI system partition for booting with.
UEFI boot order entries are only created as part of 'bootctl install' so
this would mean you ran it many times.
That's possible, though I don't remember now.
It only needs to be ran once. To update the bootloader, you'd use
'bootctl update', to add/remove entries you'd use kernel-install.
> I've had a look at the manual page for bootctrl. It doesn't mention any
> way of specifying which EFI partition will get written to, and doesn't
> seem to mention that it changes the UEFI BIOS settings. Or maybe it
> does. It's a vague, poor quality manual.
That'd be --esp-path.
Thanks! Though just /boot should work.
WRT changing UEFI settings, this is a necessity for UEFI boot -
grub-install does the same thing.
I've always set the boot devices in the BIOS settings - including an
entry for my DVD device, enabling me to install Gentoo. :-)
> I don't need all this. Booting should not be fun. It should be boring,
> boring, boring. Boring and dependable.
> 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.
I suspect your problem lies elsewhere. What partitions are you
mounting? How are you installing kernels?
I mount an EFI partition on /boot, along with several LVM partitions on /
and subdirectories. I install kernels with cp from
/usr/src/linux-x.y.z-gentoo/arch/x86/boot/bzImage to /boot/EFI/gentoo/,
with a suitable new name. Then I add a new configuration file for the
new kernel in /boot/loader/Entries.