Рекурсивное отключение зависимостей CONFIG от сборки ядра Linux
При настройке ядра Linux я обычно начинаю с моего конфигурационного файла дистрибутива. Я часто хочу отключить некоторые записи, но они иногда неизменяемы, потому что включены другие параметры CONFIG, которые зависят от него.
Я могу вручную искать зависимости, которые часто имеют собственные зависимости. Это может быть довольно много времени для всех, особенно если вы пытаетесь отключить что-то вроде CONFIG_KALLSYMS.
Вопрос: Есть ли способ указать параметр CONFIG, который вы хотите удалить, и имеете ли все зависимые автоматически выбранные/отмененные как nessisary для вас? Я просмотрел все параметры make и в каталоге скриптов и не видел ничего доступного для этого.
UPDATE. Кто-то ответил, что make oldconfig
должен выполнить задание после удаления (удаления) необходимых параметров CONFIG из файла .config, но это не сработало (его ответ затем исчез):
$ make oldconfig
scripts/kconfig/conf -o arch/x86/Kconfig
*
* Restart config...
*
*
* Configure standard kernel features (for small systems)
*
Configure standard kernel features (for small systems) (EMBEDDED) [N/y/?] n
Load all symbols for debugging/ksymoops (KALLSYMS) [Y/?] (NEW) y
Include all symbols in kallsyms (KALLSYMS_ALL) [Y/?] (NEW) y
Do an extra kallsyms pass (KALLSYMS_EXTRA_PASS) [N/y/?] (NEW)
Он автоматически сказал "y" два первых двух, и я пытаюсь найти автоматизированный способ их удаления и оставить их.
Ответы
Ответ 1
Похоже, что Kconfiglib, Ульф Магнуссон, позволит вам проверить конфигурационные зависимости в Python и изменить настройки конфигурации: http://lwn.net/Articles/426013 - кроме того, я нашел обсуждение проблемы, но не решил.
Некоторые полезные элементы для Kconfiglib:
Ответ 2
Для тех, кто может наткнуться на это, Kconfiglib теперь живет в https://github.com/ulfalizer/Kconfiglib и был отполирован и обновлен для последней версии Kconfig как (Linux 3.7.0-rc8). Установка также была значительно упрощена.
Update:
Теперь Kconfiglib обновлен для Linux v4.0-rc3, а тестовый набор проходит в режиме обсессивно. Добавлена новая опция option allnoconfig_y
(для оставления определенных символов как y
в течение make allnoconfig
), которая была включена.
Извините, что некоторое время оставил Krotfllib bitrot!:/
Не стесняйтесь публиковать любые связанные с Kconfig вопросы (не обязательно связанные с Kconfiglib), которые у вас могут быть, и связать их здесь (или уведомить меня каким-либо другим способом). Kconfig имеет много неясных углов.