The following warnings occurred:
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 807 - File: showthread.php PHP 7.3.15 (Linux)
File Line Function
/showthread.php 807 errorHandler->error





Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Loading mixed compression initrds fails
2019-08-26, 07:19
Post: #1
Loading mixed compression initrds fails
I think that ipxe doesn't properly align the initrds into 4-byte boundaries or something, as if one tries to load two initrds of different compressions, it fails and the kernel reports "decompression error", while it works with grub.

For example, the Ubuntu initrd.img is actually two concatenated initrds: [early cpio microcode + main gzip initrd.img]
If I create an additional one of my own with:
Code:
# date > date.txt
# echo date.txt | cpio -oH newc | lzma > extra.img

And I specify in boot.ipxe:
Code:
initrd initrd.img
initrd extra.img

Then the problem is reproduced; while the same initrds are loaded fine with grub.

On the other hand using same compressions works, maybe because it doesn't have the alignment issue? I.e. [(cpio+gzip)+gzip] or [cpio+(cpio+gzip)] or [(cpio+lz4)+lz4] work.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
Loading mixed compression initrds fails - alkisg - 2019-08-26 07:19



User(s) browsing this thread: 1 Guest(s)