У меня есть файл ramdisk.img, который я хотел бы изменить на ramdisk.cpio.gz. Могу ли я просто переименовать файл или мне нужно пройти весь процесс архивирования? Если мне нужно пройти процесс архивации, может кто-нибудь сказать, пожалуйста, шаги, необходимые для этого процесса.
2 ответа
Нет, ramdisk.img
- это полная файловая система. Вам нужно будет
Смонтируйте .img в каталоге, например
mkdir /mnt/ramdisk mount ramdisk.img /mnt/ramdisk
Теперь вы должны увидеть файлы в /mnt /ramdisk. (Вам может понадобиться
-o loop
в команде mount - я никогда не смогу вспомнить, когда это необходимо.)Создайте новый архив cpio в формате newc из содержимого /mnt /ramdisk
cd /mnt/ramdisk find . -print |cpio -H newc -o |gzip -9 > ~/ramdisk.cpio.gz
Размонтировать / очистить
umount /mnt/ramdisk rm -rf /mnt/ramdisk
Это все из головы, поэтому могут содержать глупые ошибки. Надеюсь, что это работает!
Возможно, вы захотите заменить образ initrd архивом initramfs. В исходниках ядра есть скрипт для выполнения второй части. Это находится в scripts/gen_initramfs_list.sh.
Вы можете прочитать это.