Upgrading from 8.04 to 10.04 fails on update-initramfs

Bug #530632 reported by Paul Elliott
30
This bug affects 5 people
Affects Status Importance Assigned to Milestone
module-init-tools (Ubuntu)
Fix Released
High
Michael Vogt
Lucid
Fix Released
High
Michael Vogt

Bug Description

Binary package hint: initramfs-tools

For the past 3 days (at least) I have been failing to upgrade 8.04 to 10.04 with do-release-upgrade -d due to a failure in the update-initramfs trigger. The terminal output is shown below:

Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.24-27-server
cpio: ./etc/modprobe.d/arch-aliases: Function stat failed: No such file or directory
update-initramfs: failed for /boot/initrd.img-2.6.24-27-server
dpkg: subprocess installed post-installation script returned error exit status 1

The upgrade then aborts. Please let me know what further information is required to help fix this issue.

Paul Elliott (omahn)
tags: added: lucid
Revision history for this message
Paul Elliott (omahn) wrote :

I've now replicated this on a clean install of 8.04 when upgrading to 10.04, screenshot attached showing the point of failure.

Revision history for this message
Paul Elliott (omahn) wrote :

Logs from /var/log/dist-upgrade from one of our test hosts (puppet2).

Revision history for this message
Michael Vogt (mvo) wrote :
Changed in initramfs-tools (Ubuntu):
status: New → Confirmed
importance: Undecided → High
milestone: none → ubuntu-10.04-beta-1
Revision history for this message
Peter Matulis (petermatulis) wrote :

I didn't have any trouble upgrading a JeOS/vmbuilder Hardy server today.

Revision history for this message
Paul Elliott (omahn) wrote :

A little piece of extra information that may be useful. Before I start the do-release-upgrade the file /etc/modprobe.d/arch-aliases exists as a symlink to ./arch/i386 but something appears to be removing it before the update-initramfs runs resulting in the error and failed upgrade. This leaves the system unbootable, any attempts to reboot result in the machine getting dropped to the initramfs shell.

Paul Elliott (omahn)
tags: added: hardy2lucid
Revision history for this message
Nathan Stratton Treadway (nathanst) wrote :
Download full text (3.7 KiB)

I also saw this error message during my Hardy -> Lucid server upgrade (which I was doing with a "do-release-upgrade -d" run from the command line). However, at least in my case the upgrade process continued processing packages after the error (proceeding to configure ones that were already "pending" at the time of the error), and I see that a later attempt to rebuilt the initrd image apparently succeeded.

Here are the lines from the "do-release-upgrade" output that seem to be related to this issue:

Selecting previously deselected package initramfs-tools-bin.
Unpacking initramfs-tools-bin (from .../initramfs-tools-bin_0.92bubuntu67_amd64.deb) ...
[...]
Preparing to replace busybox-initramfs 1:1.1.3-5ubuntu12 (using .../busybox-initramfs_1%3a1.13.3-1ubuntu9_amd64.deb) ...
Unpacking replacement busybox-initramfs ...
[...]
Preparing to replace initramfs-tools 0.85eubuntu39.3 (using .../initramfs-tools_0.92bubuntu67_all.deb) ...
Unpacking replacement initramfs-tools ...
[...]
Setting up initramfs-tools-bin (0.92bubuntu67) ...
[...]
Setting up busybox-initramfs (1:1.13.3-1ubuntu9) ...
[...]
Setting up initramfs-tools (0.92bubuntu67) ...
Installing new version of config file /etc/initramfs-tools/initramfs.conf ...
Installing new version of config file /etc/initramfs-tools/update-initramfs.conf ...
update-initramfs: deferring update (trigger activated)
[...]
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.24-23-server
[ generation apparently succeeded ...]
[...]
Preparing to replace module-init-tools 3.3-pre11-4ubuntu5.8.04.1 (using .../module-init-tools_3.11.1-1_amd64.deb) ...
Unpacking replacement module-init-tools ...
dpkg: warning: unable to delete old directory '/etc/modprobe.d/arch': Directory not empty
[...]
update-initramfs: Generating /boot/initrd.img-2.6.24-23-server
cpio: ./etc/modprobe.d/arch-aliases: Cannot stat: No such file or directory
update-initramfs: failed for /boot/initrd.img-2.6.24-23-server
dpkg: subprocess installed post-installation script returned error exit status 1
Exception during pm.DoInstall(): E:Sub-process /usr/bin/dpkg returned an error code (2)

Could not install the upgrades

The upgrade is now aborted. Your system could be in an unusable
state. A recovery will run now (dpkg --configure -a).

Please report this bug against the 'update-manager' package and
include the files in /var/log/dist-upgrade/ in the bug report.
installArchives() failed

[... the system continued with more "Setting up...." lines ...]

Setting up module-init-tools (3.11.1-1) ...
Removing obsolete conffile /etc/modprobe.d/aliases
Removing obsolete conffile /etc/modprobe.d/isapnp
Removing obsolete conffile /etc/modprobe.d/options
Removing obsolete conffile /etc/modprobe.d/arch/x86_64
Running depmod for 2.6.24-19-server...
Running depmod for 2.6.24-21-server...
Running depmod for 2.6.24-23-server...
[...]
Setting up initramfs-tools (0.92bubuntu67) ...
update-initramfs: deferring update (trigger activated)
[...]
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.24-23-server
[ generation apparently succeeded ...]

After the do-release-upgrade proce...

Read more...

Colin Watson (cjwatson)
Changed in initramfs-tools (Ubuntu Lucid):
assignee: nobody → Michael Vogt (mvo)
Revision history for this message
Michael Vogt (mvo) wrote :

This is what I see in the auto-upgrade tester:

Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.24-26-386
Processing triggers for python-support ...
update-initramfs: failed for /boot/initrd.img-2.6.24-26-386
dpkg: subprocess installed post-installation script returned error exit status 1
dist-upgrade.py returned: 1

Michael Vogt (mvo)
Changed in initramfs-tools (Ubuntu Lucid):
importance: High → Critical
Revision history for this message
Michael Vogt (mvo) wrote :

Paul in comment #5 is correct, the problem is that the symlink target for arch-aliases is removed, but the symlink is still there. It seems to depend on the unpack/configure order to happen, so not everyone will see it. I still set it to critical as it can prevent the machine to boot (initramfs busted).

The package that creates/maintains the symlink is "module-init-tools". On --unpack the symlink target vanishes after but the symlink is only removed when --configure is run. In my test-case its fuse-utils that triggers the update-initramfs update.

Michael Vogt (mvo)
Changed in initramfs-tools (Ubuntu Lucid):
status: Confirmed → Fix Committed
importance: Critical → High
Revision history for this message
Steve Langasek (vorlon) wrote :

This was fixed in the upload of module-init-tools 3.11.1-2. Changelog entry:

  * debian/module-init-tools.{pre,post}inst:
    - remove the /etc/modprobe.d/arch-aliases symlink earlier to
      fix update-initramfs failing when module-init-tools in
      unpacked but not yet configured (LP: #530632)

affects: initramfs-tools (Ubuntu Lucid) → module-init-tools (Ubuntu Lucid)
Changed in module-init-tools (Ubuntu Lucid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.