bitbakeレシピを作成して、yoctoにエントリをコンパイルしてインストールできます。特定のデバイスが接続されたら、私のコードを実行したいと思います。
bitbakeレシピからudevルールを追加するエレガントな方法はありますか?そのようなことをするのはecho "<my udev rule>" >> /etc/udev/rules.d/90-local.rules
良い計画ではないようです。
答え1
私が理解したところによると、OSをビルドするときにルールを作成し、それをrootfsに常駐させたいと思います。これが正しい場合は、レシピを追加する必要があります。以下のディレクトリにルールを保存してくださいdistro/meta-myproject/recipes-core/rfs-myproject/rfs-myproject/*myrule.rule*
。その後、rfs-myprojectフォルダ内の1レベル上のrfs-myproject_1.0.0.bb
ファイルが必要です。
SUMMARY = "MyProject Additional files"
LICENSE = "CLOSED"
PR = "r1"
SRC_URI = "file://my-rule1.rules file://my-rule2.rules \
file://startup.sh file://rc.local "
do_install[nostamp] = "1"
do_unpack[nostamp] = "1"
do_install () {
echo "my-project install task invoked"
install -m 0755 ${WORKDIR}/startup.sh ${D}/home/root/startup.sh
install -m 0777 ${WORKDIR}/rc.local ${D}${sysconfdir}/rc.d/rc.local
install -m 0666 ${WORKDIR}/my-rule1.rules ${D}/etc/udev/rules.d/my-rule1.rules
install -m 0666 ${WORKDIR}/my-rule2.rules ${D}/etc/udev/rules.d/my-rule2.rules
}
FILES_${PN} += " ${sysconfdir}/rc.local"
FILES_${PN} += " /home/root/startup.sh"
FILES_${PN} += " /etc/udev/rules.d/my-rule1.rules"
FILES_${PN} += " /etc/udev/rules.d/my-rule2.rules"
PACKAGES = "${PN}"
PROVIDES = "rfs-my-project"
これがあなたの質問に答えることを願っています。さらに支援が必要な場合はお知らせください。
ああ、そうです。 local.confにmy-projectを含めることを忘れないでください。