Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Операционные системы -> Linux -> Linux. Компиляция и настройка ядра


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

Данная статья содержит описание действий, необходимых для успешной настройки и компиляции ядра системы Linux. Все рассматриваемые далее операции проводились под Red Hat 9.0, версия ядра 2.4.20-8, загрузчик LILO. Впрочем, рекомендации будут вполне корректны для всех Linux-систем.

Как всегда, в начале несколько соглашений:

1. Все действия проводятся с правами root.

2. Знак "%" не является частью ниже представленных команд, а лишь указывает на начало строки с командой.

Итак, представим себе, что вы захотели смонтировать NTFS-раздел, но система почему-то отказывается это делать, говоря: "fs type ntfs not supported by kernel" (рис. 1).

О, ужас! Ведь именно в этом разделе хранятся важные документы, а получить к ним доступ можно только из-под Linux, по причине того, что Windows "умерла", как всегда, в самый неподходящий момент.

Что делать? Наверное, переставить Windows. Но форматировать NTFS-раздел нельзя из-за того, что он один и именно на нем хранятся так нужные нам документы. Можно взять дискетку и попробовать с помощью специальных утилит проникнуть в раздел средствами DOS. Но нужные файлы слишком велики и не помещаются на дискету.

Страшно? Можно рвать на себе волосы, а можно, перекомпилировав ядро Linux-системы, с легкостью достать нужные документы и потом спокойно переставить Windows, отформатировав локальный диск. Итак, нам надо перекомпилировать ядро, включив поддержку файловой системы NTFS. Потом прописать в терминале:

% mount -t ntfs /dev/hda10 /mnt/hard

или что-то похожее, а затем с довольным видом отправиться на работу или отдыхать.

Не бойтесь, если у вас не получится настроить все как надо с первого раза, и компиляция завершится ошибкой. Вы не убьете систему, вам просто надо будет повторить все шаги заново и исправить допущенные ошибки.

Оболочка X-Windows наиболее всего подойдет для выполнения нашей задачи, потому как наглядность и удобство в процессе обучения превыше всего.

1. Для начала запускаем терминал и переходим в папку, в которой лежит стандартное ядро системы:

% cd /usr/src/linux-version

где version - это версия вашего стандартного ядра.

2. Стартуем программу конфигурации ядра:

% make xconfig

Перед нами появится что-то, похожее на картинку под номером один (рис. 2).

Это и есть отправная точка. Здесь будут производиться все предкомпиляционные изменения в ядре. Советую запастись терпением, так как полная настройка ядра под себя - процесс очень трудоемкий и длительный. Но результат оправдает все усилия и ожидания. Во всяком случае, на это надо надеяться.

Помимо всего прочего, я бы рекомендовал вести записи всех изменений, вносимых в ядро. Дело в том, что очень часто люди ставят или убирают галки, не будучи уверенными в правильности своих действий, после этого они начинают спрашивать: "А у меня звук не работает, что я сделал не так?" или "Почему у меня не компилируется ядро?" и прочее. Поэтому читайте help- и man-страницы, ставьте галки только там, где уверены, документируйте все изменения и, наконец, не забывайте делать backup документа Makefile, тогда проблем будет гораздо меньше.

3. Перейдем непосредственно к настройке ядра. Одной из наиболее интересующих нас вкладок является General setup (рис. 3). Здесь обязательно надо поставить галки рядом с Networking support и PCI support. Первое нам просто необходимо по той причине, что даже если ваш компьютер не подключен к сети, некоторые программы нуждаются в том, чтобы ядро поддерживало эту опцию. Второе же можете не включать, если вы обладаете ЭВМ, в котором нет PCI-слотов.

Также важны пункты Power Management support и Advanced Power Management BIOS support. В первом случае советую поставить -да-. Это поможет избежать ошибок при включении и выключении компьютера под руководством нашего нового ядра. Во втором случае делайте как хотите, но если вам не нравится вместо ОС вручную выключать питание ПК, ставьте -да-.

Следующая полезная вкладка - Network device support. Тут у пользователя есть возможность включить поддержку своей сетевой карты, попутно отметив требующиеся дополнительные возможности ядра, например, такие как PPP(point-ot-point protocol) support.

Теперь несколько слов о файловых ситемах (File systems). Вспомним про наш несчастный NTFS раздел. В этой вкладке имеется все, что душе угодно: от NTFS до UDF. Единственно, что я бы отметил особо, это то, что большинство конфигураций ядра нуждаются в proc filesystem support.

Не забывайте про звук (Sound). Выберите тут свою или наиболее близкую к имеющейся модель звуковой карты. Впрочем, кроме внутреннего динамика, серверу больше ничего не надо.

Если вам не хватило времени, чтобы настроить все за один присест, - просто сохраните получившееся с помощью кнопки Store Configuration to File и вернитесь к настройке, когда вам заблагорассудится (Load Configuration from File).

4. Готово. Все настроено, как того требует суровая действительность. Остается лишь скомпилировать новое ядро и связать его с существующей системой. Для этого нажимаем на кнопку Save and Exit. В папке /usr/src/linux-version должен появиться Makefile (рис. 4). Проверить это из терминала можно командой

% ls -al

Если в списке документов он есть - это хорошо, можно продолжать.

5. Далее надо будет несколько изменить содержание нашего Makefile. По сему сделаем backup:

% cp Makefile Makefile.bak

6. Теперь со спокойной душой начинаем редактировать (рис. 5):

% vi Makefile

В случае, если vi "не ваш" редактор, воспользуйтесь каким-нибудь блокнотом из иксов. Итак, в самом начале файла есть строка, начинающаяся с фразы EXTRAVERSION=-8. То, что следует за последним знаком версии ядра, меняем на то, что нам захочется, например: EXTRAVERSION = -8xmine.

Советую не использовать заглавных букв, это может привести к появлению ошибок в дальнейшем.

7. Начинаем компилировать:

% make dep clean

Если все прошло без проблем, создаем bzImage, в противном случае надо проверить конфигурацию ядра и то, как был отредактирован Makefile.

% make bzImage modules

Это самый долгий этап компиляции, он может занять минут десять (на производительной машине), если, конечно, не прервется сообщением об ошибке. При появлении ошибки, вернитесь на n-ное количество строк вверх и проверьте, на каком этапе компиляции произошел сбой, это поможет быстрее отыскать ту вкладку, где было неправильно настроено ядро.

После вышеописанных действий в папке по адресу /usr/src/linux-vesion/arch/i386/boot должен появиться файл bzImage. В случае, если его нет, начинайте все заново, где-то что-то было сделано не так, как надо. Ну а если bzImage на месте, то успех предприятия близок.

8. Остается только "рассовать" некоторые полезные файлы по папкам и отредактировать lilo.conf, чтобы LILO знал о существовании нового ядра.

% cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.4.20-8xmine

Копируем bzImage в папку, которую использует система при своей загрузке.

% cp System.map /boot/System.map-2.4.20-8xmine

Некоторые спорят о том, нужен ли файл System.map вообще. Советую не рисковать. И коль скоро вы не профессиональный системный администратор и не сможете решить всех возможных проблем, связанных с его отсутствием, выполните все команды, приведенные в статье.

% make modules_install
% mkinitrd /boot/initrd-2.4.20-8xmine.img 2.4.20-8xmine

9. С файлами ядра покончено. Lilo.conf - единственное, что стоит между нами и системой под управлением нового ядра.

% vi /etc/lilo.conf

В файл настройки LILO надо добавить следующие строки:

image=/boot/vmlinuz-2.4.20-8xmine
label=xmine
initrd=/boot/initrd-2.4.20-8xmine
root=/dev/hda1
read-only

Вместо /dev/hda1 укажите корневой раздел вашей операционной системы (рис. 6).

Далее применяем изменения:

% /sbin/lilo -v -v

И, наконец, перезагружаем компьютер:

% /sbin/reboot

После перезагрузки компьютера, если все было сделано корректно, вы увидите наше творение (mykernel) в списке доступных систем LILO. Поздравляю, теперь вы обладатель ядра, настроенного и скомпилированного специально под ваши потребности. Проверить это можно, введя в терминале команду

% uname -r

Вы увидите что-то вроде: "2.4.20-8xmine" (рис. 7).

Я искренне надеюсь, что данная статья поможет читателю в освоении операционных систем семейства Linux. Удачи вам в действительно увлекательном пути познания Unix и Linux!

Автор: Владимир Царьков
Источник: www.comprice.ru

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.