This service is available only in Japanese-language.

Rootfsから不要なファイルの削除方法

http://elinux.org/RZ-G/Boards/Yocto
上記手順に従ってbitbake core-image-weston にて作成されるrootfs に不要なファイルが存在します。該当するRecipesが複雑で修正が困難なため、rootfs が出来上がった直後に削除したいのですが、どうしたらよいですか。

poky/meta/classes/image.bbclass
に以下のような部分を追加してください。

ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function ; "

my_postprocess_function() {
rm -f '${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/neard.service'
rm -f '${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/distcc.service'
rm -f '${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/avahi-daemon.service'
rm -f '${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/ofono.service'
}

この処理で、該当するファイルが削除されます。

そのほか、スクリプトを調整することでいろいろな処理が可能です。

上記方法で変更を行ってしまうと、将来BSPがアップデートされた際に、ここで行った変更は上書きされ無効となってしまいます。
また、imageに変更を行う場合、bbappendで変更を記述した場合に、オリジナルを作る際に追加したレイヤーを無効化するなど
比較する際に手間がかかるため、poky/meta-skeleton/recipes-multilib/images/core-image-multilib-example.bb を参考に
既存のimageレシピをベースに変更点を記述した新規イメージを作成する方法をお勧めします。

ここケースでは、
1. 新規にレイヤーを作成する
2. 作成したレイヤー内に、recipies-core/images ディレクトリを作成する
3. imageディレクトリ内に、core-image-weston-diet.bb というイメージレシピを作成する
===============================================================
require recipes-graphics/images/core-image-weston.bb
# ↑ベースとなるイメージを読み込む宣言

ROOTFS_POSTPROCESS_COMMAND += "my_postprocess_function ; "
# ↑do_rootfs実行後に行う処理を追加するタスクを追加

# ↓実際のタスクの内容を記述
my_postprocess_function() {
rm -f '${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/neard.service'
rm -f '${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/distcc.service'
rm -f '${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/avahi-daemon.service'
rm -f '${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/ofono.service'
}
===============================================================