私はYoctoを使用してARMボードのLinuxビルドを作成しています。ルート作成中にYoctoに新しいレシピを追加できない
私は手動でアプリケーションのアドオンをクロスコンパイルしていました。今私たちは素晴らしい統合されたビルドをしたいので、yoctoにカスタムレシピを追加し始めました。
私はARMビルド(同じコードを持つx86ビルドは問題ありません)に苦労しています。
でも基本的な 'Hello Worldの' かなりのカットや開発マニュアルから貼り付けるには、ここ(http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#new-recipe-writing-a-new-recipe)
動作しないレシピです:ここでは
SUMMARY = "Simple helloworld application"
SECTION = "examples"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
RPROVIDES_${PN} = "helloworld"
FILES_${PN} += "${bindir}"
SRC_URI = "file://helloworld.c"
S = "${WORKDIR}"
do_compile() {
${CC} helloworld.c -o helloworld ${LDFLAGS}
}
do_install() {
install -d ${D}${bindir}
install -m 0755 helloworld ${D}${bindir}
}
は誤りです:
ERROR: helloworld not found in the base feeds (smarc_samx6i cortexa9t2hf-vfp-neon-mx6qdl cortexa9hf-vfp-neon-mx6qdl cortexa9t2hf-vfp-neon cortexa9t2hf-vfp cortexa9hf-vfp-neon cortexa9hf-vfp armv7at2hf-vfp-neon armv7ahf-vfp-neon armv7at2hf-vfp armv7ahf-vfp armv6thf-vfp armv6hf-vfp armv5tehf-vfp armv5ehf-vfp armv5thf-vfp armv5hf-vfp noarch any all).
ERROR: Function failed: do_rootfs
このエラーの原因は何ですか?
パッケージは正しく構築されます。問題はrootfsのためにそれを見つけることに孤立しているようです。
ありがとうございます!
EDIT: 長期的には理想的ではありませんが、私はうまくいくと思われる解決方法があります。
IMAGE_INSTALLの下のパッケージ名をhelloworldからhelloworld-0.0.1に変更すると、問題が解決されます。もちろん、トップレシピの各パッケージのバージョンをハードコードするのではなく、他のパッケージではこれを必要としないので、うまくいけば別の解決策があります。
EDIT 2: レシピの名前を変更してバージョン文字列を削除すると、問題が解決されます。もう一度、これは長期的には理想的ではないようです。
レシピ(どのディレクトリ)を保存しましたか?ファイル名はどのようになっていますか? – h0ch5tr4355
私はソースに「メタテスト」の場所を、その下に「レシピテスト」の場所を作成しました。メタテストのためのlayers.confがあります。 – Dan
bblayers.confに 'meta-test'を追加しましたか? – h0ch5tr4355