Raspberry Pi:Основы Linux/Ядро/Установка патчей на ядро

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Установка патчей на ядро[1]

Собирая ядро, вы можете захотеть установить на него несколько патчей или даже целый набор патчей (так называемый «патч-сет»).

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

Определение версии

Перед загрузкой и установкой патча важно знать, какой версии ваше ядро. Для этого зайдите в директорию с исходником ядра и введите следующую команду:

$ head Makefile -n 3
VERSION = 3
PATCHLEVEL = 10
SUBLEVEL = 25

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

uname -r

Установка патча

Способ установки патча зависит от его формата. Большинство патчей состоят из одного файла и устанавливаются при помощи патч-утилит. К примеру, давайте загрузим и пропатчим наше ядро при помощи патча, добавляющего функцию реального времени:

$ wget https://www.kernel.org/pub/linux/kernel/projects/rt/3.10/older/patch-3.10.25-rt23.patch.gz
$ gunzip patch-3.10.25-rt23.patch.gz
$ cat patch-3.10.25-rt23.patch | patch -p1

В этом примере мы просто загружаем файл, распаковываем его, а затем при помощи утилиты cat и Unix-канала помещаем его в патч.

Некоторые патч-сеты представлены в виде mailbox-формата, то есть представляют собой папку с файлами патча. Для того, чтобы установить на ядро такой патч, нам понадобится команда git, но для начала ее нужно настроить таким образом, чтобы она знала, кто мы и когда сделаны эти изменения.

$ git config --global user.name "ваше_имя"
$ git config --global user.email "ваш_email"

После этого можно приступить cобственно, к установке патча:

git am -3 /path/to/patches/*

Если сомневаетесь, то лучше обратитесь туда, откуда вы взяли этот патч — там вам должны объяснить, как его устанавливать. Некоторым патчам требуется специальный коммит (более подробно спрашивайте у распространителя патча).

См.также

Внешние ссылки