Долгосрочная цель проекта ядра RT состоит в том, чтобы в конечном итоге иметь все функции RT в стандартном ядре, и это хорошо продвигается . В прошлом в патче RT были нерегулярные выпуски, а взлом kernel.org в августе 2011 года сделал версию 3.0 недоступной в течение нескольких месяцев, но сейчас все выглядит хорошо: есть патч для 3.0, другой для 3.2 (совпадающий с ядром). версии в Ubuntu 11.10 и 12.04), а другую для 3.4 смотрите здесь .
Если вы используете Precise, вы можете использовать Realtime PPA Алессио Богани (Alessio Bogani) , который любезно упаковал ванильное ядро с примененным исправлением RT и поддерживает его синхронизацию с номерами версий в Precise.
Если вы предпочитаете собирать ядро RT вручную, сначала установите необходимые программные пакеты:
sudo apt-get install kernel-package fakeroot build-essential libncurses5-dev
Затем загрузите ванильное ядро и исправление RT (номера версий несколько старые, при необходимости измените):
mkdir -p ~/tmp/linux-rt
cd ~/tmp/linux-rt
wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.tar.bz2
# Alternatively, try http://mirror.be.gbxs.net/pub/linux/kernel/projects/rt/3.4/patch-3.4-rt7.patch.bz2
# if the following is not available:
wget http://www.kernel.org/pub/linux/kernel/projects/rt/3.4/patch-3.4-rt7.patch.bz2
tar xjvf linux-3.4.tar.bz2
cd linux-3.4
patch -p1 < <(bunzip2 -c ../patch-3.4-rt7.patch.bz2)
Затем настройте ядро, используя:
cp /boot/config-$(uname -r) .config && make oldconfig
где вы должны выбрать «полное вытеснение» (опция 5) при появлении запроса и оставить все остальное в его значении по умолчанию, нажимая клавишу ввода при каждом запросе. Конфигурация из ядра -lowlatency может быть лучшей отправной точкой, чем конфигурация ядра -generic.
Затем соберите ядро с помощью:
sed -rie 's/echo "\+"/#echo "\+"/' scripts/setlocalversion
make-kpkg clean
CONCURRENCY_LEVEL=$(getconf _NPROCESSORS_ONLN) fakeroot make-kpkg --initrd --revision=0 kernel_image kernel_headers
И, наконец, установите новое ядро с помощью:
sudo dpkg -i ../linux-{headers,image}-3.4.0-rt7_0_*.deb
На этом этапе вы сможете перезагрузиться в ядро RT. Если ваше ядро не загружается, убедитесь, что вы дважды проверили параметры загрузки и изменили их соответствующим образом в загрузчике. Например, функции ACPI могут влиять на вашу систему реального времени (как указано на rt.wiki.kernel.org). Добавление acpi = off может быть решением в таком случае.
Однако обратите внимание, что исправление RT несовместимо с двоичным драйвером Nvidia (но см. Пост пользователя «rt-kernel» ниже и этот вопрос для обходного пути), и что исправления ядра Ubuntu не будут присутствовать, так что вы можете иметь аппаратные проблемы, которых у вас не было раньше. Это верно как для пакетов PPA, так и для скомпилированного ядра. Вы всегда можете загрузиться в ваше -generic ядро и удалить пакеты ядра реального времени, если они, конечно, доставят вам неприятности.