Re: [arch-announce] New kernel packages and mkinitcpio hooks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]




On 11/11/19 3:11 am, Arch Linux: Recent news updates: Giancarlo Razzolini wrote:
All our official kernels: linux, linux-lts, linux-zen and linux-hardened, do not install the actual kernel to /boot anymore.

I would like to report an issue I faced due to this. Not an issue for everyone but can be an issue in a certain special cases.

I have a custom package (in my custom repo) which modifies grub UI / menus (cosmetic change only) by putting some files in /etc/grub.d/ and regenerates /boot/grub/grub.cfg (by calling grub-mkconfig in package's post install script). This has been working fine from 2 years or so.

Recently I released an update to that custom package but at the same time, upgrades to linux as well as linux-lts packages were also available in arch repository.

And after upgrade, grub.cfg lost linux and linux-lts menu entries completely.

What happened is:

1. mkinitcpio hook first removed vmlinuz-linux, vmlinuz-linux-lts and
   initrd files from /boot
2. My package got updated along with new versions of linux and linux-lts
3. My package's post install script ran grub-mkconfig but new vmlinuz
   files did not exist yet in /boot. So grub entries were not created
   for them.
4. mkinitcpio-install post transaction hook runs and copies kernel to
   /boot (but its too late for my post install scripts)

So effectively this created an un-bootable system requiring manual booting.

This is going to happen every time my package plus linux / linux-lts package get upgraded in the same pacman run. (i.e. this will not happen always but only in certain conditions)

I know my issue is not common and I will also change my script to post transaction hook.

But this is to warn anyone who has a custom package with post install script which looks for / expects kernel files in /boot. (like grub-mkconfig). Those scripts are going to break with the recent changes to kernel package and it would be advisable to put them in post transaction hook and that too after mkinitcpio-install scripts run.

Regards,

Amish



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux