[Bug 2095518] Re: dracut-install does not install compressed wildcard blobs

You-Sheng Yang 2095518 at bugs.launchpad.net
Wed Jan 22 15:15:46 UTC 2025


Jammy doesn't seem to support per blob zst compression, but it still has
the same problem with xz compressed blobs.

** Description changed:

+ [Describe the bug]
+ 
  Take kernel module intel-ish-ipc for example, it has two firmware
  declarations:
  
  ```
  $ modinfo intel-ish-ipc | grep ^firmware
  firmware: intel/ish/ish_*.bin
  firmware: intel/ish/ish_lnlm.bin
  ```
  
- And with additional custom ISH firmware installed from bug 2094768,
- update-initramefs gives:
+ And with additional custom ISH firmware installed from [bug
+ 2094768](https://bugs.launchpad.net/bugs/2094768), update-initramefs
+ gives:
  
  ```
  $ update-initramefs -v -u -k $(uname -r)
  ...
  dracut-install: Missing firmware intel/ish/ish_*.bin for kernel module intel_ish_ipc
  dracut-install: mkdir '/var/tmp/mkinitramfs_9uk7FI/lib/firmware/intel/ish'
  dracut-install: cp '/lib/firmware/intel/ish/ish_lnlm_39ceeaf8_58.7724.2.bin.zst' '/var/tmp/mkinitramfs_9uk7FI/lib/firmware/intel/ish/ish_lnlm_39ceeaf8_58.7724.2.bin.zst'
  dracut-install: ln -s 'ish_lnlm_39ceeaf8_58.7724.2.bin.zst' '/var/tmp/mkinitramfs_9uk7FI/lib/firmware/intel/ish/ish_lnlm.bin.zst'
  ...
- 
  ```
  
- In source code for /usr/lib/dracut/dracut-install, that is, source
- package dracut, file src/install/dracut-install.c, function
- install_firmware, it tries to invoke `glob()` with full path expanded
+ In source code for `/usr/lib/dracut/dracut-install`, that is, source
+ package dracut, file `src/install/dracut-install.c`, function
+ `install_firmware`, it tries to invoke `glob()` with full path expanded
  from "intel/ish/ish_*.bin", but while all the binaries were compressed,
  this matches no file and none of the custom ISH firmware blobs will be
  installed.
+ 
+ [Distribution used]
+ 
+ Ubuntu
+ 
+ [Dracut version]
+ 
+ This was first found in Ubuntu/Noble, which has 060, but from the git
+ history and the differences, this should be reproducible with all
+ versions of dracut.
+ 
+ [Init system]
+ 
+ Systemd.
+ 
+ [To Reproduce]
+ 
+ 1. touch `/lib/firmware/intel/ish/ish_foo.bin.zst`
+ 2. `update-initramefs -v -u -k $(uname -r)`, and check if above file was added.
+ 
+ [Expected behavior]
+ 
+ Any file under `/lib/firmware/intel/ish` matches `intel/ish/ish_*.bin`,
+ compressed (.zst, .xz) or uncompressed (.bin), should be added into the
+ newly created initramefs.
+ 
+ [Additional context]
+ 
+ Upstream bug: https://github.com/dracut-ng/dracut-ng/issues/1150

** Also affects: dracut (Ubuntu Jammy)
   Importance: Undecided
       Status: New

** Also affects: dracut (Ubuntu Oracular)
   Importance: Undecided
       Status: New

** Also affects: dracut (Ubuntu Plucky)
   Importance: Undecided
       Status: New

** Also affects: dracut (Ubuntu Noble)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dracut in Ubuntu.
Matching subscriptions: dracut
https://bugs.launchpad.net/bugs/2095518

Title:
  dracut-install does not install compressed wildcard blobs

Status in dracut package in Ubuntu:
  New
Status in dracut source package in Jammy:
  New
Status in dracut source package in Noble:
  New
Status in dracut source package in Oracular:
  New
Status in dracut source package in Plucky:
  New

Bug description:
  [Describe the bug]

  Take kernel module intel-ish-ipc for example, it has two firmware
  declarations:

  ```
  $ modinfo intel-ish-ipc | grep ^firmware
  firmware: intel/ish/ish_*.bin
  firmware: intel/ish/ish_lnlm.bin
  ```

  And with additional custom ISH firmware installed from [bug
  2094768](https://bugs.launchpad.net/bugs/2094768), update-initramefs
  gives:

  ```
  $ update-initramefs -v -u -k $(uname -r)
  ...
  dracut-install: Missing firmware intel/ish/ish_*.bin for kernel module intel_ish_ipc
  dracut-install: mkdir '/var/tmp/mkinitramfs_9uk7FI/lib/firmware/intel/ish'
  dracut-install: cp '/lib/firmware/intel/ish/ish_lnlm_39ceeaf8_58.7724.2.bin.zst' '/var/tmp/mkinitramfs_9uk7FI/lib/firmware/intel/ish/ish_lnlm_39ceeaf8_58.7724.2.bin.zst'
  dracut-install: ln -s 'ish_lnlm_39ceeaf8_58.7724.2.bin.zst' '/var/tmp/mkinitramfs_9uk7FI/lib/firmware/intel/ish/ish_lnlm.bin.zst'
  ...
  ```

  In source code for `/usr/lib/dracut/dracut-install`, that is, source
  package dracut, file `src/install/dracut-install.c`, function
  `install_firmware`, it tries to invoke `glob()` with full path
  expanded from "intel/ish/ish_*.bin", but while all the binaries were
  compressed, this matches no file and none of the custom ISH firmware
  blobs will be installed.

  [Distribution used]

  Ubuntu

  [Dracut version]

  This was first found in Ubuntu/Noble, which has 060, but from the git
  history and the differences, this should be reproducible with all
  versions of dracut.

  [Init system]

  Systemd.

  [To Reproduce]

  1. touch `/lib/firmware/intel/ish/ish_foo.bin.zst`
  2. `update-initramefs -v -u -k $(uname -r)`, and check if above file was added.

  [Expected behavior]

  Any file under `/lib/firmware/intel/ish` matches
  `intel/ish/ish_*.bin`, compressed (.zst, .xz) or uncompressed (.bin),
  should be added into the newly created initramefs.

  [Additional context]

  Upstream bug: https://github.com/dracut-ng/dracut-ng/issues/1150

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dracut/+bug/2095518/+subscriptions




More information about the foundations-bugs mailing list