MACHINE_EXTRA_RDEPENDS против MACHINE_ESSENTIAL_EXTRA_RDEPENDS - PullRequest
0 голосов
/ 03 июля 2019

Я написал рецепт драйвера устройства hello world, и когда я пытаюсь установить его в корневой файловой системе, используя следующую переменную в qemux86-64.conf

MACHINE_EXTRA_RDEPENDS = += " kernel-module-hello"

Приведенная выше строка не вставлена ​​в модуль в корневой файловой системе, но в приведенной ниже строке указано

MACHINE_ESSENTIAL_EXTRA_RDEPENDS += " kernel-module-hello"

Может кто-нибудь сказать мне, в чем разница между этими двумя переменными. Какой из них следует использовать, когда?

1 Ответ

2 голосов
/ 03 июля 2019
  • MACHINE_EXTRA_RDEPENDS: список машинно-зависимых пакетов для установки в создаваемый образ, которые не обязательны для загрузки машины. Обычно используется для добавления функций. И, как указано в руководстве:

    Эта переменная влияет на все изображения на основе packagegroup-base, которая не включает core-image-minimal или core-image-full-cmdline изображения.

  • MACHINE_ESSENTIAL_EXTRA_RDEPENDS: список машинно-зависимых пакетов для установки в создаваемом образе, которые необходимы для загрузки машины. И, как указано в руководстве:

    Влияние этой переменной влияет на изображения на основе packagegroup-core-boot, включая образ core-image-минимальный.

Весьма вероятно, что ваш образ основан не на packagegroup-base, а на packagegroup-core-boot. Кроме того, я хотел бы отметить, что модули ядра обычно (и это, похоже, ваш случай) включаются в MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS или MACHINE_EXTRA_RRECOMMENDS вместо MACHINE_ESSENTIAL_EXTRA_RDEPENDS или MACHINE_EXTRA_RDEPENDS.

Для получения дополнительной информации см. https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-MACHINE_ESSENTIAL_EXTRA_RDEPENDS

PD: разделитель пробелов не требуется при добавлении переменной с помощью оператора + = . Кроме того, у вас есть опечатка здесь:

MACHINE_EXTRA_RDEPENDS = + ="kernel-module-hello"

...