Отправляет email-рассылки с помощью сервиса Sendsay

Linux для начинающих.

  Все выпуски  

Linux для начинающих.


Информационный Канал Subscribe.Ru

18. Ядро Linux. Продолжение.

Уважаемые подписчики! Спасибо за вашу поддержку. У вас есть возможность помочь рассылке.

Сайт рассылки (откроется в новом окне)

Зайдите на наш сайт (откроется в новом окне) и кликните по баннеру вверху открывшейся страницы. Таким образов, вы, потратив 30 секунд своего времени, реально поможете рассылке.

Если вы прочитали Kernel-HOWTO, то этого вполне достаточно, чтобы самостоятельно собирать ядро. Я лишь расскажу у некоторых тонкостях компиляции, с которыми сам столкнулся.
  • При настройке ядра командами make xconfig или make menuconfig, отображаемая при первом запуске конфигурация не является конфигурацией текущего откомпилированного ядра. Поэтому в первый раз над настройками придется поработать. Не забудьте включить в ядро поддержку FAT32 (если у вас есть разделы с этой файловой системой). Она не поддерживается в конфигурации по умолчанию.

  • При настройке ядра командами make xconfig или make menuconfig обязательно сохраняйте конфигурацию по умолчанию и те настройки, который вы сделали перед выходом. Желательно давать им осмысленные названия (например default для исходной конфигурации и сurrent для текущего ядра).

  • Компиляция ядра занимает длительное время. Я предпочитаю компилировать ядро запуском одного скрипта, чтобы во время компиляции - процесса небыстрого - не сидеть у экрана монитора и последовательно вводить команды.

  • При компиляции ядра желательно создавать копию текущего, работающего ядра и создавать запись в конфигурационном файле загрузчике не только для нового ядра, но и для старого. Вы сможете пересобрать ядро в том случае, если собранное ядро не будет запускаться. В Linux RedHat можно сделать это несколько иначе. В файле Makefile (в директории /usr/src/linux) можно установить параметр EXTRAVERSION, например

    EXTRAVERSION = -test

    после этого все то же самое, но make modules_install поставится в свой отдельный каталог установка (пpавильная!) ядpа в /boot сделается сама чеpез make install (это работает только с ядрами 2.2.x (у 2.0 просто нет параметра EXTRAVERSION)) и, по крайней мере теоретически, может "сломать" чей-нибудь автоконфигуратор, рассчитывающий на n.n.nn по uname -r. Тем, кто отважился на сборку ядра лично под себя, советуем обратить внимание на следующие факты: В начале Makefile (/usr/src/linux/Makefile) есть переменная EXTRAVERSION. Используя ее можно получать ядра одной и той же версии, но с названиями, отличающимися суффиксом (напр, 2.2.12-20 и 2.2.12-test). Это хорошо, поскольку позволяет сохранить экземпляр ядра, который заведомо умеет грузиться. Родное ядро, с которым ставилась система, лучше сохранить на случай всяких неприятностей. Hадо только не забыть добавить дополнительную запись в /etc/lilo.conf (достаточно иметь всего 2 записи: на родное ядро и на свежесобранное). В Linux RedHat в /usr/src/linux правильно работает make install и make modules_install. Ядро и модули копируются в нужное место и правильно настраиваются символические ссылки. Причем, что приятно, это относится не только к ядрам, полученным в виде .src.rpm, но и если просто взять ядро с ftp.kernel.org, все заработает. (эту правильную установку осуществляет скрипт /sbin/installkernel, входящий в пакет с фирменным ядром Linux RedHat, поэтому перед make install желательно убедиться в наличии этого скрипта.) EXTRAVERSION в этих ядрах по умолчанию не выставлено, поэтому ядро будет получаться под именем навроде 2.2.13 (конечно, EXTRAVERSION при желании можно выставить) Когда ядро собирается в дереве, в котором уже собиралось ядро, очень рекомендуется после make *config (make menuconfig или make xconfig) запустить make clean. Во всяком случае, если какие-то части ядра были переселены в модули или обратно, надо делать это обязательно, иначе есть шанс собрать неправильное (не работающее) ядро.

  • Если новая версия ядра не грузится, значит, скорее всего, не правильно настроен загрузчик. Одна вещь которая случилось однажды со мной это была проблема в файле конфигурации; там говорилось boot=/dev/hda1' вместо boot=/dev/hda' (Это может быть раздражающим в начале, но когда вы сделаете рабочий файл конфигурации, то вам не нужно будет его больше изменять).

Это все советы, которые я могу вам дать. Собирайте новое ядро и наслаждайтесь.

Ведущий рассылки: Root. Обратный адрес: linux.config@mail.ru



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное