Включите библиотеки в / deploy / rpm для образа Yocto - PullRequest
0 голосов
/ 30 октября 2018

Я довольно новичок в Yocto, поэтому извините, если этот вопрос очевиден. Я пытаюсь создать образ для i.MX6 с поддержкой OpenCL для использования графического процессора. У меня в рецепте образа есть рецепт драйвера gpu (imx-gpu-viv), и я вижу, что он успешно компилируется. Тем не менее, мое окончательное изображение не имеет некоторых библиотек, таких как libOpenCL.so. Я вижу, что они существуют в виде пакетов .rpm в tmp / deploy / rpm, и я попытался добавить их в свою систему с помощью команды rpm на устройстве. Однако у них есть дополнительные зависимости, и я не хочу охотиться за каждым пакетом, от которого они зависят, и их зависимостями, и т. Д. Кроме того, я хотел бы установить эти пакеты в будущих образах, а не тратить время на их установку снова и снова.

Есть ли способ включить пакеты, которые хранятся в виде файлов .rpm, в образ SDCard, который создает bitbake?

Редактировать: чтобы уточнить мой вопрос, я знаю, что могу добавить рецепты к своему изображению, используя IMAGE_INSTALL_append в local.conf. Это конкретное изображение не нуждается в том, чтобы включать рецепт "imx-gpu-viv", поскольку он добавлен в файл изображения в источнике.

1 Ответ

0 голосов
/ 31 октября 2018

Мне удалось решить мою проблему после того, как я понял, что рецепты и пакеты - это совершенно разные вещи, больше информации о здесь .

Рецепт imx-gpu-vivi скомпилировал libOpenCL.so в пакете libOpenCL-imx. Однако мое изображение не включало никаких рецептов, которые RDEPEND добавлял в пакет libOpenCL-imx, поэтому он не был включен в rootfs. Я создал новый рецепт группы пакетов с командами RDEPENDS_ * для библиотек, которые я хочу (например, RDEPENDS_${PN} += " libopencl-imx "), и запрошенные библиотеки были включены в мои rootfs после того, как я добавил новую группу пакетов в свой рецепт изображения и перестроил свой образ.

...