ramdisk.img в ramdisk.cpio.gz

ramdisk.img в ramdisk.cpio.gz

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

решение1

Нет, 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
    

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

решение2

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

Связанный контент