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マウント コマンドで必要になる場合があります。いつ必要になるかは覚えていません。)

  2. /mnt/ramdiskの内容から新しいnewc形式のcpioアーカイブを構築する

    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アーカイブに置き換えたいでしょう。カーネルソースには2番目の部分を実行するスクリプトがあります。以下をscripts/gen_initramfs_list.sh.読んでみてください。これ

関連情報