Опубликован: 24.07.2006 | Уровень: для всех | Доступ: свободно
Лекция 18:

Обновление ядра

Компиляция ядра

Вот мы и добрались до основного этапа - собственно компиляции ядра. На этом этапе Ваше участие сводится только к запуску команды make bzImage, которая служит для создания сжатого образа ядра. Снова по экрану бегут непонятные сообщения (которые просто не успеваешь воспринять). О том, что процесс компиляции завершился без ошибок, вы можете судить по появлению сообщений примерно такого вида (естественно, я привожу те сообщения, которые были выданы в процессе компиляции ядра на моем компьютере):

Root device is (3,5)
Boot sector 512 bytes.
Setup is 2360 bytes.
System is 887 kB
make[1]: Выход из каталог '/opt/kernel/2.4.2/linux/arch/i386/boot'

И в текущем каталоге должны появиться файлы System.map и vmlinux. Кроме того, в подкаталогах каталога linux тоже появляется масса новых файлов (в том числе и .o-файлы, которые упоминались выше, как мешающие повторному проведению компиляции ядра в том же каталоге).

На этом собственно компиляция ядра и заканчивается. В дополнение приведу еще три замечания из документации к ядру.

  • Если в качестве загрузчика вы используете LILO, то после компиляции можно выполнить команду make install, однако рекомендуется вначале проверить (и подкорректировать) конфигурационный файл LILO.
  • Хотя такое событие и очень маловероятно, но если ваша система не может загружать ядро в формате bzImage, вы можете скомпилировать его как zImage. Однако, надо иметь в виду, что поддержка zImage будет в ближайшем будущем отменена, поэтому разработчики предлагают тем, у кого возникнут проблемы с загрузкой ядра в формате bzImage сообщить об этом (приложив детальное описание конфигурации) в список рассылки linux-kernel и Питеру Анвину (H.Peter Anvin, hpa+linux@zytor.com).
  • И, наконец, если вы вдруг захотите создать загрузочный диск (без корневой файловой системы или LILO ), вставьте дискету в дисковод A: и дайте команду make bzdisk.

Компиляция модулей

Если вы сконфигурировали какие-то драйверы как отдельные модули (выбирали при конфигурации вариант "m" при ответе на некоторые вопросы), то вы теперь должны еще выполнить команду make modules, а затем еще команду make modules_install. В файле Documentation/modules.txt можно найти дополнительную информацию по этому поводу, а также объяснение того, как использовать модули.

В завершение этапа компиляции стоит выполнить еще команду make clean, чтобы удалить образующиеся в процессе компиляции промежуточные объектные файлы (файлы с расширением .o ).

Владислав Гермак
Владислав Гермак
У Вас ошибка в курсе
Марина Дайнеко
Марина Дайнеко
Россия, Moscow, Nope, 2008
Александр Климов
Александр Климов
Россия, Московское высшее техническое училище им. Н. Э. Баумана, 1989