我一直在使用Yocto爲ARM開發板創建Linux版本。在生成root fs期間向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找到它。
謝謝!
編輯: 我有一個似乎工作的解決方案,雖然它不是理想的長期。
將IMAGE_INSTALL下的包名從helloworld更改爲helloworld-0.0.1即可解決問題。很顯然,我寧願不在最高級別的配方中對每個軟件包的版本進行硬編碼,其他軟件包也不需要這樣做,所以希望還有另一種解決方案。
編輯2: 重命名配方並刪除版本字符串也解決了問題。再一次,這看起來並不理想。
你在哪裏儲存了你的食譜(哪個目錄)以及它的文件名是什麼? – h0ch5tr4355
我在源代碼中創建了一個'meta-test'位置,並在其下創建了一個'配方測試'位置。元測試有一個layers.conf。 – Dan
你給bblayers.conf添加了'meta-test'嗎? – h0ch5tr4355