Добавить в избранное | Сделать стартовой страницей

Большая Linux библиотека для пользователей OS Linux и ПО для нее
Есть что сказать? Нужен совет? Посети наш форум.


-


Компиляция и установка ядра 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, которая означает, что вы работаете под новым ядром, а не с тем, с которого мы начинали. Все! Помните так же, что у вас может быть на одной машине столько ядер, сколько вам хочется. В случае если все это не сработало или же вы ребята (или девчата) столкнулись с проблемами, вы можете обратиться ко мне по адресу [email protected] с вопросами и за советами. Мне будет очень приятно услышать отзывы и помочь вам. И, я надеюсь, что этот детальный 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.