apt-get install gcc libc6-dev kernel-package libncurses5-dev fakeroot build-essential

Далее, опять от рута, переходим в каталог /usr/src и начинаем собирать ядро из исходных кодов с сайта ядра Linux – http://kernel.org. Мы рассмотрим процесс сборки на последнем на момент написания статьи ядре – Linux 3.11.1.

cd /usr/src
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.11.1.tar.bz2
tar xjf linux-3.11.1.tar.bz2
if [ -d linux ]; then rm linux; fi; ln -s linux-3.11.1 linux
cd linux

На данный момент мы имеем распакованные исходники ядра 3.11.1 в папке linux-3.11.1, для простоты слинкованной с папкой linux. Теперь нам надо скопировать конфиг уже имеющегося ядра, если не хотите конфигурировать с нуля. А затем зайти в режим menuconfig или oldconfig для начала сборки ядра.

cp /boot/config-$( uname -r ) .config
make menuconfig

Теперь нам нужно выбрать необходимые модули или просто сохранить изменения, выйдя по кнопке ESC. Вместо make menuconfig можно использовать также и другие варианты настройки конфигурации :

  • make oldconfig – данная опция не трогает основных настроек из .config, но задает вопросы про новые функции, добавленные в ядро.
  • make xconfig – опция настройки ядра в графическом режиме. Для его работы нужны запущенные “иксы”.
  • make config – конфигурация в полном текстовом режиме.

А теперь самое главное – компиляция. Это может занять некоторое время от 15 минут до 10 часов. В зависимости от железа.

make-kpkg clean
fakeroot make-kpkg --initrd --revision=1.01 kernel_image kernel_headers kernel_manual kernel_doc kernel_source

Так, ядро собрано. Теперь приступим к установке.

cd /usr/src
dpkg -i ./linux*.deb
rm -rf ./linux*.deb
reboot

Вот оно и все. Новое ядро установлено, а старое можно удалить.

apt-get purge linux-<имя-стараго-ядра>