
Je, umewahi kuunda override ya vigezo vya mapishi katika safu yako ya kawaida ya meta na hakuna kinachotokea?
Usijitie shaka na uangalie kipaumbele cha safu za meta zilizotumiwa.
Mfano
Tunataka kujenga distro ya Yocto Linux kwa Raspberry Pi 4 na kubadilisha picha ya mandharinyuma ya mapishi ya psplash. Ili kufanya hivyo, tunaunda folda 'psplash' katika safu yetu ya kawaida ya meta 'meta-interelectronix' na kuongeza faili 'psplash_%.bbappend' ili kupindua vigezo vya 'SPLASH_IMAGES'.
SPLASH_IMAGES:rpi = "file://psplash-ixlogo-white-img.h;outsuffix=raspberrypi"
Baada ya kuongeza 'meta-interelectronix' kwa 'bblayers.conf', tunapiga distro ya Linux, iwashe kwenye kadi ya SD na kuwasha Raspberry Pi 4 nayo.
Lakini hakuna picha ya asili ya kawaida ya skrini ya splash ilitumiwa - kwa nini hiyo?
Ni nini husababisha tabia hii?
Baada ya kutafuta 'kosa', tunaangalia tofauti ya kipaumbele ya safu za meta. Meta-layers zina tofauti kwa kipaumbele kufafanua ni kiwango gani safu ya meta hutumiwa wakati wa kupiga distro ya Linux.
Tofauti imewekwa kwenye faili 'meta-interelectronix/conf/layer.conf':
BBFILE_PRIORITY_meta-interelectronix = "6"
Kwa upande wetu, kipaumbele cha 'meta-interelectronix' kiliwekwa kwa '6' na kipaumbele cha 'meta-raspberrypi' kimewekwa kwa '9'.Juu ya kipaumbele, baadaye walikuwa vigezo vya faili za bbappend zilizotumika kwa bitbake. Kama katika 'meta-raspberrypi' pia ni faili ya 'psplash_%.bbappend', vigezo vya faili hii hufunika overrides katika safu yetu ya 'meta-interelectronix' tena, hakuna mabadiliko.
Kumbuka
Badilisha kipaumbele cha safu yako ya meta ya kawaida kwa idadi kubwa, kwa mfano 50, kutumia mabadiliko yako baadaye kama overrides zote za safu za meta za kigeni.
Kuna amri rahisi kupata kiwango cha kutofautiana juu ya safu zote za meta:
bitbake-getvar -r recipe VARIABLE
Kwa upande wetu, amri ilikuwa:
bitbake-getvar -r psplash SPLASH_IMAGES
Matokeo baada ya kubadilisha kipaumbele cha safu ya 'meta-interelectronix' kuwa '50' inaonekana kama hii:
bitbake-getvar -r psplash SPLASH_IMAGES
#
# $SPLASH_IMAGES [4 operations]
# set /workdir/poky-kirkstone/meta/recipes-core/psplash/psplash_git.bb:19
# "file://psplash-poky-img.h;outsuffix=default"
# set /workdir/poky-kirkstone/meta-interelectronix/recipes-core/psplash/psplash_%.bbappend:10
# "file://psplash-ixlogo-white-img.h;outsuffix=interelectronix"
# override[rpi]:set /workdir/poky-kirkstone/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend:2
# "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
# override[rpi]:set /workdir/poky-kirkstone/meta-interelectronix/recipes-core/psplash/psplash_%.bbappend:9
# "file://psplash-ixlogo-white-img.h;outsuffix=raspberrypi"
# pre-expansion value:
# "file://psplash-ixlogo-white-img.h;outsuffix=raspberrypi"
SPLASH_IMAGES="file://psplash-ixlogo-white-img.h;outsuffix=raspberrypi"
Unaweza pia kuonyesha kipaumbele cha tabaka zilizotumiwa na amri ifuatayo:
bitbake-layers show-layers
Leseni ya Hakimiliki
Copyright © 2022 Interelectronix e.K.
Msimbo huu wa chanzo cha Mradi una leseni chini ya leseni ya GPL-3.0.