我正在從OpenEmbedded User Manual和Yocto項目工具的Dora版本中使用「Hello World」示例。 bitbake構建工作正常,但可執行文件沒有安裝在圖像中。基本上我創建了兩個receipes的我自己的元層。一個是「Hello World」的Autotools版本,它可以自行構建並安裝到映像中。第二個是「Hello World」的Makefile版本。這就是我遇到的麻煩。Hello World Bitbake食譜未安裝在圖像中
的來源是你所期望的:
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello world 2!\n");
return 0;
}
還有一個readme.txt文件:
Readme file for Hello World 2.
的配方如下:
DESCRIPTION = "Hello World 2 Program"
PR = "r0"
LICENSE = "CLOSED"
RM_WORK_EXCLUDE += "hello2"
SRC_URI = "file://hello2.c \
file://README.txt"
do_compile() {
${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/hello2.c -o hello2
}
do_install() {
install -m 0755 -d ${D}${bindir} ${D}${docdir}/hello2
install -m 0644 ${S}/hello2 ${D}${bindir}
install -m 0644 ${WORKDIR}/README.txt ${D}${docdir}/hello2
}
當我看工作目錄中,我看到了可執行文件已建成,並將所得包文件。日誌文件中沒有任何內容表明(對我而言,新手)爲什麼沒有發生安裝。配方有什麼問題嗎?或者有什麼我可以檢查以弄清楚的?
我的印象是,'IMAGE_INSTALL_append'是一種「慎用」的東西。你是說我應該將它添加到* .bbappend文件中?我在我的配方中嘗試了這一行,但似乎沒有奏效。我也很好奇包裝配方和圖像配方之間的區別。 – GrandAdmiral
我明白你現在在說什麼。我通過編輯bblayers文件將我的配方添加到編譯的配置中,但我還需要將我的包添加到適當的圖像配方(即「將圖像包添加到圖像.bbappend中」)。我會再次提到#irc頻道的人非常有幫助。 – GrandAdmiral
很高興聽到你冒險去#oe和/或#yocto。我經常在那裏看到。至於你對「謹慎使用」的評論,我會做的唯一評論就是local.conf確實不是添加包到圖片的地方。對於快速實驗,當然。但正確的方式(TM)將圖像添加到圖像是在圖像配方!要麼讓你自己的或.bbappend一個現有的。 – challinan