so what grub is doing is correct.

It pads/aligns every initrd by 4, which is fine, and as per spec.

initramfs size can be filled with arbitrary amount of "\0" all the way
upto initramfs_size.

"In human terms, the initramfs buffer contains a collection of
compressed and/or uncompressed cpio archives (in the “newc” or “crc”
formats); arbitrary amounts zero bytes (for padding) can be added
between members."

Thus it feels to me that decompress_unlz4.c method in the kernel does
not correctly stop decompressing and returning consumed output position

For example, decompress_inflate.c skips over trailer and updates output
pos by 8, at the end of successful conversion.

Similarly unlzma also updates posp at the end of conversion.

You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to initramfs-tools in Ubuntu.

  initramfs unpacking failed

Status in OEM Priority Project:
Status in grub2 package in Ubuntu:
Status in initramfs-tools package in Ubuntu:
Status in linux package in Ubuntu:

Bug description:
  "initramfs unpacking failed: Decoding failed",  message appears on
  boot up.

  If I "update-initramfs" using gzip instead of lz, then boot up passes
  without decoding failed message.


  However, we currently believe that the decoding error reported in
  dmesg is actually harmless and has no impact on usability on the

  Switching from lz4 to gzip compression, simply papers over the
  warning, without any benefits, and slows down boot.

  Kernel should be fixed to correctly parse lz4 compressed initrds, or
  at least lower the warning, to not be user visible as an error.

To manage notifications about this bug go to:

Mailing list:
Post to     :
Unsubscribe :
More help   :

Reply via email to