
Estoy usando clonezilla-1.2.12 y necesito agregar el firmware de Broadcom al initrd para que pueda arrancar en red.
(clonezilla está basado en Debian y Debian ya no incluye los blobs de firmware porque no son gratuitos. Naturalmente, clonezilla tampoco los incluye).
(No puedo usar el clonezilla basado en Ubuntu porque Ubuntu tiene un error en el que el chipset Broadcom 5708 simplemente no funciona).
Tengo lo que parece un buen proceso para hacerlo:
~# 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.img
PERO Linux se niega a reconocer el initrd rehecho:
También intenté crear un único archivo cpio (sin usar --append) y obtuve el mismo resultado.
Si me salto por completo la modificación del archivo y simplemente descomprimo/recomprimo, obtengo el mismo resultado.
¿Qué está pasando aquí?
Respuesta1
El culpable aquí fue el xz
paso. Parece que la versión de xz
mi escritorio estaba haciendo algo incompatible con el descompresor en el kernel de clonezilla.
Cambiar a gzip hace que funcione bien.
De acuerdo aSteven Shiau, es necesario utilizarlo --check=crc32
al recomprimir el initrd con xz. Después de hacer eso, ¡todo funciona bien!