
Stvarate li ikada nadjačavanje varijabli recepata u prilagođenom meta-sloju i ništa se ne događa?
Ne sumnjajte u sebe i pogledajte prioritet korištenih meta-slojeva.
Primjer
Želimo izgraditi Yocto Linux distro za Raspberry Pi 4 i promijeniti pozadinsku sliku recepta za psplash. Da bismo to učinili, stvaramo mapu 'psplash' u našem prilagođenom meta-sloju 'meta-interelectronix' i dodajemo datoteku 'psplash_%.bbappend' kako bismo nadjačali varijable 'SPLASH_IMAGES'.
SPLASH_IMAGES:rpi = "file://psplash-ixlogo-white-img.h;outsuffix=raspberrypi"
Nakon dodavanja 'meta-interelectronix' u 'bblayers.conf', bitbake Linux distribuciju, bljesnemo je na SD karticu i s njom pokrenemo Raspberry Pi 4.
Ali nije korištena prilagođena pozadinska slika za početni zaslon - zašto to?
Što uzrokuje takvo ponašanje?
Nakon traženja 'pogreške', pogledamo prioritetnu varijablu meta-slojeva. Meta-slojevi imaju varijablu za prioritet kako bi se definiralo u kojem se rangu meta-sloj koristi prilikom bitpečenja Linux distribucije.
Varijabla je postavljena u datoteci "meta-interelectronix/conf/layer.conf":
BBFILE_PRIORITY_meta-interelectronix = "6"
U našem slučaju prioritet "meta-interelektronix" postavljen je na "6", a prioritet "meta-malina" na "9".
Što je veći prioritet, kasnije su bile varijable bbappend datoteka primijenjenih na bitbake. Budući da je u 'meta-raspberrypi' također datoteka 'psplash_%.bbappend', varijable ove datoteke ponovno nadjačavaju nadjačavanja u našem 'meta-interelectronix' sloju, ništa se ne mijenja.
Bilješka
Promijenite prioritet prilagođenog metasloja na velik broj, npr. 50, kako biste kasnije primijenili promjene kao i sva nadjačavanja stranih metaslojeva.
### Kako lako postići rangiranje varijabli?
Postoji jednostavna naredba za rangiranje varijable u svim meta-slojevima:
bitbake-getvar -r recipe VARIABLE
U našem slučaju, naredba je bila:
bitbake-getvar -r psplash SPLASH_IMAGES
Rezultat nakon promjene prioriteta sloja "meta-interelektronix" u "50" izgleda ovako:
bitbake-getvar -r psplash SPLASH_IMAGES
SPLASH_IMAGES="file://psplash-ixlogo-white-img.h;outsuffix=raspberrypi"
Prioritet korištenih slojeva možete prikazati i sljedećom naredbom:
bitbake-layers show-layers
Licenca za autorska prava
Autorska prava © 2022. Interelectronix e.K.
Ovaj izvorni kod projekta licenciran je pod licencom GPL-3.0.