[Bug 1900796] Re: Moonshot ProLiant m400 fails to boot "Wrong Ramdisk Image Format"

dann frazier 1900796 at bugs.launchpad.net
Mon Jan 25 16:31:26 UTC 2021


I've verified that an m400 remains bootable after upgrading to and
executing the focal-proposed and groovy-proposed versions of flash-
kernel.

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

Title:
  Moonshot ProLiant m400 fails to boot "Wrong Ramdisk Image Format"

Status in ubuntu-kernel-tests:
  New
Status in flash-kernel package in Ubuntu:
  Fix Released
Status in plymouth package in Ubuntu:
  Invalid
Status in flash-kernel source package in Xenial:
  New
Status in plymouth source package in Xenial:
  Invalid
Status in flash-kernel source package in Bionic:
  Confirmed
Status in plymouth source package in Bionic:
  Invalid
Status in flash-kernel source package in Focal:
  Fix Committed
Status in plymouth source package in Focal:
  Invalid
Status in flash-kernel source package in Groovy:
  Fix Committed
Status in plymouth source package in Groovy:
  Invalid
Status in flash-kernel source package in Hirsute:
  Fix Released
Status in plymouth source package in Hirsute:
  Invalid

Bug description:
  [Impact]
  Due to a firmware (u-boot) bug in reading ext4 filesystems extents, ProLiant m400 systems may fail to boot after installing a new kernel. This seems to be exacerbated when there is limited free space on the /boot filesystem. HPE is no longer providing new firmware fixes for this platform.

  [Test Case]
  Install a new kernel and reboot. When this bug is triggered, you'll see the following errors (emphasis <<>> mine):

  ## Executing script at 4004000000
  11349894 bytes read in 312 ms (34.7 MiB/s)
  <<invalid extent block>>
  ## Booting kernel from Legacy Image at 4002000000 ...
     Image Name: kernel 5.8.0-25-generic
     Created: 2020-10-21 5:26:34 UTC
     Image Type: ARM Linux Kernel Image (gzip compressed)
     Data Size: 11349830 Bytes = 10.8 MiB
     Load Address: 00080000
     Entry Point: 00080000
     Verifying Checksum ... OK
  Wrong Ramdisk Image Format
  <<Ramdisk image is corrupt or invalid>>

  [Where Problems Could Occur]
  The workaround I've added here is to attempt to defrag the boot files so that the u-boot parsing bug is not triggered. This workaround is only activated for machines tagged with a certain property, and only the m400 server is tagged w/ that property. If there is a bug in detecting the platform or property, it could of course impact other platforms. Though it should be said that this code uses a well-established flash-kernel pattern. On the m400, the code only implements the workaround if /boot is on an ext4 filesystem (the Ubuntu default). If the filesystem detection code is buggy, we may unintentionally run e4defrag on a non-ext4 filesystem which could cause errors. Those errors currently only cause a warning to be printed - it does not fail the script. Users who miss this warning could still end up with an unbootable system if the workaround fails -- which it may, if the disk is very close to full. Long term, we should consider making this error fatal.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/1900796/+subscriptions



More information about the foundations-bugs mailing list