Разработка ядра Linux
Шрифт:
или графическую утилиту на основе системы X11:
или еще более удобную графическую утилиту, основанную на библиотеке gtk+:
Эти утилиты позволяют разделить все параметры по категориям, таким как Processor Features (Свойства процессора) и Network Devices (Сетевые устройства). Пользователи могут перемещаться по категориям и, конечно, изменять значения конфигурационных параметров. Команда
позволяет
Конфигурационные параметры содержатся в корне дерева каталогов исходного кода ядра в файле с именем
Кстати, перед сборкой ядра эту команду также необходимо выполнить. После того как конфигурация ядра выполнена, можно выполнить сборку с помощью команды:
В отличие от предыдущих серий ядер, в версии 2.6 больше нет необходимости выполнять команду
Уменьшение количества выводимых сообщений
Для того чтобы уменьшить шум, связанный с сообщениями, которые выдаются во время сборки, но в то же время видеть предупреждения и сообщения об ошибках, можно использовать такую хитрость, как перенаправление стандартного вывода команды
Если вдруг окажется необходимым просмотреть выводимые сообщения, можно воспользоваться соответствующим файлом. Но обычно, если предупреждения или сообщения об ошибках выводятся на экран, в этом нет необходимости.
На самом деле я выполняю следующую команду
что позволяет совсем избавиться от ненужных сообщений.
Параллельная сборка
Программа
По умолчанию утилита
где n — количество заданий, которые необходимо запустить.
Обычно запускается один или два процесса на процессор. Например, на двухпроцессорной машине можно использовать следующий запуск.
Используя такие отличные утилиты, как
Инсталляция ядра
После того как ядро собрано, его необходимо инсталлировать. Процесс инсталляции существенно зависит от платформы и типа системного загрузчика. Для того чтобы узнать, в какой каталог должен быть скопирован образ ядра и как установить его для загрузки, необходимо обратиться к руководству по используемому системному загрузчику. На случай если новое ядро будет иметь проблемы с работоспособностью, всегда следует сохранить одну или две копии старых ядер, которые гарантированно работоспособны!
Например, для платформы x86, при использовании системного загрузчика grub можно скопировать загружаемый образ ядра из файла
Инсталляция модулей ядра автоматизирована и не зависит от аппаратной платформы. Просто нужно запустить следующую команду с правами пользователя root.
В процессе компиляции в корневом каталоге дерева исходного кода ядра также создается файл
"Зверек другого рода"
Ядро имеет некоторые отличия в сравнении с обычными пользовательскими приложениями, эти отличия хотя и не обязательно приводят к серьезным усложнениям при программировании, но все же создают специфические проблемы при разработке ядра.
Эти отличия делают ядро зверьком другого рода. Некоторые из старых правил при этом остаются в силе, а некоторые правила являются полностью новыми. Хотя часть различий очевидна (все знают, что ядро может делать все, что пожелает), другие различия не так очевидны. Наиболее важные отличия описаны ниже.
• Ядро не имеет доступа к библиотеке функций языка С.
• Ядро программируется с использованием компилятора GNU С.
• В ядре нет такой защиты памяти, как в режиме пользователя.