Компиляция и установка ядра Linux. |
Subhasish Ghosh, Linux Gazette, 2001. Перевод: Иван Песин. |
Вступление:
Всем привет! Эта статья представляет собой детальное, пошаговое руководство
по компиляции, конфигурации и установки ядра на системе Red Hat Linux. Как все
мы знаем, настраивать ядро приходится по многим причинам, и я не буду вдаваться
в детали. Я лишь покажу, как скомпилировать, настроить и установить ядро. Несмотря
на то, что нижеприведенные шаги ориентированы на пользователей Red Hat Linux,
он подойдет пользователям других дистрибутивов Линукса, конечно же, с некоторыми
изменениями. (Например, не все системы используют initrd.)
Главное:
Помните, что все шаги, описанные ниже я выполнял на компьютере следующей конфигурации:
Compaq Presario 4010 Series computer system, 15.5 GB Hard Disk Space, 96 MB
RAM, 400 MHz Intel Celeron Processor, Red Hat Linux 7.0 Distribution Release.
Ядро версии: 2.2.16-22
Цель:
Нашей целью будет получение полностью рабочего ядра, как результат всех шагов,
указанных ниже. Например, я получил ядро с именем "2.2.16-22ghosh"
(потому что мое имя - Сабхасиш Гауш (Subhasish Ghosh), вы же можете указать
все что хотите!). Так что, счастливой охоты и компиляции ядра Linux.
Шаги для компиляции, конфигурации и установки ядра Red Hat Linux:
Следующая инструкция должна выполнятся именно в том порядке, в котором указаны
"шаги":
Шаг 1: Зарегистрируйтесь под именем "root".
Шаг 2: Выполните команду: "rpm -q kernel-headers kernel-source
make dev86"
Шаг 3: Если указанные RPM'ы установлены перейдите к Шагу 4. Иначе, смонтируйте
Red Hat Linux 7.0 CD-ROM и выполните команды rpm -Uvh для инсталляции указанных
RPM.
Шаг 4: Если у вас установлена и настроена система X Window, введите команду
"startx". Если же X Window не установлена, то, лично
я, очень советовал бы вам установить и настроить ее - она будет весьма полезна
вам. Итак, если система X Window НЕ настроена, введите "make config"
или "make menuconfig". Далее я полагаю, что на вашей системе запущена
X Window.
Шаг 5: Теперь в оболочке GNOME откройте окно терминала и введите: "cd
/usr/src/linux".
Шаг 6: Из каталога /usr/src/linux, выполните команду "make xconfig".
Шаг 7: На экране появится графическая версия "make config". Это позволит
вам произвести настройку нового ядра.
Шаг 8: Я посоветую вам оставить большинство значений как есть. Не пробуйте
ничего менять без особых причин - большинство настроек очень чувствительны и
требуют высокого профессионализма. Сделайте только следующие изменения:
(Трудно согласиться с автором - если вы ничего не будете пробовать,
вы никогда не станете высококлассным специалистом/программистом/пользователем
Линукс. Другой вопрос, если вам необходима просто работающая система, но тогда
зачем копошиться в ядре?.. - Прим. пер.)
1.Processor Type and Features(тип и возможности процессора):
Выберите нужный процессор, в зависимости от того, с каким вы работаете - Pentium
2, 3 или Intel Celeron. Например, я выбрал следующие настройки: Processor Family:
PPro/686MX, Maximum Physical Memory: 1 GB, Math Emulation: Yes, MTRR: Yes, SMP:
Yes.
2.Откройте диалог Filesystems(файловые системы) и сделайте
следующие изменения: DOS FAT fs support: Yes(y), MSDOS fs support: Yes(y), UMSDOS:
m, VFAT(Windows 95) support: Yes(y), NTFS filesystem support (read-only): Yes(y),
NTFS read-write support(DANGEROUS): No(n). После того как вы сделали указанные
изменения, удостоверьтесь, что вы не поменяли другие установки. Все вышеприведенные
изменения совершенно безопасны и никак не отразятся на существующем ядре.
3.Сохранитесь и выйдите из главного диалога.
Шаг 9: Выполните команду "ls -al" из каталога /usr/src/linux.
Шаг 10: Уверен, вы увидите файл "Makefile". Это
крайне важный файл для процесса компиляции. Потому уверьтесь в том, что вы создали
копию этого файла: "cp Makefile Makefile.bak"
Шаг 11: Теперь: (из /usr/src/linux) "vi Makefile".
Шаг 12: Перейдите к строке EXTRAVERSION и измените ее на что-нибудь.
Я, например, заменил EXTRAVERSION=-22 на EXTRAVERSION="-22ghosh".
Вообще, можно заменять, на что вам заблагорассудится.
Шаг 13: Сохранитесь и выйдите из редактора.
Шаг 14: Все следующие шаги должны быть выполнены из /usr/src/linux. Введите:
"make dep clean" и нажмите enter.
Шаг 15: Теперь введите: "make bzImage modules".
Это займет некоторое время, так что вы можете отправиться выпить что-нибудь,
пока компилируются необходимые файлы. Я, обычно, в это время дремаю, так как
все эти процедуры происходят у меня где-то около полуночи.
Шаг 16: После выполнения предыдущего шага, в каталоге /usr/src/linux/arch/i386/boot
появится файл "bzImage". Просто смените текущий каталог,
и проверьте, есть ли файл "bzImage". ЕСЛИ, И ТОЛЬКО ЕСЛИ, все шаги
компиляции были выполнены верно и все настройки, выполненные в окне команды
"make xconfig", корректны, появится данный файл. Если вы нашли этот
файл, а я надеюсь, что нашли, вы уже можете начинать прыгать от счастья, так
как 75% битвы вы уже выиграли. Если вы не видите указанный файл, мне жаль, но
вы где-то допустили ошибку, и вам придется остановится и выполнить все шаги сначала.
Я уверен, у вас все получится.
Шаг 17: Введите (из каталога /usr/src/linux): "cp ./arch/i386/boot/bzImage
/boot/vmlinuz-2.2.16-22ghosh" и нажмите enter.
Шаг 18: Введите: "cp System.map /boot/System.map-2.2.16-22ghosh"
Шаг 19: Введите: "make modules_install" и нажмите
enter. Вы увидите, как происходит установка необходимых модулей в соответствующие
каталоги.
Шаг 20: Введите: "mkinitrd /boot/initrd-2.2.16-22ghosh.img 2.2.16-22ghosh"
Шаг 21: Введите: "vi /etc/lilo.conf" и добавьте
следующие строки:
image=/boot/vmlinuz-2.2.16-22ghosh
label=GhoshKernel
initrd=/boot/initrd-2.2.16-22ghosh.img
root=/dev/hdc5
read-only
Шаг 22: Сохранитесь и выйдите. Обратите внимание, что значения необходимо указывать
в соответствии с вашей системой. Так, например, файловая система root должна
соответствовать вашей системе root. На моей машине - это /dev/hdc5. Вы же должны
указать ваше устройство с системой root.
Шаг 23: Введите: "/sbin/lilo -v -v"
Шаг 24: Прочитайте вывод предыдущей команды. Если ошибок нет - работа сделана.
Поздравляю!!!
Шаг 25: Перезагрузитесь, введя: "/sbin/reboot" или
"/sbin/shutdown -r now".
Шаг 26: В диалоге начальной загрузки (в ответ на приглашение
"Boot:" - Прим. пер), нажмите Tab (или Control-X, зависит
от вашего загрузчика) и среди прочих ядер в списке вы увидите "GhoshKernel".
Шаг 27: Введите: GhoshKernel и нажмите enter. Ваше новое ядро
начнет загружаться. Ну, вот и все!
Результат:
После регистрации под именем "root", введите: "uname
-r" и нажмите Enter. Вы увидите текст, сообщающий версию ядра:
2.2.16-22ghosh, которая означает, что вы работаете под
новым ядром, а не с тем, с которого мы начинали. Все! Помните так же, что у
вас может быть на одной машине столько ядер, сколько вам хочется.
Ресурсы:
Существует множество информационных ресурсов в Сети о том, как настраивать
ядро. Советую обратиться на http://www.vmlinuz.nu
за дополнительной документацией по вопросам ядра Linux.
|