Решение: Воспользоваться пакетом kernel-package из стандартной поставки debian.
Подготовка к сборке
Для начала устанавливаем все необходимое:
$ sudo apt-get install libncurses5-dev fakeroot kernel-package initramfs-toolsТеперь нам осталось только скачать и сконфигурировать ядро (для примера, пускай это будет ядро 2.6.26):
$ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.gzПосле конфигурации переходим к следующему шагу.
$ tar xzf linux-2.6.26.tar.gz $ cd linux-2.6.26/ $ make menuconfig
Debian way: kernel-package
С помощью этого пакета, на выходе, мы получим deb-пакет, который, в дальнейшем, можно установить с помощью штатных утилит. Преимущество этого способа в том, что установкой и удалением ядра, будет заниматься менеджер пакетов дэбиана, который гарантирует, что все установленное из пакета, будет корректно удалено.
Для начала выполним очистку дерева исходных кодов, на случай, если там остались следы предыдущих экспериментов:
$ make-kpkg cleanи наконец
$ CONCURRENCY_LEVEL="2" make-kpkg --rootcmd fakeroot --arch_in_name --append_to_version -vanilla --revision 0.1 --initrd kernel_image`Теперь Вы можете откинуться на спинку вашего кресла' :), пойти попить чай, или заняться другими делами. Сборка ядра -- долгое и утомительное действо.
Тем кто остался, расскажу немного о тех опциях, что мы использовали. Назначение большинства из них интуитивно понятно, так что остановлюсь на `непонятных':
--rootcmd fakeroot запускает make-kpkg в имитируемом root-окружении, при помощи команды fakeroot.Теперь обратим пристальное внимание на переменную окружения CONCURRENCY_LEVEL. Из документации следует, что она задает количество параллельно выполняемых команд (аналогично использованию make с опцией --jobs) или, по простому, количество процессоров/ядер задействованных в компиляции. Объявление
--initrd служит для создания initial ram drive, образа, необходимого для начальной загрузки ядра. Подробнее прочесть можно здесь.
CONCURRENCY_LEVEL позволило сократить время сборки ядра (с моей конфигурацией) вдвое (с ~13 до ~7 минут).
Установка
Вскоре ядро скомпилируется и будет аккуратно помещено в deb-пакет вида linux-image-2.6.26-vanilla_0.1_i386.deb. Остается установить его:
$ cd ..Перезагружаемся в новое ядро. Вот и все! Удачи в дебрях menuconfig ;)!
$ sudo dpkg -i linux-image-2.6.26-vanilla_0.1_i386.deb