Патч PREEMPT_RT для ядра Linux 5.15.163 (5.15.0-1063-raspi) на Ubuntu 22

Вопрос или проблема

Я использую сервер Ubuntu 22.04 на своем CM4 и вижу, что ядро Linux, которое он использует, — 5.15.163. Репозиторий rasberrypi/linux, кажется, содержит гораздо более старое ядро. Я пытаюсь применить патч PREEMPT_RT, но поскольку ядро в репозитории и ядро, которое я использую в настоящее время, не совпадают, патч не удается применить. Есть ли способ получить исходный код поддерживаемого Raspberry Pi ядра Linux версии 5.15.163? Если нет, какие у меня есть варианты для применения патча PREEMPT_RT? Я хочу избежать обновления до Ubuntu 24 или понижения версии ядра до версии из репозитория.

Ответ или решение

Чтобы применить патч PREEMPT_RT к ядру Linux версии 5.15.163, запущенному на вашем Raspberry Pi CM4 с Ubuntu 22.04, у вас есть несколько вариантов. Давайте рассмотрим шаги, которые вы можете предпринять для решения вашей проблемы.

1. Получение исходного кода ядра 5.15.163

Поскольку вы хотите использовать установленное ядро 5.15.163, вам нужно получить его исходный код. Обычно Ubuntu поставляет ядра с бинарными модификациями, поэтому вам может потребоваться загрузить соответствующие исходники.

Попробуйте выполнить следующие команды:

sudo apt update
sudo apt install linux-source

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

2. Загрузка исходного кода из репозитория

Если вы не можете найти нужный источник исходного кода в пакетах Ubuntu, вы можете попробовать загружать его из официального репозитория Raspberry Pi или с сайта kernel.org. Вы можете использовать следующий путь:

git clone --depth 1 --branch rpi-5.15.y https://github.com/raspberrypi/linux.git
cd linux

Здесь rpi-5.15.y — это ветка с неподдерживаемыми изменениями. Убедитесь, что это действительно соответствует вашей версии 5.15.163.

3. Применение патча PREEMPT_RT

После того как вы получили исходный код, вам нужно загрузить патч PREEMPT_RT. Это можно сделать следующим образом:

git clone https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt.git
cd linux-rt

Затем вы можете применить патч к исходному коду вашего ядра:

cd /путь/к/вашему/linux-ядру
patch -p1 < /путь/к/linux-rt/patches/xxx.patch

При этом замените xxx.patch на нужное имя патча.

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

После успешного применения патча вам необходимо будет собрать и установить ядро. Выполните следующие команды:

make menuconfig
make -j$(nproc)
sudo make modules_install
sudo make install

Убедитесь, что в вашем конфигурационном меню (menuconfig) вы включили RT параметры.

5. Обновление загрузчика

Не забудьте обновить загрузчик, чтобы использовать новое ядро:

sudo update-initramfs -u
sudo update-grub

6. Перезагрузка

После всех изменений перезагрузите систему:

sudo reboot

Убедитесь, что система загружается с новым ядром, проверив версию ядра командой:

uname -r

Заключение

Вышеизложенные шаги помогут вам получить исходный код для вашей текущей версии ядра и применить патч PREEMPT_RT. Если у вас возникнут сложности с применением патча или сборкой, не стесняйтесь обратиться к соответствующим документациям или сообществам Raspberry Pi и Ubuntu за дополнительной помощью.

Оцените материал
Добавить комментарий

Капча загружается...