This service is available only in Japanese-language.
http://elinux.org/RZ-G/Boards/Yocto 上記手順に従ってbitbake core-image-weston にて作成されるrootfs に不要なファイルが存在します。該当するRecipesが複雑で修正が困難なため、rootfs が出来上がった直後に削除したいのですが、どうしたらよいですか。
Seh
2016/12/17 (土) 15:30
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' }
この処理で、該当するファイルが削除されます。
そのほか、スクリプトを調整することでいろいろな処理が可能です。
yakuhito
2018/5/23 (水) 14:37
上記方法で変更を行ってしまうと、将来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' } ===============================================================
2019/3/5 (火) 16:15
PACKAGE_EXCLUDE = "削除対象パッケージ名(not レシピ名)" で、イメージに含めないように指定することは可能です。 同一のプロジェクトで複数のイメージの生成を行い、特定のイメージのみ含めたくない場合は PACKAGE_EXCLUDE_pn_ に続けてイメージレシピ名を記載することで、特定のパッケージの インストールを行わない指定が可能となります。 https://www.yoctoproject.org/docs/2.6.1/ref-manual/ref-manual.html#var-P...
Seh
2016/12/17 (土) 15:30
poky/meta/classes/image
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'
}
この処理で、該当するファイルが削除されます。
そのほか、スクリプトを調整することでいろいろな処理が可能です。
yakuhito
2018/5/23 (水) 14:37
既存のclassファイルの編集はお勧めできない方法です
上記方法で変更を行ってしまうと、将来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'
}
===============================================================
yakuhito
2019/3/5 (火) 16:15
パッケージ単位となりますが
PACKAGE_EXCLUDE = "削除対象パッケージ名(not レシピ名)"
で、イメージに含めないように指定することは可能です。
同一のプロジェクトで複数のイメージの生成を行い、特定のイメージのみ含めたくない場合は
PACKAGE_EXCLUDE_pn_ に続けてイメージレシピ名を記載することで、特定のパッケージの
インストールを行わない指定が可能となります。
https://www.yoctoproject.org/docs/2.6.1/ref-manual/ref-manual.html#var-P...