I'm using clonezilla-1.2.12 and need to add the Broadcom firmware to the initrd so it can netboot.(clonezilla is debian-based and debian no longer includes the firmware blobs as they're non-free. Naturally then clonezilla doesn't either.)(I can't use the Ubuntu-based clonezilla as Ubuntu has a bug in it where the Broadcom 5708 chipset Just Doesn't Work.)I have what seems like a good process for doing so:~# mkdir /tmp/cz-newinitrd ~# cd /tmp/cz-newinitrd/tmp/cz-newinitrd# xzcat /media/CLONEZILLA/live/initrd.img.orig > initrd/tmp/cz-newinitrd# (cd /; find lib/firmware/bnx2 | cpio -o -H newc --append -O /tmp/cz-newinitrd/initrd)/tmp/cz-newinitrd# xz -c initrd > /media/CLONEZILLA/live/initrd.imgBUT linux refuses to recognize the redone initrd:I also tried making a single cpio archive (without using --append) and got the same result.If I completely skip modifying the archive and just uncompress/recompress I still get the same result.What is going wrong here?
Adding files to initrd makes linux not be able to read it
linux;initrd;clonezilla
The guilty culprit here was the xz step. Looks like the version of xz on my desktop was doing something incompatible with the decompressor in the clonezilla kernel.Switching to gzip makes it works just fine.According to Steven Shiau, it's necessary to use --check=crc32 when recompressing the initrd with xz. After doing that, everything works fine!