Шукати в цьому блозі

вівторок, 20 жовтня 2009 р.

Установка BFS (Brain Fuck Scheduler) в ядро Linux.

Недавно Вадик Пилипенко (Pilson) поделился ссылкой на статью "Установка BFS (Brain Fuck Scheduler) на примере Ubuntu Linux 9.04". Но так как у меня не Ubuntu, а Debian то возникли некоторые нюансы при компиляции и установке...
Собственно по-порядку. Патч к своему ядру я взял там-же где указано в вышеприведённой статье, на http://ck.kolivas.org/patches/bfs/. На мои исходники к ядру 2.6.30.4 патч лёг в общем-то без проблем, за исключением того, что не пропатчился Makefile, но выяснилось, что как-раз его-то можно было и не патчить, так как единственное, что менялось, так это EXTRAVERSION. Поэтому было решено оставить его as is, но поменял NAME на BFS Powered.
При конфигурировании ядра не забыть, и это обязательно, изменить следующие настройки:
  • Processor type and features -> Timer frequency устанавливаем в 1000Hz
  • Processor type and features -> Tickless System (Dynamic Ticks) отключаем
  • Processor type and features -> Preemption Model -> Preemptible kernel (Low latency desktop)
Дальше как по инструкции "Сборка и установка ядра под Debian":
fakeroot make-kpkg \
--revision=og.$( date +%Y%m%d.%H%M%S ) \
--initrd \
--append-to-version=-bfs304 \
kernel_image \
kernel_headers \
kernel_manual \
kernel_doc \
kernel_source
Сразу-же замечу, что мне лениво заморачиваться с порядковыми номерами ревизий, а оттого использовал подстановку текущей даты и времени, а так-же, в отличии от инструкции по сборке ядра, "искуственно" добавлена версия, которая затем добавиться в имя deb-пакетов. Ну и порядок инструкция для make-kpkg задан сразу пачкой, а не по отдельности.
После того как ядро собралось:
# dpkg -i linux-image-2.6.31.4-bfs304_og.20091020.102119_i386.deb
Выбор ранее не выбранного пакета linux-image-2.6.31.4-bfs304.
(Чтение базы данных ... на данный момент установлено 282999 файлов и каталогов.)
Распаковывается пакет linux-image-2.6.31.4-bfs304 (из файла linux-image-2.6.31.4-bfs304_og.20091020.102119_i386.deb)...
Done.
Настраивается пакет linux-image-2.6.31.4-bfs304 (og.20091020.102119) ...
Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.31.4-bfs304 /boot/vmlinuz-2.6.31.4-bfs304
Тут ждала первая неожиданность - не собрался /boot/initrd.img-2.6.31.4-bfs304. Поэтому его сборку, по подсказке Pilson'а, выполнил отдельно:
# mkinitramfs -o /boot/initrd.img-2.6.31.4-bfs304 2.6.31.4-bfs304
параметрами переданы имя собираемого initrd-файла и версия ядра.
Собственно ядро установилось, initrd собрался.
Что-ж, пошёл на:
# reboot
Если возникнут проблемы - напишу отдельно ;)

Немає коментарів: