Linux для пользователя
Шрифт:
Кнопки, представленные в этом окне, отображают основные группы параметров конфигурации (кроме 4 кнопок в правом нижнем углу окна, которые служат для сохранения конфигурации или загрузки ранее сохраненных вариантов конфигурации). Щелчок по любой кнопке, соответствующей группе параметров, приводит к появлению нового окна, в котором уже можно задавать значения для конкретных параметров. Например, щелчок по кнопке General setup приводит к появлению окна, изображенного на рис. 17.2.
Рис. 17.1.
Рис. 17.2. Меню General setup
Как видите, здесь можно просто выбрать один из трех вариантов "y", "n" и "m" (если какой-то из вариантов недоступен, то и возможности его выбрать нет) или получить подсказку по отдельному параметру (кнопка Help). Поскольку число параметров в этой группе велико, справа имеется полоса прокрутки.
Впрочем, мне не кажется, что конфигурировать ядро, используя графический интерфейс, проще, чем с помощью команды make config. Так или иначе, надо продумать и дать ответ на вопрос о каждом параметре конфигурации. Так что, может быть, лучше уж не торопиться и последовательно отвечать на вопросы, задаваемые make config? А иначе (в графическом режиме, я имею в виду) возникает шанс сбиться с пути и пропустить какую-то из кнопок. С другой стороны, преимуществом графического режима является возможность вернуться к какому-то из уже пройденных этапов и изменить ранее заданные значения тех или иных параметров. Кроме того, в каждом из окон имеется кнопка Next, пользуясь которой можно последовательно пройти все этапы конфигурации.
В общем, представление о вариантах осуществления шага конфигурации вы получили, а решать Вам. Отмечу только, что воспользоваться командой make menuconfig вы сможете только при условии, что у вас в системе установлена библиотека ncurses и пакет ncurses-devel.
Я думаю, что сказанного достаточно для того, чтобы вы смогли сконфигурировать ядро, поэтому переходим к дальнейшим шагам.
17.5.4. Проверки
Документация, поставляемая вместе с ядром, советует после завершения конфигурации выполнить два действия:
1. Заглянуть в файл Makefile, чтобы вручную поправить некоторые значения.
2. Дать команду make dep для установки зависимостей.
Конечно, для ручной правки файла Makefile надо понимать, для чего и как этот файл используется. Если вы этого не знаете, то можно этого и не делать, положившись на опыт и интуицию разработчиков. Ну, а вторую рекомендацию я советую выполнить. По экрану побегут непонятные сообщения, причем будет их очень много. Но если в конце не появляется сообщения об ошибке, значит, все завершилось успешно.
17.5.5. Компиляция ядра
Вот мы и добрались до основного этапа - собственно компиляции ядра. На этом этапе Ваше участие сводится только к запуску команды make bzImage, которая служит для создания сжатого образа ядра. Снова по экрану бегут непонятные сообщения (которые просто не успеваешь воспринять). О том, что процесс компиляции завершился без ошибок, вы можете судить по появлению сообщений примерно такого вида (естественно, я привожу те сообщения, которые были выданы в процессе компиляции ядра на моем компьютере):
И в текущем каталоге должны появиться файлы 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.
17.5.6. Компиляция модулей
Если вы сконфигурировали какие-то драйверы как отдельные модули (выбирали при конфигурации вариант "m" при ответе на некоторые вопросы), то вы теперь должны еще выполнить команду make modules, а затем еще команду make modules_install. В файле Documentation/modules.txt можно найти дополнительную информацию по этому поводу, а также объяснение того, как использовать модули.
В завершение этапа компиляции стоит выполнить еще команду make clean, чтобы удалить образующиеся в процессе компиляции промежуточные объектные файлы (файлы с расширением.o).
17.5.7. Установка ядра
После этого остается сделать последний шаг - установить ядро и перезагрузиться. Для установки ядра вы должны иметь права суперпользователя. (Хотя в начале главы и было сказано, что для компиляции ядра надо иметь права суперпользователя, однако все предыдущие шаги можно было выполнить и от имени обычного пользователя. Не стоит работать от имени суперпользователя без необходимости!)
Разработчики рекомендуют вначале сохранить где-нибудь копию старого ядра на случай, если что-то пойдет не так, как задумано. Эта рекомендация особенно актуальна для случая, если вы ставите ядро из нестабильной ветки, поскольку такие версии могут содержать неотлаженный код. Кроме самого ядра надо сделать backup-копии модулей, соответствующих ядру. Если вы устанавливаете новое ядро с тем же самым номером версии, что и у работающего в Вашей системе ядра, сделайте резервную копию всего каталога с модулями перед выполнением команды make modules_install.