Недавно Вадик Пилипенко (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.
При конфигурировании ядра не забыть, и это обязательно, изменить следующие настройки:
После того как ядро собралось:
Собственно ядро установилось, initrd собрался.
Что-ж, пошёл на:
Собственно по-порядку. Патч к своему ядру я взял там-же где указано в вышеприведённой статье, на 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)
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Если возникнут проблемы - напишу отдельно ;)
Немає коментарів:
Дописати коментар