This service is available only in Japanese-language.

パッケージ

bootchartのログ有効化

今月のインターフェース(2024年10月号)のP30に載っていた以下の処理(bootchartのカーネルログ有効化)を手操作ではなくレシピで実装するにはどうしたらいいでしょうか?
---
1) cmdline.txtに以下の内容を追加
init=/lib/systemd/systemd-bootchart initcall_debug

2) rootfsの以下のリンクを削除
/etc/systemd/system/sysinit.target.wants/systemd-bootchart.service
---

1)に関しては、すでに作成していた local/recipes-bsp/bootfiles/rpi-cmdline.bbappendを編集して追加したらできると思いますが、local/recipes-devtools/systemd-bootchart/systemd-bootchart_%.bbappendの中から(1)の追加内容だけをcmdline.txtに足すことはできないでしょうか?
2)に関しては、systemd-bootchart_%.bbappendの中に書いたdo_install:append()でrmコマンドで消そうとしても消えませんでした。

よろしくお願いします。

kirkstoneのmeta-javaについて

Ti社製AM3358において、dunfellからkirkstoneに上げた後
meta-javaの動きが遅くなりまともに使えないものとなってしまい、
対処方法に関して相談させてください。

具体的には
java -help と打った時の応答時間がdunfell時に7[s]程度に対して2分程度
かかるようになっています。

/usr/lib/jvm/openjre-8/lib/aarch32/client/libjvm.so

をdunfellでビルドしたmeta-javaの環境から持ってきたものと入れ替えを実施したところ改善し、
25[s]程度で応答が返るようになりました。

kirkstone版のmeta-javaでビルドしたものそのままを使用するのが正しい方法かと思いますが
このままではdunfell版のと差し替えしないと十分なパフォーマンスが得られません。

もし良い方法があれば教示いただきたくお願いします。

dropbear+openssh sftp serverの実装について

dropbear+openssh sftp serverの実装を検討しています
必要なパッケージをご教授ください。
(背景)
Yocto4.0にて、eclipseを使った開発環境を用意しています。
Yocto標準のdropbearを使う想定で、opensshは使用しません。
dropbearにはsftp機能が無いようで、openssh-sftp-serverを必要とする模様です。
https://qiita.com/nfwork01/items/8807e061d3f46a405e2d

おそらくですが、packagegroup-core-ssh-dropbearのレシピを導入することで、
openssh-sftp-serverに対応できるのではないかと想定していますが、認識は正しいでしょうか?
https://layers.openembedded.org/layerindex/recipe/300873/

以上、よろしくお願いいたします。

Yoctoに入っている各パッケージのサイズを知る方法について

Yoctoに入っている各パッケージのサイズを知る方法をご教授ください。
ubuntuでは以下コマンドで確認できるのですが、
$ dpkg-query -W -f='${Installed-Size}\t${Package}\n' | sort -nr | less
Yoctoでは dpkg-query -l でのパッケージ一覧でさえ表示されません。dpkgは追加済です。

GTK+(GTK2)パッケージの追加時のエラーについて

質問失礼いたします。

Renesas RZ/V2L評価ボードへ、GTK2パッケージの追加を試みておりますが、
エラーの対処に苦難しており、ご相談させてください。

【bitbake環境】
・Ubuntu20.04
・RZ/V Verified Linux Package version 3.0.5

【経緯】
build時に/build/conf/local.confへ
============================
IMAGE_INSTALL_append = " gtk+ gtk+-dev"
============================

を追記し、bitbakeを実行したところ、
---------------------------------------------------
ERROR: Nothing RPROVIDES 'gtk+' (but /home/user/rzv_vlp_v3.0.5/build/../poky/meta/recipes-graphics/images/core-image-weston.bb RDEPENDS on or otherwise requires it)
gtk+ was skipped: one of 'x11 directfb' needs to be in DISTRO_FEATURES
NOTE: Runtime target 'gtk+' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['gtk+']
ERROR: Required build target 'core-image-weston' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-weston', 'gtk+']
--------------------------------------------------

とのエラーが確認されました。
そこで、/build/conf/local.conf中の記載を、
===========================
# Enable wayland and disable x11
DISTRO_FEATURES_append = " wayland"
DISTRO_FEATURES_remove = " x11"
DISTRO_FEATURES_NATIVESDK_append = " wayland"
DISTRO_FEATURES_NATIVESDK_remove = " x11"
===========================

から、
===========================
# Enable wayland and disable x11
DISTRO_FEATURES_append = " wayland x11"
DISTRO_FEATURES_NATIVESDK_append = " wayland x11"
===========================

へと記載を変更いたしました。
しかし、
-------------------------------------------------
ERROR: libepoxy-1.5.4-r0 do_prepare_recipe_sysroot: The file /usr/include/gbm.h is installed by both mali-library and mesa, aborting
ERROR: Logfile of failure stored in: /home/user/rzv_vlp_v3.0.5/build/../poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.4-r0/temp/log.do_prepare_recipe_sysroot.50863
ERROR: Task (/home/user/rzv_vlp_v3.0.5/build/../poky/meta/recipes-graphics/libepoxy/libepoxy_1.5.4.bb:do_prepare_recipe_sysroot) failed with exit code '1'
ERROR: cairo-1.16.0-r0 do_prepare_recipe_sysroot: The file /usr/include/gbm.h is installed by both mali-library and mesa, aborting
ERROR: Logfile of failure stored in: /home/user/rzv_vlp_v3.0.5/build/tmp/work/aarch64-poky-linux/cairo/1.16.0-r0/temp/log.do_prepare_recipe_sysroot.50862
ERROR: Task (/home/user/rzv_vlp_v3.0.5/build/../poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb:do_prepare_recipe_sysroot) failed with exit code '1'
NOTE: Tasks Summary: Attempted 6275 tasks of which 6148 didn't need to be rerun and 2 failed.
--------------------------------------------------

とのエラー文が表示されました。

エラーへの対処方法、
もしくはGTK2パッケージの追加方法についてご教示いただけましたら幸いです。

Electronフレームワークの導入について

rocko (Yocto Project 2.4)にて、Electronフレームワークの導入を考えています。
どのようなパッケージが必要で、local.confにどのような記載を行えばよいかご教授ください。

デーモンをOS起動時に自動実行させたくない場合に記述するレシピの書き方

よろしくお願いいたします。

現在 yocto kirkstone 上にて raspberry pi cm4 のOSイメージを構築しております。その中で、OS起動時にある処理を行った後にmonit(これは例です)を起動したいという要望があったとします。

yocto warrior を使用していたときは、以下レシピ(monit-startup-cansel.bb)を作成し、core-image-base.bbappendを別途用意し、そこで「IMAGE_INSTALL:append = " monit"」「IMAGE_INSTALL:append = " monit-startup-cansel"」を記述して対処しました。
※initはsysVinitを選択しております。
--------
DESCRIPTION = "monit startup cansel"
SUMMARY = "Custom recipe : monit startup cancel"
SECTION = "PRIVATE"
LICENSE = "CLOSED"
PR = "r0"
LIC_FILES_CHKSUM = "file:///${COMMON_LICENSE_DIR}/eCos-2.0;md5=8c3ea41d02fa9c9253c692351e5940e7"

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

inherit autotools update-rc.d

PACKAGES = "monit-startup-cansel"
RDEPENDS_${PN} = "initscripts monit"

FILES_${PN} += "${sysconfdir}/init.d/monit"
SRC_URI += ""

INITSCRIPT_PACKAGES = "monit-startup-cansel"
INITSCRIPT_NAME_monit-startup-cansel = "monit"
INITSCRIPT_PARAMS_monit-startup-cansel = "remove"

do_compile() {
:
}

pkg_postinst_ontarget_${PN}() {
:
}

do_install() {
install -d ${D}${sysconfdir}/init.d

bbnote "monit-startup-cansel.bb : do_install is complite."
}
--------

yocto kirkstone でも引き続き同じことをしたく、以下の対応レシピを用意しました(のちにautotoolsをinheritする必要はないなと思いましたのでここでは消してあります)。
--------
DESCRIPTION = "monit startup cansel"
SUMMARY = "Custom recipe : monit startup cancel"
SECTION = "PRIVATE"
LICENSE = "CLOSED"
PR = "r0"
LIC_FILES_CHKSUM = "file:///${COMMON_LICENSE_DIR}/eCos-2.0;md5=8c3ea41d02fa9c9253c692351e5940e7"

FILESEXTRAPATHS:prepend := "${THISDIR}/files:"

inherit update-rc.d

PACKAGES = "monit-startup-cansel"
RDEPENDS:${PN} = "initscripts monit"

FILES:${PN} += "${sysconfdir}/init.d/monit"
SRC_URI += ""

INITSCRIPT_PACKAGES = "monit-startup-cansel"
INITSCRIPT_NAME:${PN} = "monit"
INITSCRIPT_PARAMS:${PN} = "remove"

do_install() {
install -d ${D}${sysconfdir}/init.d

bbnote "monit-startup-cansel.bb : do_install is complite."
}
--------

すると、以下のエラーが発生し bitbake が失敗しました。
--------
WARNING: core-image-base-1.0-r0 do_rootfs: monit-startup-cansel.postinst returned 1, marking as unpacked only, configuration required on target.
ERROR: core-image-base-1.0-r0 do_rootfs: Postinstall scriptlets of ['monit-startup-cansel'] have failed. If the intention is to defer them to first boot,
then please place them into pkg_postinst_ontarget:${PN} ().
Deferring to first boot via 'exit 1' is no longer supported.
--------

エラー内容からしますと、インストールするべき内容物が何もないからだろうと判断しましたが、これではデーモンを自動実行しないようにするという目的が果たせません。
ちなみに、「INITSCRIPT_PARAMS:${PN} = "stop 1 2 3 4 5 ."」とアプローチを変えるとエラーが発生しませんでしたが自動実行されてしまい目的は達成できませんでした。
このような場合の対処法をご教示いただければと存じます。

devtool modify でnet-toolsの展開ができません

net-tools(厳密には当該レシピに含まれるmii-tools)を編集したく,devtoolでソースコードを展開しようとしたのですが
展開の時点で既存patchの適用でエラーが出ます。
通常のbitbake net-toolsは問題なく完了します。
今までdevtoolによる各種ソースコードの編集を行っており,使用方法には問題ないかと考えるのですが,
誤っている点がないかご確認いただけますでしょうか

・実行したコマンド
devtool modify net-tools ../../devtool/nettools

・エラー内容
ERROR: Applying 'musl-fixes.patch' failed:
checking file lib/inet6_gr.c
checking file lib/inet6_sr.c
checking file lib/inet_sr.c
Hunk #1 succeeded at 25 (offset -1 lines).
checking file lib/util-ank.c
checking file mii-tool.c
Hunk #1 FAILED at 47.
1 out of 1 hunk FAILED
checking file netstat.c
Hunk #1 FAILED at 87.
1 out of 1 hunk FAILED
checking file slattach.c

CVEチェックについて

ビルドするパッケージの脆弱性を"cve-check"をlocal.confに追加することでチェックする機能があると伺いました。
bitbake core-image-minimalを実行したところ、下記のようなメッセージが出力されるのですが何か不足していることがあるのでしょうか。

WARNING: cve-check-tool-native-5.6.4-r0 do_populate_cve_db: Error in executing cve-check-update
WARNING: cve-check-tool-native-5.6.4-r0 do_populate_cve_db: Failed to update cve-check-tool database, CVEs won't be checked

以上、よろしくお願いいたします。

特定のパッケージをIMAGE_INSTALL(or最終ビルドイメージにインストールさせている命令)させているレシピを特定したい

特定のパッケージをIMAGE_INSTALL(or最終ビルドイメージにインストールさせている命令)させているレシピを特定することは可能でしょうか?

通常だと、local.confでIMAGE_INSTALLするのが一般的だと思いますが、明示的にIMAGE_INSTALLしていなくても最終ビルドイメージにインストールされるものもあります。
そのようなパッケージはlocal.conf以外のどこかでINSTALL命令が書かれていると推測しますが、その命令文が書かれたレシピを特定したいです。

具体例では、、、
poky/meta/recipes-extended/procps にprocpsというレシピがあり、
Yoctoのsumoだと、local.confでIMAGE_INSTALL させていないのにprocpsが入ることを確認しています。一方で
Yoctoのdunfellだと、local.confでIMAGE_INSTALL させないとprocpsが入らなかったです。
sumoもdunfellもbitbake-layers show-recipes一覧表示をさせるとprocpsが表示されましたが、最終ビルドイメージにインストールされるかどうかという点で差異が出ました。
そこで、前者のsumoはどのファイルでprocpsをINSTALLさせているのか、特定してこの挙動の差を明らかにしたい、というのが本質問の意図です。

よろしくお願いいたします。

ページ