This service is available only in Japanese-language.
systemdからsysvinitへの変更方法として下記の方法をご案内いただきました。
■sysvinitへの変更方法
https://github.com/nxp-imx/meta-imx/commit/e2d6d55269d0a47587e4e0836cb90...の更新以降、DISTROの設定としてsystemdが有効となっています。
この変更を戻す手順をお知らせします。
1. BBPATHをmeta-imxよりも先に来るように設定したレイヤーを作成する
(conf/layer.conf 内のBBPATHの追加時に、先頭に来るように記載)
2. conf/distro/include/ 内にfsl-imx-preferred-env.inc をコピーする
3. コピーした、fsl-imx-preferred-env.inc の63行目から67行目をコメントにする
こちらはうまくいったのですが、sysvinit_inittabがbash(GPLv3)に依存しています。
bashを除外するために以前は以下のレシピを追加しておりました。
sysvinit-inittab_2.88dsf.bbaped:
RDEPENDS_${PN}_remove = " bash "
こちらを適用するとbitbakeで以下のエラーが生じてしまいます。
解決方法をご教授いただけると助かります。
ERROR: sysvinit-inittab-2.88dsf-r10 do_package_qa: QA Issue: /etc/init.d/rc_mxc.S contained in package sysvinit-inittab requires /bin/bash, but no providers found in RDEPENDS_sysvinit-inittab? [file-rdeps]
ERROR: sysvinit-inittab-2.88dsf-r10 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: sysvinit-inittab-2.88dsf-r10 do_package_qa: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /.../sysvinit-inittab/2.88dsf-r10/temp/log.do_package_qa.2994
ERROR: Task (/.../sysvinit-inittab_2.88dsf.bb:do_package_qa) failed with exit code '1'
みつきん
2024/3/15 (金) 13:29
sysvinit_inittabからbashを取り除く方法について
おそらくimx-yocto-bspなどのNXP由来のBSPを使用されているかと思います。
その場合「meta-imx/meta-bsp/recipes-core/sysvinit/sysvinit-inittab/imxgpu2d/rc_mxc.S」が下記のようになっています。
=========================
#!/bin/bash
#
if grep -sq ttymxc0 /proc/cmdline; then
/sbin/getty -L ttymxc0 115200 vt100
elif grep -sq ttymxc1 /proc/cmdline; then
/sbin/getty -L ttymxc1 115200 vt100
elif grep -sq ttymxc2 /proc/cmdline; then
/sbin/getty -L ttymxc2 115200 vt100
elif grep -sq ttymxc3 /proc/cmdline; then
/sbin/getty -L ttymxc3 115200 vt100
elif grep -sq ttyLP0 /proc/cmdline; then
/sbin/getty -L ttyLP0 115200 vt100
elif grep -sq ttyLP1 /proc/cmdline; then
/sbin/getty -L ttyLP1 115200 vt100
elif grep -sq ttyLP2 /proc/cmdline; then
/sbin/getty -L ttyLP2 115200 vt100
elif grep -sq ttyLP3 /proc/cmdline; then
/sbin/getty -L ttyLP3 115200 vt100
else
sleep 100000
fi
==================
この先頭の行で#!/bin/bashとなっていることで依存関係が発生しているかと思われます。
sysvinit-inittab_2.88dsf.bbappend にて「RDEPENDS_${PN} += " bash "」としていますので、
meta-imx/meta-bspよりも優先度の高いレイヤで同様のbbappendを作成いただき、「RDEPENDS_${PN}_remove = " bash "」としつつ
当該のスクリプトと同じものをfilesに配置し、#!/bin/shと変更すると、現状のエラーは解消できるかと思います。
環境固有の問題となりますので机上での確認となりますのでその点はご承知おきください。
よろしくお願いいたします。