void-linux / void-linux/void-packages
XBPS doesn't fail kernel installation if post-install kernel hook failed
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 3.4k
- Forks
- 2.8k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 299
Description
The problem: I updated kernel version, it successfully generated initramfs using drakut and copied kernel vmlinuz file to boot partition but failed to copy initramfs due to "No space left on device" error. Then xbps continued to execute configuration hooks and generated new grub config. Grub has found vmlinux file for new kernel, so it generated new entry for this version. But during boot initramfs was not found, so boot failed with kernel panic.
I'm suggesting to stop configuration execution if any hook fails and skip other hooks to avoid it.
xbps log:
[*] Configuring unpacked packages
linux6.1-6.1.7_1: configuring ...
Executing post-install kernel hook: 10-dkms ...
Available DKMS module: wireguard-1.0.20220627.
Building DKMS module: wireguard-1.0.20220627... skipped!
Generating kernel module dependency lists... done.
Executing post-install kernel hook: 10-mount ...
INFO: boot already mounted
Executing post-install kernel hook: 20-dracut ...
cp: error writing '/boot/initramfs-6.1.7_1.img': No space left on device
dracut: Creation of /boot/initramfs-6.1.7_1.img failed
Executing post-install kernel hook: 50-efibootmgr ...
Executing post-install kernel hook: 50-grub ...
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.1.7_1
Found initrd image: /boot/early_ucode.cpio
Found linux image: /boot/vmlinuz-6.1.3_1
Found initrd image: /boot/early_ucode.cpio /boot/initramfs-6.1.3_1.img
Found linux image: /boot/vmlinuz-5.16.20_1
Found initrd image: /boot/early_ucode.cpio
Found linux image: /boot/vmlinuz-5.16.16_1
Found initrd image: /boot/early_ucode.cpio /boot/initramfs-5.16.16_1.img
Found linux image: /boot/vmlinuz-5.16.7_1
Found initrd image: /boot/early_ucode.cpio
Found linux image: /boot/vmlinuz-5.15.82_1
Found initrd image: /boot/early_ucode.cpio
Found linux image: /boot/vmlinuz-5.4.66-gentoo-x86_64
Found initrd image: /boot/early_ucode.cpio /boot/initramfs-5.4.66-gentoo-x86_64.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
Executing post-install kernel hook: 99-umount ...
INFO: skip boot umount
linux6.1-6.1.7_1: installed successfully.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Start by tracing the XBPS kernel post-install hook sequence shown in the log, especially the failing 20-dracut hook; reproduce the no-space failure and verify that later hooks such as 50-grub are skipped and the kernel installation reports failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100