Кконфиг и ЛКМ - PullRequest
       40

Кконфиг и ЛКМ

1 голос
/ 18 мая 2011

Я работаю с LKM вне дерева ядра и хочу использовать некоторые параметры компиляции для моего модуля, такие как MYLKM_CONFIG_ {что-то}. Я знаю, что это можно сделать с помощью предварительной обработки C (#define // #ifdef // #endif). Но я хочу знать, возможно ли использовать Kbuild (файлы Kconfig или что-то связанное) для этих целей? ..

И еще один вопрос. Возможно ли make menuconfig только для моего модуля, а не для всего дерева ядра?

Спасибо.

1 Ответ

0 голосов
/ 20 мая 2011

Если вы используете рекомендуемый метод для построения драйверов вне дерева (см. Ldd Глава 2), команда должна выглядеть следующим образом:

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules

Эффект этой команды два:

  1. опция -C меняет текущий каталог на $(KERNELDIR), где он находит основной файл Makefile ядра
  2. опция -M заставляет make-файл возвращать ваш текущий каталог dev модуля $(PWD),где он пытается построить модуль target

Так что, если вы копируете ваш .config из $(KERNELDIR) в $(PWD), он должен быть проанализирован Makefile и у вас должны быть все ваши CONFIG_LKM_ * #definesдоступно (но не проверено, но звучит логично).

Для вопроса make menconfig, что касается приведенного выше объяснения, он может работать, если вы добавите некоторые файлы KConfig в каталог $(PWD).

...