Вам нужно будет расширить рецепты, содержащие файлы, которые вы хотите заменить.
Используя в качестве примера /etc/network/interfaces
, первый шаг - выяснить, какой рецепт устанавливает этот файл.
Из приглашения bitbake:
$ oe-pkgdata-util find-path /etc/network/interfaces
init-ifupdown: /etc/network/interfaces
Таким образом, это говорит нам о том, что /etc/network/interfaces
установлен рецептом init-ifupdown
.
Поиск файла показывает, что init-ifupdown
является частьюof poky:
$ find . -name init-ifupdown*.bb
./poky/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb
Теперь, так как вам нужно изменить вывод init-ifupdown
, вам нужно расширить init-ifupdown
, создав с таким же именем .bbappend
всвой собственный слой.
Вы можете создать новый .bbappend
в
my-layer/receipes-core/init-ifupdown/init-ifupdown_%.bbappend
. %
- это шаблон, который гарантирует, что .bbappend
будет применяться ко всем будущим версиям init-ifupdown
рецепт, что, вероятно, то, что вам нужно.
Поместите свой пользовательский файл interfaces
в папку под .bbappend
:
my-layer/receipes-core/init-ifupdown/files/interfaces
Тогда .bbappend
нужно толькосодержать одну строку, чтобы битбэйк мог забрать новый interfaces
файл:
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
Наконец, повторите то же самое с каждой системной файловой системой.но вы хотите заменить.