Журнал LinuxFormat - перейти на главную

LXF70:Frequently Asked Questions

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

Frequently Asked Questions: Ядро

Как узнать, какая версия ядра используется в моей системе?

Большая часть современных дистрибутивов построена на ядре 2.6, хотя некоторые все еще используют 2.4. Вы можете узнать версию ядра, работающего в вашей системе, с помощью команды uname. Введите:

$ uname –a

Вы увидите строки, напоминающие приведенные ниже:

Linux cr2 2.6.11.6 #1 SMP Mon
Mar 28 18:48:32 BSt 2005 i686 GNu/Linux

Данная система работает с ядром 2.6.11.6, шестой ревизией версии 2.6.11. Создатели вашего дистрибутива могли внести в ядро свои изменения, так что его номер может не соответствовать простейшей схеме «2.6.x.y».

Oткуда я могу загрузить ядро, и что получу конечном итоге?

Вы можете загрузить tar-архив последней версии ядра с сайта Linux Kernel Archives, расположенного по адресу http://www.kernel.org. Скорее всего, вы захотите загрузить файл linux-2.6.11.6.tar.gz или аналогичный из каталога linux/pub/linux/kernel. В нем содержатся все исходные тексты ядра Linux соответствующей версии. Если в вашей системе уже установлено дерево исходных текстов ядра Linux, вы можете загрузить изменения (patch) между ним и следующей ревизией. Это избавит вас от необходимос ти загружать все дерево исходных текстов.

Должен ли я использовать ядро, поставляемое в комплекте с моим дистрибутивом или жемогу собрать свое собственное?

Ответ на этот вопрос лучше всего пояснить на примере. Red Hat распространяет ядра, на которые наложено множество исправлений, и некоторые из предлагаемых ими утилит не будут работать с ядрами, не содержащими данных изменений. аналогично, исправления сторонних разработчиков могут войти в конфликт с исходными текстами ядра Red Hat, поскольку они подразумевают наличие немодифицированного ядра.

В случае, если вам не нужны специфические возможности ядра, отсутствующие в редакции Red Hat, лучше использовать ядра из состава вашего дистрибутива. Конечно, если вам не требуются никакие исправления, включенные в ядро разработчиками дистрибутива, чистое ядро (также называемое «vanilla kernel») должно прекрасно работать.

Я получил tar-файл с моим ядром. Как мне скомпилировать его?

Сборка ядра обычно производится в каталоге /usr/src/linux, поэтому перейдите в /usr/src и распакуйте ядро командой

tar xzf ~/linux-2.6.11.6.tar.gz

После этого в каталоге linux будет содержаться исходный код ядра, предназначенного для компиляции.

Стандартная последовательность настройки, сборки и установки ядра такова:

cd linux
make mrproper xconfig dep clean bzlilo
modules modules_install

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

Вызов bzlilo собирает ядро и копирует его в /vmlinuz. Чтобы установить новое ядро, выполните команду lilo. Необходимо также указать LILO использовать образ /vmlinuz вместо /boot/vmlinuz. При необходимости можно также скорректировать файлы Makefile ядра таким образом, чтобы образ устанавливался сразу же в каталог /boot.

Последние два параметра команды make в приведенном выше примере создают подгружаемые модули и размещают их в соответствующем месте.

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

Могу ли я добавить в ядро новые возможности?

Для ядра Linux имеется множество патчей, которые добавляют в него возможности, отсутствующие в стандартной версии. Один из основных проектов, распространяющих пакеты патчей к ядру — это WOLK (Working Overloaded Linux Kernel). Вместо того, чтобы накладывать исправления по одному, вы можете загрузить с WOLK (http://sf.net/projects/wolk) и применить к своему ядру один-единственный патч, объединяющий в себе множество более мелких исправлений.

Алан Кокс (Alan Cox) поддерживает линейку ядер, известную как -ac. Эти ядра содержат некоторые функции, которые еще не включены в основную версию ядра Linux, а также базовые исправления для ошибок, обнаруженных в стандартном ядре. Многие люди используют ядра -ac вместо официальных, однако, как и в случае с ядрам, подготовленными разработчиками дистрибутивов, наложение некоторых патчей на ядра серии -ac может привести к конфликту.

Персональные инструменты
купить
подписаться
Яндекс.Метрика