Собираем ядро 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

Эта инструкция составлена по кучи других и что я брал и где я уже не помню, т.к. пишу уже с собранного ядра по история из терминала. Удачной вам ядерной физики 🙂

Собираем ядро 2.6.34 с патчем bfs в Debian Squeeze: 1 комментарий

  1. антон

    спасибо за хорошую статью, у меня возниклапролема, не могу найти utsrelease.h ((( и вообще в папке incudes отсутствует папка generated…. из-за этго не могу завершить сборку

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *