Устанавливаем необходимые пакеты:
apt-get install make gcc libncurses5-dev libc6-dev kernel-package fakeroot build-essential
Скачиваем с
http://www.kernel.org и копируем исходники ядра (linux-<версия ядра>.tar.bz2) в папку /usr/src. Распаковываем его, либо из под "mc", либо командой
tar -xjf linux-<версия ядра>.tar.bz2.
Получится каталог linux-<версия ядра>.
Нужно перейти внутрь каталога, где лежит "make" и запустить команду
make mrproper.
Эта команда нужна для удаления временных файлов, созданных при предыдущей сборке. Она удаляет также все настройки, которые Вы сделали во время прошлой сборки. (Настройки лежат в файле .config. Если есть желание сохранить выбор модулей, перенесите куда-нибудь этот файл, выполните чистку, а потом верните обратно).
Вызываем меню конфигурации ядра:
make menuconfig.
Запускаем процесс компиляции:
make bzImage modules.
Устанавливаем ядро:
make modules_install install.
Когда ядро будет собрано и установлено, должны появиться следующие файлы:
/boot/vmlinuz-<версия ядра>,
/boot/System.map-<версия ядра>,
и каталог модулей:
/lib/modules/<версия ядра>.
По моему наблюдению, в директории "/lib/modules/<версия ядра>", папки "~build" и "~source" могут быть удалены.
Теперь, если создавалось модульное ядро, нужно создать "initrd". Для этого, находясь в папке с "make" нужно ввести команду:
mkinitramfs -o initrd.img-<версия ядра> <версия ядра>.
В некоторых случаях, если она не сработала, ввести:
mkinitrd -o /boot/initrd-<версия ядра>.img.
В результате, в папке с "make" появится файл "initrd.img-<версия ядра>". Этот файл нужно скопировать в директорию "/boot".
Теперь нужно настроить "grub". Его настройки лежат в файле "/boot/grub/menu.lst" или "/boot/grub/grub.cfg".
Осталось перезагрузится и выбрать нужное ядро.