Howto

romfsイメージからファイルを抽出するには?

コンパクトフラッシュやハードディスクにシステムを展開したいときなどに利用できる手順です。

シェルスクリプトextromfs.shで、romfsイメージを任意のディレクトリに展開できます。ダウンロード後、Linux開発環境にコピーして、実行権限をつけた後(chmod +x extromfs.sh)、rootユーザで実行してください。

extromfs.shの使い方


[PC ~]# ./extromfs.sh [romfsファイル名] ([展開ディレクトリ名])

展開ディレクトリ名を省略した場合、romfsファイル名の前に「_(アンダーバー)」がつけられた名称のディレクトリが自動的に作成されます。

コンパクトフラッシュやハードディスクドライブをシステムドライブとして使用する場合、/etc/fstabを書き換える必要がありますので、展開したディレクトリ内のファイルを直接変更します。

通常、romfsの場合/dev/ram0となっているところを

  • コンパクトフラッシュの場合: /dev/hdc0
  • IDEの場合: /dev/hda0

と書き換えます。

また、ブートデバイスとする場合はカーネルをコピーします。

カーネルコピー例


[PC ~]$ mkdir _romfs.img/boot
[PC ~]$ cp linux.bin.gz _romfs.img/boot

その後、ディレクトリ内容をコンパクトフラッシュやハードディスクドライブにコピーします。Armadillo-9上で行う場合は、ソフトウェアマニュアル「11.CompactFlashシステム構築」を参考にしてください。

展開作業例


[PC ~]$ cd _romfs.img
[PC ~]$ tar cf - *|gzip -9 >../romfs.tar.gz
[PC ~]$ cd ..

[armadillo ~]$ su
[armadillo ~]# mount -t ramfs ramfs /home/ftp/pub
[armadillo ~]# chmod 777 /home/ftp/pub

[PC ~]$ ftp [Armadillo-9のIPアドレス]
Name: ftp
Password:
ftp> cd pub
ftp> bi
ftp> put romfs.tar.gz
ftp> bye

[armadillo ~]# mount /dev/hdc1 /mnt
[armadillo ~]# cd /mnt
[armadillo ~]# tar zxf /home/ftp/pub/romfs.tar.gz
[armadillo ~]# cd
[armadillo ~]# umount /mnt
[armadillo ~]# exit