Red Hat Bugzilla – Bug 536676
incomplete/truncated initrd when /boot is very close to full
Last modified: 2010-12-03 22:24:27 EST
I attempted to preupgrade from F11 to F12 (currently rawhide) on a KVM guest with a very full /boot.
(Note that due to the increased size of the F12 installer images and dracut-created initrd, this is a fairly common case.)
Since /boot was so close to full, anaconda at first refused to perform the upgrade, saying 8MB more space was needed. After running 'tune2fs -r 0 /dev/vda1' anaconda ran successfully. There were no scriptlet errors in /root/upgrade.log.
On reboot, the following messages appeared:
RAMDISK: incomplete write (22893 != 32768)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
which seems to indicate a problem unpacking/finding the initrd. I retrieved the initrd and attempted to examine it, which led to some gzip/cpio errors:
gzip: /tmp/initramfs-220.127.116.11-127.fc12.x86_64.img: invalid compressed data--crc error
gzip: /tmp/initramfs-18.104.22.168-127.fc12.x86_64.img: invalid compressed data--length error
cpio: premature end of file
My guess is that some part of the initrd creation process did not check for sufficient free space and/or ignored an error about running out of space on the device.
With a /boot filesystem it is too easy to end up with
a bad upgrade for want of space.
preupgrade-gtk and friends should check if /boot is
an isolated filesystem and then check if it has sufficient
space for preupgrade tricks.
This applies to both a fc10-2-fc11 and an fc11-2-fc12 upgrade.
With changes to grub and since this is an easy check and
since failure to notice the problem results in a badly broken
system the priority should be improved.
Example of what used to be a 'big enough' /boot
and why it is not.
$ df -h
Filesystem Size Used Avail Use% Mounted on
273G 130G 129G 51% /
tmpfs 1.8G 276K 1.8G 1% /dev/shm
20G 189M 19G 2% /tmp
/dev/sda1 190M 158M 23M 88% /boot
$ du -s /boot/*
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
Still happens preupgrade-1.1.5-1.fc12.
but see bug 573451
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '12'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 12's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 12 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version.
Thank you for reporting this bug and we are sorry it could not be fixed.