русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-09; просмотров: 636; Нарушение авторских прав


Самостоятельная сборка действительно рабочего ядра 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 — предварительная очистка и удаление ненужных файлов.



<== предыдущая лекция | следующая лекция ==>
Устройства PCMCIA | ПРЕДУПРЕЖДЕНИЕ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.66 сек.