Обычно в Yocto нет способа переопределить файлы .bbclass , например, с файлами .bb (с использованием .bbappend ),чтобы заархивировать, что необходимо скопировать весь файл класса и переместить на другой слой, я смог управлять этим с помощью этой конфигурации:
структура слоя:
$ tree ../meta-test/
../meta-test/
├── classes
│ └── image-live.bbclass
├── conf
│ └── layer.conf
├── COPYING.MIT
├── README
└── recipes-example
└── example.bb
3 directories, 5 files
содержимое example.bb recipe:
$ cat ../meta-test/recipes-example/example/example.bb
LICENSE = "CLOSED"
inherit image-live
и наконец действительно важная вещь *, файл конфигурации conf / bblayers.conf должен быть настроен с этимпорядок мета-тест / выше мета / слой:
$ tail -n6 conf/bblayers.conf
BBLAYERS ?= " \
/home/user/poky/meta-test \
/home/user/poky/meta \
/home/user/poky/meta-poky \
/home/user/poky/meta-yocto-bsp \
"
$ bitbake -e example -D | grep ^DEBUG:\\sInheriting\\s.*image-live.bbclass\\s\(from
DEBUG: Inheriting /home/user/poky/meta-test/classes/image-live.bbclass (from /home/user/poky/meta-test/recipes-example/example/example.bb:3)
* Я не знаю, почему битбейк приоритет слоя неработать здесь, только изменяя порядок слоев в conf / bblayers.conf позволяет мне достичь главной цели:
$ bitbake-layers show-layers
NOTE: Starting bitbake server...
layer path priority
==========================================================================
meta /home/user/poky/meta 5
meta-test /home/user/poky/meta-test 10
meta-poky /home/user/poky/meta-poky 5
meta-yocto-bsp /home/user/poky/meta-yocto-bsp 5
слой мета-тест / ниже meta / in conf / bblayers.conf :
$ tail -n6 conf/bblayers.conf
BBLAYERS ?= " \
/home/user/poky/meta \
/home/user/poky/meta-test \
/home/user/poky/meta-poky \
/home/user/poky/meta-yocto-bsp \
"
$ bitbake -e example -D | grep ^DEBUG:\\sInheriting\\s.*image-live.bbclass\\s\(from
DEBUG: Inheriting /home/user/poky/meta/classes/image-live.bbclass (from /home/user/poky/meta-test/recipes-example/example/example.bb:3)