
Estou usando o clonezilla-1.2.12 e preciso adicionar o firmware Broadcom ao initrd para que ele possa inicializar pela rede.
(o clonezilla é baseado em debian e o debian não inclui mais os blobs de firmware, pois eles não são livres. Naturalmente, o clonezilla também não.)
(Não posso usar o clonezilla baseado no Ubuntu, pois o Ubuntu tem um bug onde o chipset Broadcom 5708 simplesmente não funciona.)
Eu tenho o que parece ser um bom processo para fazer isso:
~# 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
MAS o Linux se recusa a reconhecer o initrd refeito:
Também tentei fazer um único arquivo cpio (sem usar --append) e obtive o mesmo resultado.
Se eu pular completamente a modificação do arquivo e apenas descompactar/recompactar, ainda obterei o mesmo resultado.
o que há de errado aqui?
Responder1
O culpado aqui foi o xz
passo. Parece que a versão do xz
meu desktop estava fazendo algo incompatível com o descompressor no kernel do clonezilla.
Mudar para o gzip faz com que funcione perfeitamente.
De acordo comSteven Shiau, é necessário usar --check=crc32
ao recomprimir o initrd com xz. Depois de fazer isso, tudo funciona bem!