ブログ

Armadillo-800シリーズ:ユーザーランドイメージのファイルを簡易的に変更する方法

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"が生成されます。