2017-10-02 2 views
0

Ich bin sehr neu zu yocto und versuche zu lernen, wie man es benutzt. Ich folgte den Schritten in der Mega-Manual Sektion section 5.1.9. Ich liefProbleme beim Hinzufügen einer Schicht in yocto

yocto-layer create mylayer

und bearbeitet meine bblayers.conf Datei diese haben:

BBLAYERS = ?" \ 
    /usr/local/src/yocto/meta \ 
    /usr/local/src/yocto/meta-poky \ 
    /usr/local/src/yocto/meta-yocto-bsp \ 
    /usr/local/src/yocto/meta-mylayer \ 
    " 

ich source oe-init-build-env lief und dann bitbake core-image-sato. Als der Build fertig war, lief ich runqemu qemu86 nographics und nach der Anmeldung lief find/-name helloworld, da mylayer ein Rezept für den Aufbau helloworld definiert. Die Datei wurde jedoch nicht gefunden.

Sollte dieses Programm (helloworld) nicht in dem erstellten Bild enthalten sein? Welche Stufe (n) vermisse ich hier?

Meta-myLayer/conf/layer.conf:

# We have a conf and classes directory, add to BBPATH 
BBPATH .= ":${LAYERDIR}" 

# We have recipes-* directories, add to BBFILES 
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ 
    ${LAYERDIR}/recipes-*/*/*.bbappend" 

BBFILE_COLLECTIONS += "mylayer" 
BBFILE_PATTERN_mylayer = "^${LAYERDIR}/" 
BBFILE_PRIORITY_mylayer = "6" 

Meta-myLayer/recipies-Beispiel/example/example_0.1.bb

# 
# This file was derived from the 'Hello World!' example recipe in the 
# Yocto Project Development Manual. 
# 

SUMMARY = "Simple helloworld application" 
SECTION = "examples" 
LICENSE = "MIT" 
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 

SRC_URI = "file://helloworld.c" 

S = "${WORKDIR}" 

do_compile() { 
    ${CC} ${LDFLAGS} helloworld.c -o helloworld 
} 

do_install() { 
    install -d ${D}${bindir} 
    install -m 0755 helloworld ${D}${bindir} 
} 

Meta-myLayer/Rezepte-Beispiel /example/example-0.1/helloworld.c:

#include <stdio.h> 

int main(int argc, char **argv) 
{ 
    printf("Hello World!\n"); 

    return 0; 
} 

Antwort

1

eine neue Ebene nicht jedes Rezept in der Schicht zu jedem Bild hinzufügen, wirkt sich das hinzufügen, macht es nur diejenigen, Rezepte zum Bauen.

Fügen Sie die gewünschten Pakete in das Bild ein, indem Sie IMAGE_INSTALL im Bildrezept verwenden.

Dies wird in der Dokumentation unter http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#usingpoky-extend-customimage behandelt.

+0

danke, ich habe nicht weit genug durch das Handbuch gelesen! Nebenbei bemerkt sollte IMAGE_INSTALL_append auf den Rezeptnamen gesetzt werden, den das Skript erstellt (mit dem führenden Leerzeichen), also in meinem Fall "Beispiel" – Mark

Verwandte Themen