1

У меня есть файл ramdisk.img, который я хотел бы изменить на ramdisk.cpio.gz. Могу ли я просто переименовать файл или мне нужно пройти весь процесс архивирования? Если мне нужно пройти процесс архивации, может кто-нибудь сказать, пожалуйста, шаги, необходимые для этого процесса.

2 ответа2

3

Нет, ramdisk.img - это полная файловая система. Вам нужно будет

  1. Смонтируйте .img в каталоге, например

    mkdir /mnt/ramdisk
    mount ramdisk.img /mnt/ramdisk
    

    Теперь вы должны увидеть файлы в /mnt /ramdisk. (Вам может понадобиться -o loop в команде mount - я никогда не смогу вспомнить, когда это необходимо.)

  2. Создайте новый архив cpio в формате newc из содержимого /mnt /ramdisk

    cd /mnt/ramdisk
    find . -print |cpio -H newc -o |gzip -9 > ~/ramdisk.cpio.gz
    
  3. Размонтировать / очистить

    umount /mnt/ramdisk
    rm -rf /mnt/ramdisk
    

Это все из головы, поэтому могут содержать глупые ошибки. Надеюсь, что это работает!

1

Возможно, вы захотите заменить образ initrd архивом initramfs. В исходниках ядра есть скрипт для выполнения второй части. Это находится в scripts/gen_initramfs_list.sh. Вы можете прочитать это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .