конфигурация меню
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Написано в | С |
---|---|
Операционная система | Линукс |
Тип | автоматизации сборки Инструмент |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | www |
make menuconfig
— один из пяти подобных инструментов, с помощью которых можно настроить исходный код Linux , что является необходимым ранним шагом для компиляции исходного кода . make menuconfig
, управляемым через меню , с пользовательским интерфейсом , позволяет пользователю выбирать функции Linux (и другие параметры), которые будут скомпилированы. Обычно он вызывается с помощью команды make menuconfig
; в Linux Menuconfig — это целевой файл Makefile .
Обзор
[ редактировать ]make menuconfig
не было в первой версии Linux . Предшествующий инструмент представляет собой утилиту, основанную на вопросах и ответах ( make config
, make oldconfig
).
Варианты инструмента для настройки Linux включают:
make xconfig
, для которого требуется Qtmake gconfig
, который использует GTK+make nconfig
, что похоже наmake menuconfig
.
Все эти инструменты внутренне используют язык Kconfig . Kconfig также используется в других проектах, таких как Das U-Boot , загрузчик для встраиваемых устройств, Buildroot , инструмент для создания встраиваемых систем Linux, и BusyBox , одноисполняемый набор инструментов утилиты оболочки для встраиваемых систем.
Преимущества перед предыдущими версиями
[ редактировать ]Несмотря на простую конструкцию, make menuconfig
предлагает значительные преимущества по сравнению с инструментом настройки на основе вопросов и ответов. make oldconfig
, наиболее примечательной из которых является базовая система поиска и возможность загружать и сохранять файлы с именами, отличными от " .config
". make menuconfig
дает пользователю возможность перемещаться вперед или назад непосредственно между функциями, вместо того, чтобы использовать make config
нажав кнопку ↵ Enter клавиша для линейного перехода к конфигурации конкретной функции.
Если пользователь удовлетворен предыдущим .config
файл, используя make oldconfig
использует этот предыдущий файл, чтобы ответить на все возможные вопросы, только интерактивно представляя новые функции. Это предназначено для обновления версии, но может быть уместно в других случаях.
make menuconfig
небольшая нагрузка на системные ресурсы в отличие от make xconfig
(использует Qt версии 2.6.31.1, ранее Tk ) или make gconfig
, который использует GTK+ . Большинство функций можно игнорировать с помощью make config
, и это повышает вероятность того, что будет настроено неполное или слишком большое ядро. Рекомендуется начать с .config
файл, включенный в дистрибутив Linux , что упрощает настройку собственного ядра.
Это лучше, чем редактировать .config
вручную, make menuconfig
показывает описания каждой функции (при нажатии кнопки «Справка» в пункте меню) и добавляет некоторую (примитивную в версии 2.6.31.1) проверку зависимостей. С помощью make oldconfig проверку зависимостей можно выполнить за один шаг, но пользователю необходимо найти вручную измененные функции, чтобы убедиться, что необходимые из них все еще включены.
Практически, используя оба make menuconfig
и make oldconfig
, diff (а также cvs и достойный текстовый редактор) обеспечивает максимальную гибкость и максимальную надежность. Настройка Linux — это значительный труд, поэтому пользователям настоятельно рекомендуется делать его резервные копии (т. cp /usr/src/linux*/.config ~/savemywork.config
).
Справочная информация распространяется по дереву исходного кода ядра в различных файлах, называемых Kconfig.
Зависимости
[ редактировать ]Чтобы использовать make menuconfig
, исходный код Linux является обязательным, инструмент make , компилятор C и библиотека ncurses .
Ключевые удары
[ редактировать ]Ключевой ход | Значение |
---|---|
? | Описание опций и советы/Помощь |
←→↑↓PgUpPgDn | Перейдите по функциям ядра и командам менюконфигурации. |
Esc+ Esc | Выйдите из меню конфигурации или отмените команду. |
↵ Enter | Активируйте команду или разверните ветку. |
y | Скомпилируйте и включите эту функцию в ядро. |
m | Скомпилируйте эту функцию как модуль, отдельный от ядра. |
n | Не компилируйте функцию. |
/ | Поиск параметра конфигурации. |
Символы
[ редактировать ]Слева от функций находится параметр (y, M или пустой), заключенный в два знака препинания.
Символ | Значение |
---|---|
< > | Никаких зависимостей. |
[ ] | Зависимость требует, чтобы это было скомпилировано (y) или не скомпилировано (n). |
{ } | Зависимость требует, чтобы это был модуль (m) или скомпилированный (y). |
- - | Зависимость требует, чтобы это было скомпилировано (y). |
Обратите внимание, что предоставленная информация о зависимостях является примитивной и не сообщает вам имена зависимых функций.
Символ | Значение |
---|---|
---> | Использовать ↵ Enter чтобы развернуть эту ветку в новом окне. |
(Экспериментальный) | Нестабильный/меньший код, будьте осторожны. |
(Новый) | Опция отсутствует в более старой версии Linux. |
(Устарело) | Опция, которая будет удалена в будущих версиях. |
Menuconfig в рабочем процессе сборки ядра
[ редактировать ]Пользователю рекомендуется прочитать Linux README , поскольку существует также множество других целей make (помимо elements_install и install ). Каждый из них будет настраивать ядро, но с разными активированными функциями или с использованием другого интерактивного интерфейса; например tinyconfig или alliesconfig .
простой (но эффективный) рабочий процесс
[ редактировать ]make menuconfig
- Затем соберите сжатое ядро и его модули — длительный процесс.
make
. - Установите, используя ваш любимый метод, например
make modules_install
,make install
.
См. также
[ редактировать ]Ссылки
[ редактировать ]- The
make menuconfig
сам инструмент. - Линукс с нуля
- Как построить минимальную систему Linux. Архивировано 23 октября 2009 г. на Wayback Machine.
- Создание собственных ядер с помощью системы пакетов ядра Debian.
- Кросс-компиляция Linux на IBM System z
- Как развернуть свой собственный Linux
- Сборка ядра традиционным способом
- HOWTO по ядру Linux
- язык Kconfig