Отримання вихідного коду ядра

Якщо немає необхідності з тієї чи іншої причини працювати зі старими версіями ядра, то завжди потрібно використовувати саму останню версію. Архів 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.

Схожі статті