linux-firmware does not depend on initramfs-tools

Bug #1792189 reported by Robert C Jennings on 2018-09-12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
initramfs-tools (Ubuntu)
linux-firmware (Ubuntu)

Bug Description

In bug #1646197 the linux-firmware.postinst was added to call update-initramfs (provided by initramfs-tools. If the initramfs-tools package is not installed the installation of linux-firmware will fail.

sudo apt-get purge --assume-yes '^linux-.*' 'linux-base+' initramfs*
sudo apt-get install --assume-yes linux-generic

Setting up linux-modules-4.15.0-34-generic (4.15.0-34.37) ...
Setting up linux-headers-4.15.0-34 (4.15.0-34.37) ...
Setting up linux-headers-4.15.0-34-generic (4.15.0-34.37) ...
Setting up initramfs-tools-bin (0.130ubuntu3.3) ...
Setting up linux-firmware (1.173.1) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-1021-kvm
/usr/sbin/mkinitramfs: 66: .: Can't open /etc/initramfs-tools/initramfs.conf
update-initramfs: failed for /boot/initrd.img-4.15.0-1021-kvm with 2.
dpkg: error processing package linux-firmware (--configure):
 installed linux-firmware package post-installation script subprocess returned error exit status 2
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)

Builds of minimized images start with an image that has the linux-kvm kernel but lack initramfs-tools. Derivative builds that require a different kernel, linux-generic for example, will purge the existing kernel and install the correct kernel which could pull in linux-firmware and initramfs-tools. In that case the builds fail unless initramfs-tools is installed prior to kernel installation as a workaround for this missing package dependency.

This has been recreated on cosmic and bionic, a fix is desired on each. (I was unable to recreate on Xenial but that package lacks the dependency as well).

Related branches

Robert C Jennings (rcj) wrote :

script output from a recreate on bionic demonstrating the failure

Robert C Jennings (rcj) wrote :

Patch to add the dependency

Robert C Jennings (rcj) wrote :

script output from bionic with a linux-firmware deb with the above patch applied performing the installation without issue

tags: added: patch
Adam Conrad (adconrad) wrote :

This isn't a bug in linux-firmware, it shouldn't depend on initramfs-tools, but initrafms-tools shouldn't fail miserably when called in this fashion either.

affects: linux-firmware (Ubuntu) → initramfs-tools (Ubuntu)

The attachment "linux-firmware_1.173.1ubuntu1_source.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: removed: patch
Robert C Jennings (rcj) on 2018-09-19
Changed in initramfs-tools (Ubuntu):
status: New → Invalid
Changed in initramfs-tools (Ubuntu):
status: Invalid → Confirmed
Timo Aaltonen (tjaalton) on 2018-10-09
Changed in initramfs-tools (Ubuntu):
importance: Undecided → Medium
Dimitri John Ledkov (xnox) wrote :

Normally, postinst should only hint a trigger to run initramfs update. And not force creation of an initrd.

Dimitri John Ledkov (xnox) wrote :

I.e. instead of the current

$ cat debian/linux-firmware.postinst


set -e

if [ -x /usr/sbin/update-initramfs ]; then
 /usr/sbin/update-initramfs -u -k all


It should do instead

$ cat cat debian/linux-firmware.triggers
activate-noawait update-initramfs

Changed in initramfs-tools (Ubuntu):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers