Задача: обновить существующее ядро Linux (для примера будем брать Ubuntu) до самой последней или до нужной.
Решение:
uname -r
— показывает текущую версию ядра в системе
sudo add-apt-repository ppa:kernel-ppa/ppa
— добавление PPA для ядра
sudo apt-get update
— обновляем списки репозиториев
apt-cache showpkg linux-headers
— показывает список доступных ядер
Пример отображения:
Package: linux-headers
Versions:
Reverse Depends:
lirc-modules-source,linux-headers
sl-modem-source,linux-headers
xtables-addons-dkms,linux-headers
oss4-dkms,linux-headers
openswan-modules-source,linux-headers
lirc-modules-source,linux-headers
blcr-dkms,linux-headers
alsa-source,linux-headers
nvidia-current,linux-headers
nvidia-96,linux-headers
nvidia-173,linux-headers
fglrx,linux-headers
bcmwl-kernel-source,linux-headers
dkms,linux-headers
Dependencies:
Provides:
Reverse Provides:
linux-headers-2.6.39-0 2.6.39-0.5~20110427
linux-headers-2.6.39-0-generic 2.6.39-0.5~20110427
linux-headers-2.6.39-0-generic-pae 2.6.39-0.5~20110427
linux-headers-2.6.39-0-virtual 2.6.39-0.5~20110427
linux-headers-2.6.38-8-virtual 2.6.38-8.42
linux-headers-2.6.38-8-generic-pae 2.6.38-8.42
linux-headers-2.6.38-8-generic 2.6.38-8.42
linux-headers-2.6.38-8 2.6.38-8.42
Устанавливаем нужное ядро:
sudo apt-get install linux-headers-2.6.39-0 linux-headers-2.6.39-0-generic linux-image-2.6.39-0-generic --fix-missing
Если необходимо установить какое-то конкретное ядро, а не самое последнее, то заходим сюда (http://kernel.ubuntu.com/~kernel-ppa/mainline/), скачиваем файлы (linux-headers и linux-image) для вашей архитектуры процессора (i386 или amd64) в какую-нибудь папку (к примеру, /home/user/kernerl), и затем выполняем команду:
sudo dpkg -i *
Стоит отметить, что после обновления ядра проприетарные драйверы, скорее всего, работать не будут, их необходимо будет занова установить/пересобрать. Лично у меня графические проприетарные драйвера обновились автоматически:
run-parts: executing /etc/kernel/header_postinst.d/dkms 2.6.39-0-generic /boot/vmlinuz-2.6.39-0-generic
* dkms: running auto installation service for kernel 2.6.39-0-generic
* nvidia-current (270.41.06)... [ OK ]
run-parts: executing /etc/kernel/header_postinst.d/nvidia-common 2.6.39-0-generic /boot/vmlinuz-2.6.39-0-generic
Если необходимо удалить неиспользуемое ядро, то:
dpkg -l | grep linux-image
— отображает список установленных в системе ядер
Пример вывода:
ii linux-image-2.6.38-8-generic 2.6.38-8.42 Linux kernel image for version 2.6.38 on x86/x86_64
ii linux-image-2.6.39-0-generic 2.6.39-0.5~20110427 Linux kernel image for version 2.6.39 on x86/x86_64
ii linux-image-generic 2.6.38.8.22 Generic Linux kernel image
sudo apt-get remove -f linux-image-2.6.38-8.42
— удаление выбранного ядра
dpkg -l | grep linux-headers
— отображает список установленных заголовков ядра
Пример вывода:
ii linux-image-2.6.38-8-generic 2.6.38-8.42 Linux kernel image for version 2.6.38 on x86/x86_64
ii linux-image-2.6.39-0-generic 2.6.39-0.5~20110427 Linux kernel image for version 2.6.39 on x86/x86_64
ii linux-image-generic 2.6.38.8.22 Generic Linux kernel image
user@LaptopUbuntu:~$ dpkg -l | grep linux-headers
ii linux-headers-2.6.38-8 2.6.38-8.42 Header files related to Linux kernel version 2.6.38
ii linux-headers-2.6.38-8-generic 2.6.38-8.42 Linux kernel headers for version 2.6.38 on x86/x86_64
ii linux-headers-2.6.39-0 2.6.39-0.5~20110427 Header files related to Linux kernel version 2.6.39
ii linux-headers-2.6.39-0-generic 2.6.39-0.5~20110427 Linux kernel headers for version 2.6.39 on x86/x86_64
ii linux-headers-generic 2.6.38.8.22 Generic Linux kernel headers
sudo apt-get remove -f linux-headers-2.6.38-8.42 linux-headers-2.6.38-8.42-generic
— удаление выбранных заголовков ядра
sudo update-grub
— удаление записей установленных ядер в загрузчике GRUP