Главная » Ядро Linux » Получение исходного кода ядра

0

Исходный программный код последней версии  ядра  всегда доступен  как  в виде полного архива  в формате tar (tarball), так и виде  инкрементной заплаты  по адресу http://www.kernel.org.

Если  нет  необходимости по  той  или  другой  причине работать  со  старыми версиями ядра, то  всегда  нужно  использовать самую  последнюю версию.  Архив kernel.or g — это то место, где можно  найти  как само ядро, так и заплаты  к нему от ведущих  разработчиков.

Инсталляция исходного кода ядра

Архив исходного кода  ядра  в формате tar распространяется в сжатых  форматах GNU zip (gzip)  и bzip2.  Формат bzip2 наиболее предпочтителен, так как  обеспечивает больший коэффициент сжатия  по сравнению с форматом gzip. Архив ядра  в формате bzip2 имеет  имя   linux-x.у.z.tar.bz2 ,  где х, у, z — это номер  соответствующей  версии  исходного кода  ядра.  После  загрузки  исходного кода  его можно декомпрессировать очень  просто.  Если  tar-архив сжат с помощью GNU zip, то необходимо  выполнить следующую  команду.

$ tar xvzf linux-x.у.z.tar.gz

Если  сжатие  выполнено с помощью bzip2, то команда должна  иметь  следующий вид.

$ tar xvjf linux-x.у.z.tar.bz2

Обе  эти  команды  позволяют декомпрессировать  и  развернуть дерево  исходных кодов  ядра  в  каталог  с  именем  linux-x.y.z .

Где лучше инсталлировать и изменять исходный код

Исходный код ядра обычно инсталлируется в каталог /usr/src/linux . Заметим, что это дерево исходного кода нельзя использовать для разработок. Версия ядра, с которой была скомпилирована ваша библиотека С, часто связывается с этим деревом каталогов. Кроме того, чтобы вносить изменения в ядро, не обязательно иметь права пользователя root, вместо этого лучше работать в вашем домашнем каталоге и использовать права пользователя root только для инсталляции ядра. Даже при инсталляции нового ядра каталог /usr/src/linu x лучше оставлять без изменений.

Использование заплат

В сообществе разработчиков ядра  Linux  заплаты (patch) — это основной язык  общения.  Вы  будете распространять ваши  изменения  исходного кода  ядра  в виде  заплат и  получать изменения  кода  от  других  разработчиков тоже  в  виде  заплат. При  данном  рассмотрении наиболее важными являются  инкрементные   заплаты   (incremental patch),  которые позволяют перейти от одной  версии ядра  к другой.  Вместо  того  чтобы  загружать большой архив  ядра, можно просто   применить инкрементную заплату и  перейти от  имеющейся версии к  следующей. Это  позволяет сэкономить время  и пропускную способность каналов связи. Для  того  чтобы  применить инкрементную заплату,  находясь в  каталоге дерева  исходных кодов  ядра, нужно  просто   выполнить следующую  команду.

$ patch -p1 < ../patch-х.у.z

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

В следующих главах  использование заплат  рассматривается более  подробно.

Дерево  исходных кодов ядра

Дерево   исходных кодов  ядра  содержит ряд  каталогов,  большинство  из  которых также  содержит подкаталоги.  Каталоги, которые находятся в корне  дерева  исходных кодов, и их описание приведены в табл.  2.1.

Некоторые файлы,  которые находятся в  корне  дерева  исходных кодов,  также заслуживают внимания.  Файл  COPYING — это  лицензия ядра  (GNU GPL  v2).  Файл CREDITS — это  список разработчиков, которые внесли большой вклад  в разработку ядра.  Файл  MAINTAINERS — список людей, которые занимаются поддержкой подсистем  и драйверов ядра.  И наконец, Makefil e — это основной сборочный файл  ядра.

Источник: Лав,  Роберт. Разработка ядра  Linux, 2-е  издание. : Пер.  с англ.  — М.  : ООО  «И.Д.  Вильяме» 2006. — 448 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии