void-linux / void-linux/void-packages

XBPS doesn't fail kernel installation if post-install kernel hook failed

Open
#42,047 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.