Як оновити ядро Linux

Задача
За звичай в дистрибутивних пакетах Linux знаходиться ядро версії суттєво старішої ніж остання, розроблена. Крім того, інколи виникає потреба мати ядро, зкомпільоване з опціями відмінними від стандартних, прийнятих у данному дистрибутиві. Типовим прикладом є створення серверу для віртуальних систем з використанням технологій Xen або KVM. Також інколи виникає потреба забезпечити підтримку певних пристроїв, які не підтримуються ядром системи в стандартній конфігурації.

Де взяти
Зкачайте ісходний код з сайту http://www.kernel.org та разархівувати його в каталозі /usr/src. Наприклад:
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.2.tar.bz2
tar -xjvf linux-2.6.33.2.tar.bz2

Доцільно перейменувати строрений каталог, аби його нове ім'я краще відображало особливості ядра, яке ви будуєте (до речі, можливо, в вас буде декілька збірок, базованих на одній й тій самій версії ядра):
mv linux-2.6.33.2 linux-2.6.33.2-chd-kvm

Створіть посилання на новий каталог та перейдіть до нього:
ln -s linux-2.6.33.2-chd-kvm linux
cd linux

Конфігурування
Для конфігурування гового ядра виконайте команду:
make menuconfig

В системі конфігураційного меню, що відобразиться, встановіть потрібні вам опції. Перед виходом з системи конфігураційного меню збережіть конфінураціонний файл ядра. Ви знайдете його в поточному каталозі під ім'ям .config. До речі, до початку роботи з конфігураційним меню можете покласти в каталог файл .config з конфігурацією ядра якої-небудь попередньої збірки. Це зекономить час на встановлення опцій аналогічних використаним в цьому ядрі. Конфігурацію ядра, яке є активним, можна знайти, наприклад, в каталозі /boot.

Збірка та встановлення
Компіляція та встановлення ядра:
make all
make modules
make firmware
sudo make modules_install
sudo make firmware_install
sudo make headers_install
sudo make install

Вкажіть нове ядро як таке, що використовується за замовченням під час завантаження системи -- відредагуйте файл /boot/grub/grub.conf. Встановіть значення параметру default таким, що дорівнює порядковому номеру нового ядра в переліку, що міститься в цьому файлі.

Забезпечте завантаження під час старту системи необхідних модулів ядра. Створіть виконувані файли в каталозі /etc/sysconfig/modules, які містять команди завантаження відровідних модулів. Приклад -- файл /etc/sysconfig/modules/kvm.modules:
/sbin/modprobe kvm
/sbin/modprobe kvm_intel

Перезавантаження системи
Перезавантажте систему, наприклад, командою reboot. Слідкуйте за завантаженням системи. Після завантаження перевірте, що було завантажене саме нове ядро:
uname -a