Сборка ядра *Ubuntu, Debian

Хак для различных убунт — /bin/sh должна быть символической ссылкой на bash:

# rm -f /bin/sh
# ln -s /bin/bash /bin/sh

Обновляем базу пакетов и устанавливаем необходимые:

# apt-get update
# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2

Переходим в директорию для исходников и скачиваем нужное ядро:

# cd /usr/src
# wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.X.X.tar.bz2

Распаковываем ядро, делаем символическую ссылку linux и переходим в директорию исходников ядра:

# tar xjf linux-2.6.20.4.tar.bz2
# ln -s linux-2.6.20.4 linux
# cd /usr/src/linux

Применяем необходимые патчи:

# bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
# bzip2 -dc /usr/src/patch.bz2 | patch -p1

Копируем конфиг от используемого ядра в текущую директорию и на основе его создаём конфиг для сборки нового ядра:

# cp /boot/config-`uname -r` ./.config
# make menuconfig

Сборка ядра, CustomText - собственный текст, добавляемый к версии ядра, далее в качестве него используется строка ac97-hacks (в строке не должно быть пробелов):

# make-kpkg clean
# fakeroot make-kpkg --initrd --append-to-version -CustomText kernel_image kernel_headers

Устанавливаем собранное ядро:

# cd /usr/src
# dpkg -i linux-image-2.6.20.4-ac97hacks_2.6.X.X-ubuntu-ac97-hacks-10.00
# dpkg -i linux-headers-2.6.20.4-ac97hacks_2.6.X.X-ubuntu-ac97-hacks-10.00.Custom_i386.deb

Перегружаемся ;)

# shutdown -r now