Компиляция и установка ядра Linux

  Автор: © Subhasish Ghosh
Перевод: © Иван Песин.


 

Вступление:

Всем привет! Эта статья представляет собой детальное, пошаговое руководство по компиляции, конфигурации и установки ядра на системе 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, которая означает, что вы работаете под новым ядром, а не с тем, с которого мы начинали. Все! Помните так же, что у вас может быть на одной машине столько ядер, сколько вам хочется. В случае если все это не сработало или же вы ребята (или девчата) столкнулись с проблемами, вы можете обратиться ко мне по адресу auspicious_blessingsindia@hotmail.com с вопросами и за советами. Мне будет очень приятно услышать отзывы и помочь вам. И, я надеюсь, что этот детальный HowTo поможет всем, кто захочет настроить собственное ядро.

Ресурсы:

Существует множество информационных ресурсов в Сети о том, как настраивать ядро. Советую обратиться на http://www.vmlinuz.nu за дополнительной документацией по вопросам ядра Linux.

Subhasish Ghosh

Мне 20 лет, живу сейчас в Индии. Я учусь на разработчика компьютерных информационных систем и являюсь сертифицированным специалистом в области информационных технологий. Я имею 6 сертификатов Microsoft Certified Professional (MCP), а также являюсь обладателем звания Certified Professional Certified on NT 4.0 Track. Длительное время работаю с Linux, в основном с Linux Red Hat. Сейчас готовлюсь к сдаче экзамена на звание Red Hat Linux Certified Engineer(RHCE) и планирую работать в будущем с ОС Linux.

 


Copyright © 2001, Subhasish Ghosh.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 68 of Linux Gazette, July 2001

Вернуться на главную страницу