Yocto определяет, из какого рецепта получен файл

#yocto #bitbake #recipe

#yocto #bitbake #рецепт

Вопрос:

Я пытаюсь определить, как я могу найти, из какого рецепта получен исходный файл из каталога build/tmp /work. Обычно большинство рецептов в исходной папке имеют uri. Затем загружается и устанавливается в различные временные папки. Я хочу создать исправление для некоторых файлов, но, похоже, я не могу понять, какие файлы принадлежат каким рецептам.

Спасибо

Комментарии:

1. Я не знаю, есть ли способ сделать это в вашей папке сборки. Однако, если в вашем образе установлен opkg, вы можете попробовать выполнить opkg search /path/to/file его на своей плате, он выдаст вам пакет и поможет найти название рецепта.

2. Я видел эту команду. Но поскольку я хочу сделать исправление, я просматриваю исходные файлы, которые не попадают в сборку

Ответ №1:

Выполнить oe-pkgdata-util find-path /path/on/target/to/file . Это даст вам пакет, устанавливающий файл. Оттуда запустите oe-pkgdata-util lookup-recipe <pkg-name> , это покажет вам, какой рецепт создает пакет. Этого должно быть достаточно, чтобы узнать, какой рецепт вам нужно изменить. Затем вам нужно проверить, является ли файл, который вы хотите изменить, частью рецепта (артефакт Yocto) или частью программного обеспечения, созданного по рецепту. Для первого вы можете переопределить файл, для второго вы можете создать исправление (вы можете использовать devtool, чтобы помочь вам создать исправление).

Комментарии:

1. хм, когда я запускаю эту команду в исходном файле, я получаю «ОШИБКА: не удается найти какой-либо путь создания пакета». файл находится в /home/user/bsp4.9/buildir/tmp/work/ …

2. Каков путь к цели? Это путь, который вы должны использовать, А НЕ /home/user/bsp …

3. что вы имеете в виду под «целевой» ?

4. Yocto позволяет создавать образы для машин или «целевых объектов». По сути, это устройство, на котором будет выполняться все, что вы создаете с помощью Yocto. По сути, я спрашиваю вас путь от корня корневых файлов образа, который вы создаете с помощью Yocto.

5. Какой файл вы хотите исправить?