🎉

Yoctoのファイルシステム周りの小ネタ

2024/03/26に公開

ファイルシステム周りの小ネタです。

read only filesystemを使いたい

local.confに以下を追加

EXTRA_IMAGE_FEATURES += "read-only-rootfs"

read only file systemでも一部の領域だけ書き込みしたい

揮発してよいなら以下の設定で行える。以下の例は、揮発するが書き込み可能な/var/volatile/rootとrootのホームディレクトリをバインドして、 /home/rootでも書き込み可能なようにふるまう。

VOLATILE_BINDS:append = " \
    /var/volatile/root /home/root\n\
"

ビルドする前に以下のコマンドを実行しないとダメっぽい。

bitbake volatile-binds -c clean

WICでパーティションサイズを指定する

raucを使っている場合はmeta-rauc-community/meta-rauc-raspberrypi/wicにあるsdimage-dual-raspberrypi.wks.inを以下のように修正してみる。

part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4096 --size 100
part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label rootfs_A --align 4096 --fixed-size 3072M
part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label rootfs_B --align 4096 --fixed-size 3072M
part /data --fixed-size 100M --ondisk mmcblk0 --fstype=ext4 --label data --align 4096
part /home --source rootfs --rootfs-dir=${IMAGE_ROOTFS}/home --ondisk mmcblk0 --fstype=ext4 --label homefs --align 1024 --size 500 --fsoptions "x-systemd.growfs"

rootfs_A/rootfs_Bにそれぞれ--foxed-sizeで3GByteを割り当てた例です。
raucを使わない場合はmeta-raspberrypi/wicにあるsdimage-raspberrypi.wksを修正します。

Discussion