
Я использую clonezilla-1.2.12 и мне нужно добавить прошивку Broadcom в initrd, чтобы можно было выполнить сетевую загрузку.
(Clonezilla основана на Debian, а Debian больше не включает в себя файлы прошивки, поскольку они не являются свободными. Естественно, Clonezilla тоже этого не делает.)
(Я не могу использовать Clonezilla на базе Ubuntu, так как в Ubuntu есть ошибка, из-за которой чипсет Broadcom 5708 просто не работает.)
У меня есть, как мне кажется, хороший процесс для этого:
~# 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
НО Linux отказывается распознавать переделанный initrd:
Я также попробовал создать один архив cpio (без использования --append) и получил тот же результат.
Если я вообще пропущу изменение архива и просто распакую/сожму повторно, я все равно получу тот же результат.
Что здесь не так?
решение1
Виновником здесь был xz
шаг. Похоже, версия xz
на моем рабочем столе делала что-то несовместимое с декомпрессором в ядре clonezilla.
При переключении на gzip все работает нормально.
В соответствии сСтивен Шиау, необходимо использовать --check=crc32
при пересжатии initrd с помощью xz. После этого все работает отлично!