After a kernel update or new kernel installation Manjaro fails to boot on my laptop (blank black screen after GRUB and keyboard shortcuts not working). Hard reset required, and I then need to chose another boot option i GRUB. After booting into Manjaro I can delete /boot/vmlinuz-linux510 and/or /boot/vmlinuz-linux513 and update GRUB to get a working default boot option. After a new update the files are created once again…
So I suspect there is a hook somewhere that creates these wrong GRUB entries (vmlinuz-linux5xx) besides the Manjaro working ones like vmlinuz-5.10-x86_64. The files in /boot are identical (sha256sum) and so are the GRUB entries except the last line:
sudo ls -l /etc/pacman.d/hooks/
ls: cannot access '/etc/pacman.d/hooks/': No such file or directory
sudo pacman -Qo /usr/share/libalpm/hooks/*
/usr/share/libalpm/hooks/20-systemd-sysusers.hook is owned by systemd 248.3-3
/usr/share/libalpm/hooks/30-systemd-binfmt.hook is owned by systemd 248.3-3
/usr/share/libalpm/hooks/30-systemd-catalog.hook is owned by systemd 248.3-3
/usr/share/libalpm/hooks/30-systemd-daemon-reload.hook is owned by systemd 248.3-3
/usr/share/libalpm/hooks/30-systemd-hwdb.hook is owned by systemd 248.3-3
/usr/share/libalpm/hooks/30-systemd-sysctl.hook is owned by systemd 248.3-3
/usr/share/libalpm/hooks/30-systemd-tmpfiles.hook is owned by systemd 248.3-3
/usr/share/libalpm/hooks/30-systemd-udev-reload.hook is owned by systemd 248.3-3
/usr/share/libalpm/hooks/30-systemd-update.hook is owned by systemd 248.3-3
/usr/share/libalpm/hooks/40-fontconfig-config.hook is owned by fontconfig 2:2.13.94-1
/usr/share/libalpm/hooks/40-update-ca-trust.hook is owned by ca-certificates-utils 20210603-1
/usr/share/libalpm/hooks/60-booster-remove.hook is owned by booster 0.5-1
/usr/share/libalpm/hooks/60-depmod.hook is owned by kmod 29-1
/usr/share/libalpm/hooks/60-mkinitcpio-remove.hook is owned by mkinitcpio 30-2
/usr/share/libalpm/hooks/70-dkms-install.hook is owned by dkms 2.8.4-1
/usr/share/libalpm/hooks/70-dkms-upgrade.hook is owned by dkms 2.8.4-1
/usr/share/libalpm/hooks/71-dkms-remove.hook is owned by dkms 2.8.4-1
/usr/share/libalpm/hooks/80-atd.hook is owned by at 3.2.2-1
/usr/share/libalpm/hooks/80-cronie.hook is owned by cronie 1.5.7-2
/usr/share/libalpm/hooks/90-booster-install.hook is owned by booster 0.5-1
/usr/share/libalpm/hooks/90-mkinitcpio-install.hook is owned by mkinitcpio 30-2
/usr/share/libalpm/hooks/99-grub.hook is owned by grub 2.06-1
/usr/share/libalpm/hooks/dbus-reload.hook is owned by dbus 1.12.20-1
/usr/share/libalpm/hooks/dconf-update.hook is owned by dconf 0.40.0-1
/usr/share/libalpm/hooks/detect-old-perl-modules.hook is owned by perl 5.34.0-1
/usr/share/libalpm/hooks/firefox-dev-post.hook is owned by manjaro-browser-settings 20201114-1
/usr/share/libalpm/hooks/firefox-dev-pre.hook is owned by manjaro-browser-settings 20201114-1
/usr/share/libalpm/hooks/firefox-kde-post.hook is owned by manjaro-browser-settings 20201114-1
/usr/share/libalpm/hooks/firefox-kde-pre.hook is owned by manjaro-browser-settings 20201114-1
/usr/share/libalpm/hooks/firefox-post.hook is owned by manjaro-browser-settings 20201114-1
/usr/share/libalpm/hooks/firefox-pre.hook is owned by manjaro-browser-settings 20201114-1
/usr/share/libalpm/hooks/fontconfig-32.hook is owned by lib32-fontconfig 2:2.13.94-1
/usr/share/libalpm/hooks/fontconfig.hook is owned by fontconfig 2:2.13.94-1
/usr/share/libalpm/hooks/gdk-pixbuf-query-loaders-32.hook is owned by lib32-gdk-pixbuf2 2.42.6-1
/usr/share/libalpm/hooks/gdk-pixbuf-query-loaders.hook is owned by gdk-pixbuf2 2.42.6-1
/usr/share/libalpm/hooks/ghc-register.hook is owned by ghc-libs 8.10.5-1
/usr/share/libalpm/hooks/ghc-unregister.hook is owned by ghc-libs 8.10.5-1
/usr/share/libalpm/hooks/gio-querymodules-32.hook is owned by lib32-glib2 2.68.3-1
/usr/share/libalpm/hooks/gio-querymodules.hook is owned by glib2 2.68.3-1
/usr/share/libalpm/hooks/glib-compile-schemas.hook is owned by glib2 2.68.3-1
/usr/share/libalpm/hooks/gtk-query-immodules-2.0.hook is owned by gtk2 2.24.33-2
/usr/share/libalpm/hooks/gtk-query-immodules-3.0.hook is owned by gtk3 1:3.24.30-1
/usr/share/libalpm/hooks/gtk-update-icon-cache.hook is owned by gtk-update-icon-cache 1:4.2.1-2
/usr/share/libalpm/hooks/gvfsd.hook is owned by gvfs 1.48.1-1
/usr/share/libalpm/hooks/kernel-alive-install.hook is owned by kernel-alive 0.5-1
/usr/share/libalpm/hooks/kernel-alive-post.hook is owned by kernel-alive 0.5-1
/usr/share/libalpm/hooks/kernel-alive-pre.hook is owned by kernel-alive 0.5-1
/usr/share/libalpm/hooks/kernel-alive-remove.hook is owned by kernel-alive 0.5-1
/usr/share/libalpm/hooks/manjaro-aur-support.hook is owned by manjaro-aur-support 0.6-3
/usr/share/libalpm/hooks/manjaro-printer.hook is owned by manjaro-printer 20200215-2
/usr/share/libalpm/hooks/networkmanager-connectivity.hook is owned by manjaro-system 20210612-1
/usr/share/libalpm/hooks/pacman-mirrors-install.hook is owned by pacman-mirrors 4.21.3-2
/usr/share/libalpm/hooks/pacman-mirrors-upgrade.hook is owned by pacman-mirrors 4.21.3-2
/usr/share/libalpm/hooks/texinfo-install.hook is owned by texinfo 6.8-1
/usr/share/libalpm/hooks/texinfo-remove.hook is owned by texinfo 6.8-1
/usr/share/libalpm/hooks/thunderbird-post.hook is owned by manjaro-browser-settings 20201114-1
/usr/share/libalpm/hooks/thunderbird-pre.hook is owned by manjaro-browser-settings 20201114-1
/usr/share/libalpm/hooks/update-desktop-database.hook is owned by desktop-file-utils 0.26-1
/usr/share/libalpm/hooks/update-mime-database.hook is owned by shared-mime-info 2.0+57+gc1d1c70-1
/usr/share/libalpm/hooks/update-vlc-plugin-cache.hook is owned by vlc 3.0.16-2
$ sudo pacman -Syu linux513
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
warning: linux513-5.13.1-3 is up to date -- reinstalling
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (1) linux513-5.13.1-3
Total Installed Size: 101,02 MiB
Net Upgrade Size: 0,00 MiB
:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring [######################] 100%
(1/1) checking package integrity [######################] 100%
(1/1) loading package files [######################] 100%
(1/1) checking for file conflicts [######################] 100%
(1/1) checking available disk space [######################] 100%
:: Running pre-transaction hooks...
(1/2) Remove upgraded DKMS modules
(2/2) Save Linux kernel modules
:: Processing package changes...
(1/1) reinstalling linux513 [######################] 100%
:: Running post-transaction hooks...
(1/7) Arming ConditionNeedsUpdate...
(2/7) Updating module dependencies...
(3/7) Install DKMS modules
(4/7) Updating linux booster images...
2021/07/15 07:18:54 modules.dep: unable to resolve module name for extramodules/vboxnetflt.ko.xz
(5/7) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux513.preset: 'default'
-> -k /boot/vmlinuz-5.13-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.13-x86_64.img
==> Starting build: 5.13.1-3-MANJARO
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [encrypt]
==> WARNING: Possibly missing firmware for module: qat_4xxx
-> Running build hook: [filesystems]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-5.13-x86_64.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux513.preset: 'fallback'
-> -k /boot/vmlinuz-5.13-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.13-x86_64-fallback.img -S autodetect
==> Starting build: 5.13.1-3-MANJARO
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [encrypt]
==> WARNING: Possibly missing firmware for module: qat_4xxx
-> Running build hook: [filesystems]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-5.13-x86_64-fallback.img
==> Image generation successful
(6/7) Updating Grub-Bootmenu
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-linux513
Found initrd image: /boot/intel-ucode.img
Found linux image: /boot/vmlinuz-5.13-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.13-x86_64.img
Found initrd fallback image: /boot/initramfs-5.13-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.10-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.10-x86_64.img
Found initrd fallback image: /boot/initramfs-5.10-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.8-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.8-x86_64.img
Found initrd fallback image: /boot/initramfs-5.8-x86_64-fallback.img
Found linux image: /boot/vmlinuz-5.7-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.7-x86_64.img
Found initrd fallback image: /boot/initramfs-5.7-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin
done
(7/7) Restore Linux kernel modules
==> Warning:
-> This computer hasn't been restarted for a while.
-> You are running an old kernel. In order to use a
-> new version of the kernel, please restart your
-> computer as soon as possible.
The booster package is generating those kernel copies (which do not fit into manjaro installation).
See /usr/share/libalpm/hooks/90-booster-install.hook and the script this hook is calling /usr/share/libalpm/scripts/booster-install (relevant line/command):
Thank you so much @omano and @freggel.doe, you’ve found the culprit! After uninstalling booster everything works as intended. I have no idea why booster was installed