Конфигурационные цели и редакторы
Оригинал – https://docs.kernel.org/kbuild/kconfig.html
Этот файл содержит инструкции по использованию make *config
.
Используйте make help
для получения списка всех возможных конфигурационных целей.
Программы xconfig (‘qconf’), menuconfig (‘mconf’) и nconfig (‘nconf’) также имеют встроенный вспомогательный текст. Обязательно проверьте его для навигации, поиска и другой общей вспомогательной информации.
В программе gconfig ('gconf') вспомогательный текст ограничен.
Основное
Новые релизы ядра часто вводят новые символы конфигурации. Часто более важно то, что новые релизы ядра могут переименовывать уже существующие символы. Когда это происходит, использование ранее работающего файла .config и запуск команды "make oldconfig" не обязательно создаст вам новое работающее ядро, поэтому может потребоваться узнать, какие НОВЫЕ символы ядра были введены.
Для того чтобы получить список новых символов воспользуйтесь:
cp user/some/old.config .config
make listnewconfig
и программа конфигурации выведет все новые символы построчно.
Или же вы можете воспользоваться методом перебора:
make oldconfig
scripts/diffconfig .config.old .config | less
Переменные окружения
Переменные окружения для *config
:
-
KCONFIG_CONFIG
Эта переменная окружения может быть использована для указания имени файла конфигурации ядра по умолчанию для замены стандартного имени ".config".
-
KCONFIG_DEFCONFIG_LIST
Эта переменная задает список файлов конфигурации, которые могут быть использованы в качестве базовой конфигурации, в случае если файл .config ещё не создан. Элементы в списке разделяются между собой пробелами, и используется первый из них, который существует.
-
KCONFIG_OVERWRITECONFIG
Если вы установите
KCONFIG_OVERWRITECONFIG
в окружении, то Kconfig не разорвет символические ссылки (symlinks), когда .config является символической ссылкой куда-то ещё. -
KCONFIG_WARN_UNKNOWN_SYMBOLS
Эта переменная окружения заставляет Kconfig предупреждать о всех нераспознанных символах в пользовательском вводе конфигурации.
-
KCONFIG_WERROR
Если установлена – Kconfig воспринимает предупреждения, как ошибки.
-
CONFIG_
Если вы установите переменную
CONFIG_
в окружении, Kconfig будет добавлять значение этой переменной в начало названий всех символов при сохранении конфигурации, вместо использования значения по умолчанию, которым являетсяCONFIG_
.
Переменные окружения для {allyes/allmod/allno/rand}config
:
-
KCONFIG_ALLCONFIG
Варианты allyesconfig/allmodconfig/allnoconfig/randconfig также могут использовать переменную окружения
KCONFIG_ALLCONFIG
как флаг или имя файла, который содержит конфигурационные символы, которым пользователь хочет установить определённые значения. ЕслиKCONFIG_ALLCONFIG
используется без указания имени файла, то там гдеKCONFIG_ALLCONFIG == “”
илиKCONFIG_ALLCONFIG == “1”
, командаmake *config
проверяет наличие файла с именемall{yes/mod/no/def/random}.config
(соответствующего используемой команде*config
), где заданы значения символов, которые должны быть установлены принудительно. Если такой файл не найден, проверяется наличие файла с именем “all.config”, который также может содержать принудительно установленные значения.Это позволяет вам создавать "миниатюрные" конфигурационные (miniconfig) или пользовательские файлы конфигурации, содержащие только символы конфигурации, которые вас интересу ют. Затем система конфигурации ядра генерирует полный файл .config, включая символы из вашего miniconfig.
Этот файл
KCONFIG_ALLCONFIG
является файлом конфигурации, который содержит (обычно подмножество) заранее установленных символов конфигурации. Эти настройки переменных все еще подлежат проверке зависимостей.Примеры:
KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig
или:
KCONFIG_ALLCONFIG=mini.config make allnoconfig
или:
make KCONFIG_ALLCONFIG=mini.config allnoconfig