ਏਮਬੈੱਡ ਕੀਤਾ ਸਾੱਫਟਵੇਅਰ - ਯੋਕਟੋ ਪਕਵਾਨ-ਵਿਧੀਆਂ ਕੰਪਿਊਟਰ ਦੇ ਸਕ੍ਰੀਨਸ਼ੌਟ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀਆਂ ਹਨ

ਯੋਕਟੋ ਪਕਵਾਨ-ਵਿਧੀਆਂ 'ਤੇ ਨਿਰਭਰਤਾ

ਵਿਅੰਜਨ ਵੇਰੀਏਬਲਾਂ ਵਿਚਕਾਰ ਨਿਰਭਰਤਾ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰੀਏ

ਕੀ ਤੁਸੀਂ ਕਦੇ ਵੀ ਆਪਣੀ ਕਸਟਮ ਮੈਟਾ-ਲੇਅਰ ਵਿੱਚ ਵਿਅੰਜਨ ਵੇਰੀਏਬਲਾਂ ਦਾ ਓਵਰਰਾਈਡ ਬਣਾਉਂਦੇ ਹੋ ਅਤੇ ਕੁਝ ਵੀ ਨਹੀਂ ਹੁੰਦਾ?

ਆਪਣੇ ਆਪ 'ਤੇ ਸ਼ੱਕ ਨਾ ਕਰੋ ਅਤੇ ਵਰਤੀਆਂ ਗਈਆਂ ਮੈਟਾ-ਪਰਤਾਂ ਦੀ ਤਰਜੀਹ 'ਤੇ ਇੱਕ ਨਜ਼ਰ ਮਾਰੋ।

ਉਦਾਹਰਨ

ਅਸੀਂ ਰਸਬੇਰੀ ਪਾਈ ੪ ਲਈ ਇੱਕ ਯੋਕਟੋ ਲੀਨਕਸ ਡਿਸਟਰੋ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹਾਂ ਅਤੇ ਪੀਐਸਪਲੈਸ਼ ਪਕਵਾਨ-ਵਿਧੀ ਦੇ ਪਿਛੋਕੜ ਚਿੱਤਰ ਨੂੰ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹਾਂ। ਅਜਿਹਾ ਕਰਨ ਲਈ, ਅਸੀਂ ਆਪਣੀ ਕਸਟਮ ਮੈਟਾ-ਲੇਅਰ 'ਮੈਟਾ-ਇੰਟਰਇਲੈਕਟ੍ਰੋਨਿਕਸ' ਵਿੱਚ ਇੱਕ ਫੋਲਡਰ 'psplash' ਬਣਾਉਂਦੇ ਹਾਂ ਅਤੇ 'SPLASH_IMAGES' ਦੇ ਵੇਰੀਏਬਲ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰਨ ਲਈ 'psplash_%.bbappend' ਫਾਈਲ ਜੋੜਦੇ ਹਾਂ।

SPLASH_IMAGES:rpi = "file://psplash-ixlogo-white-img.h;outsuffix=raspberrypi"

'bblayers.conf' ਵਿੱਚ 'ਮੈਟਾ-ਇੰਟਰ-ਇਲੈਕਟ੍ਰੋਨਿਕਸ' ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਲੀਨਕਸ ਡਿਸਟਰੋ ਨੂੰ ਬਿੱਟਬੈਕ ਕਰਦੇ ਹਾਂ, ਇਸਨੂੰ SD ਕਾਰਡ ਨਾਲ ਫਲੈਸ਼ ਕਰਦੇ ਹਾਂ ਅਤੇ ਇਸ ਦੇ ਨਾਲ ਰਸਬੇਰੀ ਪਾਈ 4 ਨੂੰ ਬੂਟ ਕਰਦੇ ਹਾਂ।

ਪਰ ਸਪਲੈਸ਼ ਸਕ੍ਰੀਨ ਲਈ ਕੋਈ ਕਸਟਮ ਬੈਕਗ੍ਰਾਉਂਡ ਚਿੱਤਰ ਨਹੀਂ ਵਰਤਿਆ ਗਿਆ ਸੀ - ਅਜਿਹਾ ਕਿਉਂ?

ਇਸ ਵਿਵਹਾਰ ਦਾ ਕਾਰਨ ਕੀ ਹੈ?

'ਤਰੁੱਟੀ' ਦੀ ਖੋਜ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਮੈਟਾ-ਪਰਤਾਂ ਦੇ ਤਰਜੀਹੀ ਵੇਰੀਏਬਲ 'ਤੇ ਇੱਕ ਨਜ਼ਰ ਮਾਰਦੇ ਹਾਂ। ਮੈਟਾ-ਲੇਅਰਾਂ ਵਿੱਚ ਤਰਜੀਹ ਲਈ ਇੱਕ ਵੇਰੀਏਬਲ ਹੁੰਦਾ ਹੈ ਤਾਂ ਜੋ ਇਹ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾ ਸਕੇ ਕਿ ਲੀਨਕਸ ਡਿਸਟਰੋ ਨੂੰ ਬਿੱਟਬੈਕ ਕਰਦੇ ਸਮੇਂ ਮੈਟਾ-ਲੇਅਰ ਦੀ ਵਰਤੋਂ ਕਿਸ ਰੈਂਕ ਵਿੱਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।

ਵੇਰੀਏਬਲ ਨੂੰ ਫਾਇਲ 'meta- interelectronix/conf/layer.conf' ਵਿੱਚ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ:

BBFILE_PRIORITY_meta-interelectronix = "6"
ਸਾਡੇ ਮਾਮਲੇ ਵਿੱਚ, 'ਮੈਟਾ-ਇੰਟਰ-ਇਲੈਕਟਰੋਨਿਕਸ' ਦੀ ਤਰਜੀਹ '6' 'ਤੇ ਸੈੱਟ ਕੀਤੀ ਗਈ ਸੀ ਅਤੇ 'ਮੈਟਾ-ਰਸਬੇਰੀਪੀ' ਦੀ ਤਰਜੀਹ '9' 'ਤੇ ਸੈੱਟ ਕੀਤੀ ਗਈ ਹੈ।

ਜਿੰਨੀ ਵੱਧ ਤਰਜੀਹ ਹੁੰਦੀ ਹੈ, ਓਨਾ ਹੀ ਬਾਅਦ ਵਿੱਚ ਬਿੱਟਬੇਕ 'ਤੇ ਲਾਗੂ ਕੀਤੀਆਂ ਗਈਆਂ bbappend ਫਾਈਲਾਂ ਦੇ ਵੇਰੀਏਬਲ ਹੁੰਦੇ ਸਨ। ਜਿਵੇਂ ਕਿ 'ਮੈਟਾ-ਰਸਬੇਰੀਪੀ' ਵਿੱਚ ਵੀ ਇੱਕ 'psplash_%.bbappend' ਫਾਇਲ ਹੈ, ਇਸ ਫਾਇਲ ਦੇ ਵੇਰੀਏਬਲ ਸਾਡੀ 'meta-interelectronix' ਪਰਤ ਵਿੱਚ ਓਵਰਰਾਈਡਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰ ਦਿੰਦੇ ਹਨ, ਕੁਝ ਵੀ ਨਹੀਂ ਬਦਲਦਾ।

ਨੋਟ

ਆਪਣੀ ਕਸਟਮ ਮੈਟਾ-ਲੇਅਰ ਦੀ ਤਰਜੀਹ ਨੂੰ ਇੱਕ ਉੱਚ ਸੰਖਿਆ ਵਿੱਚ ਬਦਲੋ, ਉਦਾਹਰਨ ਲਈ 50, ਤਾਂ ਜੋ ਬਾਅਦ ਵਿੱਚ ਆਪਣੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਜਾ ਸਕੇ ਕਿਉਂਕਿ ਵਿਦੇਸ਼ੀ ਮੈਟਾ-ਲੇਅਰਾਂ ਦੇ ਸਾਰੇ ਓਵਰਰਾਈਡ ਹੁੰਦੇ ਹਨ।

### ਵੈਰੀਏਬਲਾਂ ਦੀ ਰੈਂਕਿੰਗ ਕਿਵੇਂ ਅਸਾਨ ਹੋ ਸਕਦੀ ਹੈ?

ਸਾਰੀਆਂ ਮੈਟਾ-ਪਰਤਾਂ ਉੱਤੇ ਇੱਕ ਵੇਰੀਏਬਲ ਦੀ ਰੈਂਕਿੰਗ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇੱਕ ਆਸਾਨ ਕਮਾਂਡ ਹੁੰਦੀ ਹੈ:

bitbake-getvar -r recipe VARIABLE

ਸਾਡੇ ਮਾਮਲੇ ਵਿੱਚ, ਕਮਾਂਡ ਇਹ ਸੀ:

bitbake-getvar -r psplash SPLASH_IMAGES

'ਮੈਟਾ-ਇੰਟਰ-ਇਲੈਕਟਰੋਨਿਕਸ' ਪਰਤ ਦੀ ਤਰਜੀਹ ਨੂੰ '50' ਵਿੱਚ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਨਤੀਜਾ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ:

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"

ਤੁਸੀਂ ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਨਾਲ ਵਰਤੀਆਂ ਗਈਆਂ ਪਰਤਾਂ ਦੀ ਤਰਜੀਹ ਵੀ ਵੇਖ ਸਕਦੇ ਹੋ:

bitbake-layers show-layers

ਕਾਪੀਰਾਈਟ ਲਾਈਸੈਂਸ

ਕਾਪੀਰਾਈਟ © 2022 Interelectronix e.K.
ਇਸ ਪ੍ਰੋਜੈਕਟ ਸਰੋਤ ਕੋਡ ਨੂੰ GPL-3.0 ਲਾਇਸੰਸ ਤਹਿਤ ਲਾਇਸੰਸਸ਼ੁਦਾ ਕੀਤਾ ਗਿਆ ਹੈ।