Use arch linux way of managing the kernel and updates?

In arch you can just install latest kernel via pacman -S linux. Than the kernel and initramfs is installed to:

  • /boot/initramfs-linux.img
  • /boot/vmlinuz-linux

In manjaro you can install the latest kernel via pacman -S linux64 or whatever the newest kernel is. However, it does not autoupdate itself to the next major/minor version.
The kernel and initramfs is installed to:

  • /boot/initramfs-6.4-x86_64-linux.img
  • /boot/initramfs-6.4-x86_64-linux.img
    Or if other kenrel version is selected e.g.:
  • /boot/initramfs-6.1-x86_64-linux.img
  • /boot/initramfs-6.1-x86_64-linux.img

If you now want to use secure boot with a unified kernel image (UKI) you need to bundle the image via sbctl bundle -s /efi/main.efi. However, it assumes the arch linux paths to the initrafms and the kernel. If you use manjaro kernel you have to specify it via -i and -k so sbctl bundle -k /boot/initramfs-6.4-x86_64-linux.img -i /boot/initramfs-linux.img -s /efi/main.efi.
That works, however, if you want to install a new kernel and delte the other before, it will fail in the Post-transaction-Hooks:

(3/3) Signing EFI binaries
Generating EFI bundles
failed creating bundle /efi/main.efi: stat /boot/initramfs-6.4-x86_64.img: no suche file or directory

So I would need to manually adjust the sbctl bundle command again. Is there some way to fix this? I thought about symlinking the kernel and initramfs to the arch paths.

However, I would also like to use the arch kernel way of doing the updates. Can I somehow do that?

There is a reason that Manjaro is not providing rolling kernel packages. We had a meta package once which installed the latest kernel or kernel-lts, however how we install the kernel files you already figured out. Simply change the sbctl bundle cmd as needed and maybe document the whole procedure so we may check on how to add Secure-Boot support from our end.

1 Like

The manjaro installation is for a linux newbie. Otherwise, I would simply adjust the sbctl after each linux bump. However, that is not possible. :confused:

It looks somehow trivial that I just need to change the post transaction hook of the linux kernel package to point to the corresponding kernel files. However, I have no idea where to start or how to do that. Can you maybe point me to the right place where to start or even suggest something?

Can you maybe just add back that meta package? :wink:

The meta package doesn’t change how the kernels get installed. It simply automatically depended on the latest kernel, which means it would additionally install the newer kernel if not given. However you still would need to do the same modification as you speak of …

1 Like