Booting to Firmware after updates

I just updated again to the latest kernel 6.9.3-arch-1 and system boots again only to firmware. This is the second time this has happened as well as it has happened to others recently even on systemd-boot. I am using grub with btrfs and I’ve had to arch-chroot again and i ran the grub-install and the grub update command to fix it. I don’t understand why this is happening nor do i have any ideas how to figure out the reason.

Here is the pacman log of the updates if that will give any clues?

[2024-06-01T09:11:02-0400] [PACMAN] starting full system upgrade
[2024-06-01T09:11:06-0400] [ALPM] running '05-snap-pac-pre.hook'...
[2024-06-01T09:11:06-0400] [ALPM-SCRIPTLET] ==> root: 1149
[2024-06-01T09:11:06-0400] [ALPM] running '60-dracut-remove.hook'...
[2024-06-01T09:11:07-0400] [ALPM] running '71-dkms-remove.hook'...
[2024-06-01T09:11:07-0400] [ALPM] transaction started
[2024-06-01T09:11:08-0400] [ALPM] upgraded linux (6.9.2.arch1-1 -> 6.9.3.arch1-1)
[2024-06-01T09:11:09-0400] [ALPM] upgraded linux-headers (6.9.2.arch1-1 -> 6.9.3.arch1-1)
[2024-06-01T09:11:09-0400] [ALPM] upgraded python-shtab (1.6.5-2 -> 1.7.1-1)
[2024-06-01T09:11:09-0400] [ALPM] upgraded wayland (1.22.0-1 -> 1.23.0-1)
[2024-06-01T09:11:10-0400] [ALPM] transaction completed
[2024-06-01T09:11:10-0400] [ALPM] running '30-systemd-update.hook'...
[2024-06-01T09:11:10-0400] [ALPM] running '60-depmod.hook'...
[2024-06-01T09:11:11-0400] [ALPM] running '70-dkms-install.hook'...
[2024-06-01T09:11:11-0400] [ALPM-SCRIPTLET] ==> dkms install --no-depmod broadcom-wl/6.30.223.271 -k 6.9.3-arch1-1
[2024-06-01T09:11:16-0400] [ALPM-SCRIPTLET] ==> dkms install --no-depmod vmware-workstation/17.5.2_23775571 -k 6.9.3-arch1-1
[2024-06-01T09:11:20-0400] [ALPM-SCRIPTLET] ==> depmod 6.9.3-arch1-1
[2024-06-01T09:11:21-0400] [ALPM] running '90-dracut-install.hook'...
[2024-06-01T09:11:21-0400] [ALPM-SCRIPTLET] :: Building initramfs for linux (6.9.3-arch1-1)
[2024-06-01T09:11:21-0400] [ALPM-SCRIPTLET] dracut[I]: Executing: /usr/bin/dracut --force --hostonly --no-hostonly-cmdline /boot/initramfs-linux.img 6.9.3-arch1-1
[2024-06-01T09:11:22-0400] [ALPM-SCRIPTLET] dracut[E]: Module 'systemd-pcrphase' depends on 'tpm2-tss', which can't be installed
[2024-06-01T09:11:23-0400] [ALPM-SCRIPTLET] dracut[E]: Module 'systemd-pcrphase' depends on 'tpm2-tss', which can't be installed
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-ask-password ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-initrd ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-journald ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-modules-load ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-sysctl ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-sysusers ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-tmpfiles ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-udevd ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: i18n ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: btrfs ***
[2024-06-01T09:11:24-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: kernel-modules ***
[2024-06-01T09:11:25-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: kernel-modules-extra ***
[2024-06-01T09:11:25-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: pcmcia ***
[2024-06-01T09:11:25-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: btrfs-snapshot-overlay ***
[2024-06-01T09:11:25-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: rootfs-block ***
[2024-06-01T09:11:25-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: terminfo ***
[2024-06-01T09:11:25-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: udev-rules ***
[2024-06-01T09:11:26-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: dracut-systemd ***
[2024-06-01T09:11:26-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: usrmount ***
[2024-06-01T09:11:26-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: base ***
[2024-06-01T09:11:26-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: fs-lib ***
[2024-06-01T09:11:26-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: shutdown ***
[2024-06-01T09:11:26-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including modules done ***
[2024-06-01T09:11:26-0400] [ALPM-SCRIPTLET] dracut[I]: *** Installing kernel module dependencies ***
[2024-06-01T09:11:26-0400] [ALPM-SCRIPTLET] dracut[I]: *** Installing kernel module dependencies done ***
[2024-06-01T09:11:26-0400] [ALPM-SCRIPTLET] dracut[I]: *** Resolving executable dependencies ***
[2024-06-01T09:11:28-0400] [ALPM-SCRIPTLET] dracut[I]: *** Resolving executable dependencies done ***
[2024-06-01T09:11:28-0400] [ALPM-SCRIPTLET] dracut[I]: *** Hardlinking files ***
[2024-06-01T09:11:28-0400] [ALPM-SCRIPTLET] dracut[I]: *** Hardlinking files done ***
[2024-06-01T09:11:28-0400] [ALPM-SCRIPTLET] dracut[I]: *** Generating early-microcode cpio image ***
[2024-06-01T09:11:28-0400] [ALPM-SCRIPTLET] dracut[I]: *** Constructing AuthenticAMD.bin ***
[2024-06-01T09:11:28-0400] [ALPM-SCRIPTLET] dracut[I]: *** Store current command line parameters ***
[2024-06-01T09:11:28-0400] [ALPM-SCRIPTLET] dracut[I]: *** Stripping files ***
[2024-06-01T09:11:28-0400] [ALPM-SCRIPTLET] dracut[I]: *** Stripping files done ***
[2024-06-01T09:11:28-0400] [ALPM-SCRIPTLET] dracut[I]: *** Creating image file '/boot/initramfs-linux.img' ***
[2024-06-01T09:11:30-0400] [ALPM-SCRIPTLET] dracut[I]: *** Creating initramfs image file '/boot/initramfs-linux.img' done ***
[2024-06-01T09:11:30-0400] [ALPM-SCRIPTLET] :: Building fallback initramfs for linux (6.9.3-arch1-1)
[2024-06-01T09:11:30-0400] [ALPM-SCRIPTLET] dracut[I]: Executing: /usr/bin/dracut --force --no-hostonly /boot/initramfs-linux-fallback.img 6.9.3-arch1-1
[2024-06-01T09:11:31-0400] [ALPM-SCRIPTLET] dracut[E]: Module 'systemd-pcrphase' depends on 'tpm2-tss', which can't be installed
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-ask-password ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-initrd ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-journald ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-modules-load ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-sysctl ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-sysusers ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-tmpfiles ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-udevd ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: modsign ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: i18n ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: btrfs ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: crypt ***
[2024-06-01T09:11:32-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: dm ***
[2024-06-01T09:11:33-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: kernel-modules ***
[2024-06-01T09:11:34-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: kernel-modules-extra ***
[2024-06-01T09:11:34-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: lvm ***
[2024-06-01T09:11:34-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: mdraid ***
[2024-06-01T09:11:34-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: nvdimm ***
[2024-06-01T09:11:34-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: pcmcia ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: qemu ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: qemu-net ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: systemd-cryptsetup ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: btrfs-snapshot-overlay ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: fido2 ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: pkcs11 ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: lunmask ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: resume ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: rootfs-block ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: terminfo ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: udev-rules ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: virtiofs ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: dracut-systemd ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: usrmount ***
[2024-06-01T09:11:35-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: base ***
[2024-06-01T09:11:36-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: fs-lib ***
[2024-06-01T09:11:36-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including module: shutdown ***
[2024-06-01T09:11:36-0400] [ALPM-SCRIPTLET] dracut[I]: *** Including modules done ***
[2024-06-01T09:11:36-0400] [ALPM-SCRIPTLET] dracut[I]: *** Installing kernel module dependencies ***
[2024-06-01T09:11:36-0400] [ALPM-SCRIPTLET] dracut[I]: *** Installing kernel module dependencies done ***
[2024-06-01T09:11:36-0400] [ALPM-SCRIPTLET] dracut[I]: *** Resolving executable dependencies ***
[2024-06-01T09:11:38-0400] [ALPM-SCRIPTLET] dracut[I]: *** Resolving executable dependencies done ***
[2024-06-01T09:11:38-0400] [ALPM-SCRIPTLET] dracut[I]: *** Hardlinking files ***
[2024-06-01T09:11:38-0400] [ALPM-SCRIPTLET] dracut[I]: *** Hardlinking files done ***
[2024-06-01T09:11:38-0400] [ALPM-SCRIPTLET] dracut[I]: *** Generating early-microcode cpio image ***
[2024-06-01T09:11:38-0400] [ALPM-SCRIPTLET] dracut[I]: *** Constructing AuthenticAMD.bin ***
[2024-06-01T09:11:38-0400] [ALPM-SCRIPTLET] dracut[I]: *** Store current command line parameters ***
[2024-06-01T09:11:38-0400] [ALPM-SCRIPTLET] dracut[I]: *** Stripping files ***
[2024-06-01T09:11:39-0400] [ALPM-SCRIPTLET] dracut[I]: *** Stripping files done ***
[2024-06-01T09:11:39-0400] [ALPM-SCRIPTLET] dracut[I]: *** Creating image file '/boot/initramfs-linux-fallback.img' ***
[2024-06-01T09:11:41-0400] [ALPM-SCRIPTLET] dracut[I]: *** Creating initramfs image file '/boot/initramfs-linux-fallback.img' done ***
[2024-06-01T09:11:41-0400] [ALPM] running 'eos-reboot-required.hook'...
[2024-06-01T09:11:43-0400] [ALPM] running 'rebuild-detector.hook'...
[2024-06-01T09:11:44-0400] [ALPM] running 'zz-snap-pac-post.hook'...
[2024-06-01T09:11:44-0400] [ALPM-SCRIPTLET] ==> root: 1150
[2024-06-01T09:19:03-0400] [PACMAN] Running 'pacman -S -y --config /etc/pacman.conf --'
[2024-06-01T09:19:03-0400] [PACMAN] synchronizing package lists

It would be nice to figure out why this is happening every time there seems to be a new kernel update?

Edit: System has no issues other than this happening for unknown reasons.

got to be a Grub thing–this never happens to me with a efi bootoader.
simplistic, I know, and probably wrong…

What does it mean when you boot and OS cannot be seen by bios/firmware? Absence of boot entry comes to mind. Or boot entry not being updated/validated after new kernel. Boot order?

/spitballin

edit: this usually happens on a dual boot as well…
edit 2: something is not syncing after your kernel installs. what though?

Okay but i just updated on my other system which is nvidia with wayland set up exactly the same on btrfs with grub and it hasn’t happened on this one. This one is dual boot with Windows and the other Ryzen system is not.

This is what I’m thinking also but I don’t know why and have limited experience with Dracut and all the hooks that are present on the eos default install. I don’t have anything out of the ordinary. It’s all default install and set up. Unlike many Linux users I don’t tend to change many things. All software is standard stuff.

Edit: Both times this has happened has been where there are kernel updates. :man_shrugging:

sudo usysconf run -f ? that’s the sync thing I remembered but in another distro I used it. a systemd distro like endeavour.

mmm

You may want to consider writing a small hook, something like this:

[Trigger]
Operation = Upgrade
Type = Package
Target = linux
Target = grub

[Action]
Description = Refresh grub after upgrading certain packages.
When = PostTransaction
Depends = grub
Exec = "your-grub-commands-here"

As targets (i.e. lines starting with Target) you can add the package names that you think will need the grub commands.

The “your-grub-commands-here” should include both grub-install and grub-mkconfig commands with their proper parameters.

Write this file into /etc/pacman.d/hooks/my-grub.hook.

See also: man alpm-hooks

I’m just trying to figure out why when a kernel gets updated this happens but it’s not every time. It’s happened to me twice now recently.

That does sound strange. Basically you should not need to refresh grub just by a kernel update.

Do you need to use sudo for the commands? Also would it be like this?

Exec = sudo grub-install
Exec = sudo grub-mkconfig -o /boot/grub/grub.cfg

Or

Exec = sudo grub-install && sudo grub-mkconfig -o /boot/grub/grub.cfg
  • sudo is not needed, it is run as root
  • good to use full path with the commands
  • one liner, add commands in quotes, e.g.
Exec = /bin/bash -c "/bin/grub-install && /bin/grub-mkconfig -o /boot/grub/grub.cfg"

Alternatively you can create a separate script that you simply call on the Exec line.

Edit: note that the grub-install command may require more parameters… maybe that is related to the issue?

This requires a separate script then?

Edit: I guess i was a little confused with this line at first but i think i understand now. Maybe. :laughing:

1 Like

Note that if you have the hook file as written above, you can test the hook by installing either one of the packages linux or grub. The hook should run and refresh your grub installation.

But as said before, the kernel update should not need this hook…

I just tried it but i don’t see that it ran this?

Edit: Maybe I’m not looking in the right place?

Edit: Shouldn’t i see it directly in the output when reinstalling the kernel?

It’s a post-transaction hook. Look for a line, like: [ALPM] transaction completed in the pacman.log. Your grub hook should be run after that.

2 Likes

Thanks. I Found it in the log. I was assuming i would see this directly in the output when running the kernel install. Me dumb! :wink:

[2024-06-02T14:48:10-0400] [ALPM] running 'my-grub.hook'...
[2024-06-02T14:48:10-0400] [ALPM-SCRIPTLET] Installing for x86_64-efi platform.
[2024-06-02T14:48:11-0400] [ALPM-SCRIPTLET] Installation finished. No error reported.
[2024-06-02T14:48:11-0400] [ALPM-SCRIPTLET] Generating grub configuration file ...
[2024-06-02T14:48:11-0400] [ALPM-SCRIPTLET] Found background: /usr/share/endeavouros/splash.png
[2024-06-02T14:48:11-0400] [ALPM-SCRIPTLET] Found linux image: /boot/vmlinuz-linux
[2024-06-02T14:48:11-0400] [ALPM-SCRIPTLET] Found initrd image: /boot/amd-ucode.img /boot/initramfs-linux.img
[2024-06-02T14:48:11-0400] [ALPM-SCRIPTLET] Found fallback initrd image(s) in /boot:  amd-ucode.img initramfs-linux-fallback.img
3 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.