Собираем ядро 2.6.34 с патчем bfs в Debian Squeeze
Недавно спалил материнскую плату и процессор (да же не знаю дело в моих руках или оно само). Купил новые материнскую плату процессор, и как водится, с моим старым за оптимизированным ядром многое не работало. Скачал ядро 2.6.34, но по инструкциям оно просто не собиралось — выскакивало куча ошибок, вооружившись google я начал искать по иностранным форумам, ну и нашел (собирать лучше из-под официального универсального ядра из репазитария)
- Переходим в нужную директорию
cd /usr/src/ - Качаем исходники
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2 - Распаковываем их
tar xvjf linux-2.6.34.tar.bz2 - Переходим в папку с исходниками
cd linux-2.6.34 - Качаем патч bfs к ядру с сайта разработчика
wget http://ck.kolivas.org/patches/bfs/2.6.34-sched-bfs-318.patch - Патчим ядро
patch -p1 < 2.6.34-sched-bfs-318.patch - Устанавливаем нужные пакеты для сборки ядра
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential - Теперь генерируем новую конфигурацию ядра на основе существующей
cp /boot/config-uname -r./.config - Конфигурируем ядро
make menuconfig - Обязательно изменяем настройки (остальное по вкусу)
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) - Затем
make-kpkg cleanИ тут маленький изворот отличающий от других инструкций gedit ./Documentation/lguest/Makefile и приводим к виду:# This creates the demonstration utility «lguest» which runs a Linux guest. CFLAGS:=-m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE all: clean: rm -f lguest - Ну и собираем ядро и заголовочные файлы
fakeroot make-kpkg —initrd —append-to-version=-bfs_my kernel_image kernel_headers - На этапе формирования пакетов оно ругнется и вывалится с ошибкой на имя сборки, тогда делаем:
cp include/generated/utsrelease.h include/linux/и заново запускаемfakeroot make-kpkg —initrd —append-to-version=-bfs_my kernel_image kernel_headers - Если все прошло успешно, то в
/usr/src/появится 2 новых пакета — установите ихdpkg -i linux-*.deb
Эта инструкция составлена по кучи других и что я брал и где я уже не помню, т.к. пишу уже с собранного ядра по истории из терминала. Удачной вам ядерной физики 🙂
Written on June 29, 2010