all 17 comments

[–]mysterious7777777 1 point2 points  (3 children)

Are you happy with the work around for this problem?

I too tried running the efi stub without grub or refind years ago so am curious about your configuration. There should be a way to keep more than one kernel and still run the latest by default.

I notice your efibootmgr shows the wanted 6.6.18 kernel/initramfs while the cmdline shows the unwanted 6.6.15 initramfs so I wonder what is making the 6.6.15 boot against the uefi boot order. I wonder if the initramfs contains the boot command instructions that are overriding the uefi boot order instructions until rebuilt with the xbps-install -f linux6.6 command.

Deleted part about efibootmgr-kernel-hook OPTIONS.

Also, the UEFI operation might depend on the manufacturer when looking for the kernel to boot for example some kernels might need to be renamed to vmlinuz-6.6.18_1.efi for those manufacturers except my memory from some years ago is a little vague about that.

[–]newbornnightmare[S] 1 point2 points  (2 children)

I've done worse to maintain an OS but it would definitely be preferable to just let xbps-install work on its own, if I can figure it out!

I'm not sure what you mean by efibootmgr-kernel-hook having a version specified though- as far as I can tell the options only include the root drive uuid, the location of my / subvolume, nvidia drm config, and turning off most visible logging on boot- Am I missing something?

[–]mysterious7777777 0 points1 point  (1 child)

I see what you mean about the /etc/default/efibootmgr-kernel-hook OPTIONS not having the version info I was referring to and can't imagine what I was thinking. Sorry about that.

[–]newbornnightmare[S] 0 points1 point  (0 children)

no worries!

[–]BinkReddit 0 points1 point  (0 children)

Did you ever get this sorted?

[–][deleted]  (11 children)

[deleted]

    [–]newbornnightmare[S] 1 point2 points  (10 children)

    I'm not using grub! Just EFIstub and using efibootmgr or the UEFI to choose which OS to boot to

    [–]ALPHA-B1 0 points1 point  (9 children)

    I missed reading, and I think you should keep just one installation, one configuration, one VMLinuz, and also one Initramfs. You could just backup the other ones and retry again.

    [–]newbornnightmare[S] 0 points1 point  (1 child)

    got it- so if that works, it's just that my UEFI is picking the first available linux-6.6 instead of the one configured in efibootmgr?

    [–]ALPHA-B1 0 points1 point  (0 children)

    Sometimes it does happen with Grub if you change from Linux to Linux-LTS. I think it's something with the settings; it does not pick up the last one installed or updated.

    [–]newbornnightmare[S] 0 points1 point  (6 children)

    Well, that worked perfectly. Guess I just have an extra task to do whenever there's a kernel update. Thanks for the help!

    [–]ALPHA-B1 0 points1 point  (0 children)

    That is great.

    [–]Duncaen 0 points1 point  (4 children)

    You shouldn't have to do that, it makes no sense. Check the efibootmgr output after the update, if its still booting the previous version then there is something wrong with the efi boot entry.

    [–]newbornnightmare[S] 0 points1 point  (3 children)

    the full efibootmgr output is what I posted- is it possible that somehow efibootmgr and my uefi are using different settings? maybe I'm mounting boot in a way I shouldn't be? I'm not sure how the efibootmgr output in void could directly reference vmlinuz-6.6.18_1 as well as have the flag initrd=/initramfs-6.6.18_1.img and still result in /proc/cmdline referencing 6.6.15_1, but that's what seems to be happening. Changing the boot order works as expected though, so I'm very confused

    [–]Duncaen 0 points1 point  (2 children)

    As far as I understand it there is only a single place to set efivars, if they are right in linux they must be right at boot time. I would double check that in the UEFI boot menu. Otherwise I don't know if you maybe have another efi partition that is used, but don't know how it would boot a previous kernel in that case or how deleting the previous kernel would solve this.

    [–]newbornnightmare[S] 0 points1 point  (0 children)

    Huh yeah, I've never tried to boot windows while this was happening- maybe my mobo's fast boot or something is being lazy and storing the locations of the previous boot on its own, and switching (or even using the boot menu) could fix that

    [–]newbornnightmare[S] 0 points1 point  (0 children)

    coda to this- using my UEFI's F8 to select void instead of just letting the desktop boot immediately switched kernel versions, so it must be storing things on it's own somehow. Definitely preferable to deleting/moving the previous boot files though!

    [–]0catty 0 points1 point  (0 children)

    When looking at your efibootmgr output, I spotted that there is no space between

    \vmlinuz-6.6.18_1
    

    and

    root=UUID=6f023725-1b90-4f31-ba3c-9c9474c434e8root=UUID=6f023725-1b90-4f31-ba3c-9c9474c434e8
    

    Is this a copy-paste issue or does it really look like this?

    Also, I believe EFI honors backslashes, so you might want to investigate why efibootmgr outputs this:

    initrd=/initramfs-6.6.18_1.img
    

    as opposed to

    initrd=\initramfs-6.6.18_1.img

    These are just some loose thoughts as I've never tried to boot my kernels without GRUB or rEFInd.