Сборка и установка ядра Linux

Самостоятельная сборка действительно рабочего ядра Linux — длительный и кропотливый процесс, требующий высокого профессионализма. Разработчи- ки дистрибутива добиваются наилучшей работы ядра, тщательно интегрируя его с программным обеспечением, входящим в дистрибутив. Нет никакой гарантии, что самостоятельно собранное ядро, которое на первый взгляд ка- жется рабочим, действительно будет обеспечивать стабильную работу систе- мы. Собирать ядро необходимо лишь при наличии действительно обоснован-


 

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

Чаще всего необходимость пересборки ядра в системах, не связанных с раз- работкой новых ядер Linux, возникает вследствие следующих причин:

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

r необходимость обновления кода ядра, связанная с используемым ПО;

r отсутствие или несоответствие драйвера для какого-либо устройства;

r отсутствие кода в ядре или модулях ядра для поддержки какой-либо функции;

r необходимость расширения функциональности ядра;

r необходимость оптимизации работы ядра. Для пересборки ядра требуется:

r наличие компилятора, пригодного для пересборки ядра;

r наличие GNU-пакета make;

r наличие исходного кода ядра и, возможно, пакетов обновления (patches);

r при пересборке ядра из дистрибутива необходимо иметь пакеты с исход- ным кодом ядра и заголовочными файлами;

r порядка 2 Гбайт дискового пространства;

r достаточные вычислительные ресурсы;

r время на конфигурирование и сборку ядра.

До появления ядер 2.6 использовалась специальная система именования ядер, позволяющая отличить стабильные ядра от экспериментальных. У стабиль- ных ядер второе число в версии являлся четным числом, а у эксперименталь- ных ядер — нечетным. Например, ядро 2.4.22 из стабильной ветви, а 2.5.59 из экспериментальной.

Начиная с ядра 2.6.11, разработчики Linux перешли на новую систему нуме- рации ядер, составленную из четырех цифр. В ней последняя цифра меняется при незначительных изменениях кода в рамках основной версии ядра, имя которой составлено из трех цифр. Изменения четвертой цифры в номере от- ражают, чаще всего, стабилизирующие исправления в коде. Изменение третьей цифры в номере ядра отражает появление новых возможностей и драйверов в коде.

Получить архив с исходным кодом ядра можно с сайтов www.kernel.org, ftp.kernel.orgили с зеркал (пример 18.27).


 

Пример 19.27. Получение и распаковка архива

 

$ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.bz2

$ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-2.6.32.3.bz2

$ tar xjf linux-2.6.32.tar.bz2

 

После этого можно перейти к обновлению распакованного кода ядра с по- мощью полученного патча (пример 19.28).

 

Пример 19.28. Обновление ядра 2.6.32 до 2.6.32.3

 

$ cd linux-2.6.32

 

$ bzcat ../patch-2.6.32.3.bz2 | patch -p1 patching file ...

 

$ head -4 Makefile VERSION = 2

PATCHLEVEL = 6

SUBLEVEL = 32

EXTRAVERSION = .3

 

В примере на ядро 2.6.32 наложен патч 2.6.32.3, в результате чего версия яд- ра обновилась до 2.6.32.3, что видно в Makefile.

Важно соблюдать правила обновления кода ядра с помощью патчей:

r патчи, обновляющие ядро в четвертой цифре версии, накладываются на первую версию ядра этой ветки, т. е., например, патч 2.6.32.3 накладыва- ется на ядро 2.6.32, а не на 2.6.32.2;

r патчи, обновляющие ядро в третьей цифре ядра, обязательно накладывают- ся кумулятивно, т. е. 2.6.30 обновляется до 2.6.31 и лишь затем до 2.6.32.

Перед сборкой ядра настоятельно рекомендуется прочесть файл README.

Для сборки ядра 2.6 следует пройти следующие стадии.

r make mrproper — предварительная очистка и удаление ненужных файлов.








Дата добавления: 2015-06-12; просмотров: 725;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.