Soweit ich das rauslesen konnte ist das hier etwa die Basis wie es in der ML beschrieben wurde.
Trotz gemachter Einstellungen in local.confseife hat geschrieben: poky auschecken, dora branch (wichtig!)
git clone git://git.yoctoproject.org/poky yocto-poky
cd yocto-poky
git checkout -b dora origin/dora
Dann das neutrino-overlay: in welchem Verzeichnis wird hier geklont
git clone git://github.com/seife/meta-neutrino-mp.git
Dann noch einen BSP:
git clone git://github.com/seife/meta-tripledragon.git
Variablen setzen und buildverzeichnis initialisieren (build-td ist das Build-Verzeichnis und darin landet man auch gleich):
. oe-init-build-env build-td
Nun in conf/bblayers.conf die zwei zusätzlichen Layers meta-neutrino und meta-tripledragon eintragen: wo finde ich bblayers.conf
BBLAYERS ?= " \
/space/tmp/yocto-poky/meta \
/space/tmp/yocto-poky/meta-yocto \
/space/tmp/yocto-poky/meta-yocto-bsp \
/space/tmp/yocto-poky/meta-tripledragon \
/space/tmp/yocto-poky/meta-neutrino-mp \
"
(die Verzeichnisse heissen bei dir natürlich anders, einfach die meta-yocto zeile kopieren, zweimal einfügen und editieren).
Dann in conf/local.conf die gewünschten Einstellungen machen, besonders:
MACHINE = "tripledragon"
Ich habe noch
PACKAGE_CLASSES ?= "package_ipk package_rpm"
EXTRA_IMAGE_FEATURES += "package-management"
gemahct, damit ich sowohl RPM als auch ipk pakete bekomme. Die erste Paketart (ipk / opkg) ist auch die mit der das Image gebaut wird.
EXTRA_FEATURES sorgt dafür, dass im Image auch die Paketmetadaten und der Paketmanager (in diesem Fall opkg) mit drin ist, sonst kann man nichts nachinstallieren.
SOURCE_MIRROR_URL ?= "file:///local/seife/src/Archive"
INHERIT += "own-mirrors"
Damit werden Sachen, die schon in meinem Archive-Dir sind nicht nochmal runtergeladen.
Selbsterklärend:
BB_NUMBER_THREADS ?= "1"
PARALLEL_MAKE ?= "-j 3"
Ich habe nur einen Thread für bitbake, weil ich auf einer langsamen Platte baue, da bringt das wahrscheinlich nicht viel, aber eigentlich wird empfohlen soviele Threads wie CPU-Cores zu benutzen.
Wenn man kanpp an Plattenplatz ist, dann würde ich noch
INHERIT += "rm_work"
mit rein schreiben, damit werden temporäre Dateien weggeräumt, sobald ein Paket gebaut ist. Ansonsten liegt das rum und das summiert sich.
Selbst mit rm_work habe ich hier (3 Architekturen plus der Versuch, für die dbox ein overlay zu bauen) etwa 20GB auf der Platte liegen.
Auf der Yocto-Seite werden 50GB veranschlagt, allerdings bauen die eine recht vollständige distribution, inklusive X und Applikationen.
Ich habe dann noch das drin:
# see https://wiki.yoctoproject.org/wiki/PR_Service
PRSERV_HOST = "localhost:0"
INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"
Damit werden die Paketrevisionen automatisch hochgezählt falls nötig, was sehr praktisch ist.
Tja, und dann kann man mittels
bitbake neutrino-image
den Build anstarten. <- von wo, ist ja nicht global in PATH, PATH Umgebung anpassen?, Ein wenig später liegt dann das Image in tmp/deploy/images/tripledragon/neutrino-image-tripledragon.tar.gz
Code: Alles auswählen
bitbake neutrino-image
ERROR: OE-core's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:
Please set a valid MACHINE in your local.conf or environment
ERROR: Execution of event handler 'check_sanity_eventhandler' failed