at_kazutaka.bito
2018年4月16日 9時54分
Armadillo-800シリーズで、ユーザーランドイメージに簡易的に、ファイルの追加、変更を行う方法です。
以下、
オリジナルのイメージファイル:romfs_org.img.gz 変更後のイメージファイル:romfs.img.gz
とします。
ATDEに、オリジナルのイメージファイル(romfs_org.img.gz)置きます。
オリジナルのイメージファイルを展開します。
atmark@atde5:~$ gzip --stdout --decompress romfs_org.img.gz > romfs.img
ファイルを追加する等、ルートファイルシステムのサイズを増やす場合はresize2fsでサイズを変更します。
(下記は、fdisk -lで、変更前、後のサイズを確認しています。)
atmark@atde5:~$ sudo fdisk -l romfs.img atmark@atde5:~$ sudo resize2fs romfs.img [size※] atmark@atde5:~$ sudo fdisk -l romfs.img
[size※]:ルートファイルシステムのサイズを指定。112MBにするには、
atmark@atde5:~$ sudo resize2fs romfs.img 112M
とします。
※)カーネルで設定されているramdisk_sizeを超えることはできません。(下記はArmadillo-840の設定)
Linux Kernel Configuration Device Drivers ---> [*] Block devices ---> (131072) Default RAM disk size (kbytes)
ルートファイルシステムをマウントします。
atmark@atde5:~$ mkdir romfs atmark@atde5:~$ sudo mount -o loop romfs.img romfs
romfsディレクトリ内のファイルの変更を行います。
(ファイル操作時には、コマンドの前に"sudo"が必要です。)
ルートファイルシステムをアンマウントします。
atmark@atde5:~$ sudo umount romfs atmark@atde5:~$ rmdir romfs
ユーザーランドイメージを圧縮します。
atmark@atde5:~$ gzip romfs.img
圧縮されたイメージファイル"romfs.img.gz"が生成されます。