LINUX.ORG.RU

Избранные сообщения cs13

initramfs rebuild

Форум — Admin

Прошу помощи у специалистов.

Пытаюсь пересобрать initramfs - делаю так :

  • распаковываю оригинальный - в папке, куда скопировал initrd.xz делаю «xz -d ./initrd.xz && cat ./initrd | cpio -i -d -H newc»

  • в этой же папке , ничего не меняя, делаю «find . -print | cpio -H newc -o | xz -z -F xz -C crc32 –x86 –lzma2=dict=8MiB > ../initramfs.cpio.xz» . Нужен именно xz, кернел понимает только его, опции «–x86 –lzma2=dict=8MiB» тоже важны, без них кернел не принимает созданную initramfs. А эти опции видно при «xz -lvv ./initrd.xz»

  • Пробую запускать под QEMU кернел и оригинальный или мой initramfs - оригинальный нормально отрабатывает /init из initramfs, а мой - выводит кучу строк «modprobe: FATAL: Error running install command for binfmt_0000» и потом «Failed to execute /init (error -8)»

  • распаковываю оба initramfs в разные папки и сравниваю их между собой :

  • размер папок по «du -sb .» одинаковый

  • делаю для папок «find . -type f -print | xargs md5sum -b > ../md5s.txt» и сравнимаю оба файла контр. сумм - отличий нет

  • делаю для папок «ls -lR» и сравниваю вывод - отличие только во времени распаковки

Т.е папки вроде бы не отличичаются, но мой initramfs не работает. Подскажите, куда копать ?

 ,

kswksw
()