Dpkg install linux image

How to install the latest/stable version of Linux kernel on Ubuntu Linux using apt-get

Method #1: Search and install the latest stable version

I tested this method on the following version of Ubuntu:

To find out your current version of Linux kernel, run:
$ uname -mrs
Linux 4.4.0-83-generic x86_64
To find out the latest version of Linux kernel type:
$ apt-cache search linux-generic
Sample outputs:

The highest possible version is 4.10.0-27. To install it just type the following apt-get command/apt command:
$ sudo apt install linux-image-4.10.0-27-generic
OR
$ sudo apt-get install linux-image-4.10.0-27-generic
Sample outputs:

You must reboot the Linux server, run:
$ rm *.deb
$ sudo reboot
Verify new version:
$ uname -mrs
Linux 4.10.0-27-generic x86_64

Method #2: Install mainline kernel version v4.12.3

First, if one is using select proprietary or out-of-tree modules (ex. vitualbox, nvidia, fglrx, bcmwl, etc.) unless there is an extra package available for the version you are testing, you will need to uninstall the module first, in order to test the mainline kernel. If you do not uninstall these modules first, then the upstream kernel more than likely will not boot.

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

First visit kernel.org and note down the latest kernel version:

Fig.01: Note down kernel version

Fig.02: Downloading the latest build of mainline kernel

kernel-ppa/mainline/v4.12.3/linux-headers-4.12.3-041203-generic_4.12.3-041203.201707210343_amd64.deb
$ wget http://kernel.ubuntu.com/

kernel-ppa/mainline/v4.12.3/linux-image-4.12.3-041203-generic_4.12.3-041203.201707210343_amd64.deb
To verify the mainline build binaries, run:
$ wget http://kernel.ubuntu.com/

kernel-ppa/mainline/v4.12.3/CHECKSUMS
$ sha256sum —ignore-missing -c CHECKSUMS
Sample outputs:

You must see OK for all downloaded .deb files. Next, you need to install .deb files using dpkg command:
$ sudo dpkg -i *.deb
You must reboot the Linux server, run:
$ sudo reboot
Verify new version:
$ uname -mrs
Linux 4.12.3 -041203-generic x86_64

A note about updating mainline kernel

You must visit and download the latest version from the following url:
http://kernel.ubuntu.com/

kernel-ppa/mainline/
For example, download v4.13-rc1 as follows:
$ rm *.deb
$ wget http://kernel.ubuntu.com/

kernel-ppa/mainline/v4.13-rc1/linux-headers-4.13.0-041300rc1-generic_4.13.0-041300rc1.201707151931_amd64.deb
$ wget http://kernel.ubuntu.com/

kernel-ppa/mainline/v4.13-rc1/linux-image-4.13.0-041300rc1-generic_4.13.0-041300rc1.201707151931_amd64.deb
$ wget http://kernel.ubuntu.com/

kernel-ppa/mainline/v4.12.3/CHECKSUMS
$ sha256sum —ignore-missing -c CHECKSUMS
$ sudo dpkg -i *.deb
$ sudo reboot
$ uname -mrs

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Category List of Unix and Linux commands
Documentation help • mandb • man • pinfo
Disk space analyzers df • duf • ncdu • pydf
File Management cat • cp • less • mkdir • more • tree
Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Linux Desktop Apps Skype • Spotify • VLC 3
Modern utilities bat • exa
Network Utilities NetHogs • dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Package Manager apk • apt
Processes Management bg • chroot • cron • disown • fg • glances • gtop • jobs • killall • kill • pidof • pstree • pwdx • time • vtop
Searching ag • grep • whereis • which
Shell builtins compgen • echo • printf
Text processing cut • rev
User Information groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w
WireGuard VPN Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

Comments on this entry are closed.

You don’t have Docker support with this kernel version (v4.12.3).

If you install version 4.10.0-27, Docker will work well.

Hi,
About the method #1…
According to [1] and [2], in order to get a kernel as newer as possible in a most convenient way, you should install “linux-signed-generic-lts-XXX” (e.g., “linux-signed-generic-lts-xenial”) or unsigned version “linux-generic-lts-XXX” (e.g., “linux-generic-lts-xenial”) for Ubuntu before LTS 16.04, even prefer to install the newer “linux-signed-generic-hwe-16.04” or even more bleeding edge “linux-signed-generic-hwe-16.04-edge” for Ubuntu LTS 16.04 and newer; instead of specifying a version of linux kernel image package which won’t be automatically updated via “apt update/upgrade”. In this way, it will keep your kernel up to date as possible.

Some example commands to find out the proper kernel package name in Ubuntu:

$ apt-cache search linux-signed-generic-lts
linux-signed-generic-lts-utopic — Complete Signed Generic Linux kernel and headers (dummy transitional package)
linux-signed-generic-lts-vivid — Complete Signed Generic Linux kernel and headers (dummy transitional package)
linux-signed-generic-lts-wily — Complete Signed Generic Linux kernel and headers (dummy transitional package)
linux-signed-generic-lts-xenial — Complete Signed Generic Linux kernel and headers (dummy transitional package)
AND
$ apt-cache search linux-generic-lts
linux-generic-lts-utopic — Complete Generic Linux kernel and headers (dummy transitional package)
linux-generic-lts-vivid — Complete Generic Linux kernel and headers (dummy transitional package)
linux-generic-lts-wily — Complete Generic Linux kernel and headers (dummy transitional package)
linux-generic-lts-xenial — Complete Generic Linux kernel and headers (dummy transitional package)
AND
$ apt-cache search linux-signed-generic-hwe
linux-signed-generic-hwe-16.04 — Complete Signed Generic Linux kernel and headers
linux-signed-generic-hwe-16.04-edge — Complete Signed Generic Linux kernel and headers
$ apt-cache search linux-generic-hwe
linux-generic-hwe-16.04 — Complete Generic Linux kernel and headers
linux-generic-hwe-16.04-edge — Complete Generic Linux kernel and headers

Thanks for the article! I never leave comments but this was useful

Источник

[debian] Установка определённого ядра.

Hello, скачал дебиан 6.0.2 , установил
Linux debian 2.6.32-5-amd64 #1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64 GNU/Linux
Мне требуется установить ядро 2.6.39-bpo.2-amd64. Как это сделать?? Никак не могу найти в сети image с данным ядром.

Очень сильно боюсь показаться глупым. Но спрошу. Я скачал оттуда linux-image-2.6.39-bpo.2-amd64_2.6.39-3

bpo60+1_amd64.deb И что дальше с ним делать? пробую установить через Gdebi Package installer . И мне выдаёт эту ошибку Error: Dependency is not satisfiable: linux-base (>= 3

apt-get -f install
dpkg -i linux-image-2.6.39-bpo.2-amd64_2.6.39-3

Ну и предварительно подключить backports, т.к. linux-base нужной версии только там.

В /etc/apt/sources.list добавил запись deb http://www.backports.org/debian lenny-backports main contrib non-free
далее

apt-get -f install ./linux-image-2.6.39-bpo.2-amd64_2.6.39-3

bpo60+1_amd64.deb
Выведено оочень много строк. Примерно такого вида.

Далее всё заканчивается примерно этим.

apt-get -f install ./linux-image-2.6.39-bpo.2-amd64_2.6.39-3

apt-get -f install

Т.е. без всяких других параметров.

Записал новый адрес в /etc/apt/sources.list но всё никак (

Это надо делать после dpkg -i. Пакет ставить так:

Кстати, обязательно именно 39-е? Сейчас в бэкпортах есть поддерживаемое 3.2.

Да, к сожалению нужно именно это ядро (((
Сейчас делаю :

зачем ./ то? вы же выполняете команду в той же папке, где лежит пакет.

dpkg —force-depends-version -i linux-image-2.6.39-bpo.2-amd64_2.6.39-3

apt-get -f install

После этого ставь ядро (без —force-. должно поставиться) а «apt-get -f . » уже не понадобится.

Опять тожесамое ((.. а нет никаких способов попроще эти ядра установить. всмысле это ядро.

а нет никаких способов попроще эти ядра установить.

[fat16] make -j4; make modules_install; cp arch/x86/boot/bzImage /boot/

Не может быть. Показывай выхлоп обеих команд.

Установил! спасибо огромное за помощь!
Аналогично и на другие дистрибутивы ядра ставить?

И ещё хочу узнать, что значат эти числа
К примеру ввожу uname -a ,мне выдаёт версию ядра, к примеру 2.6.32.36-228-scalaxy
И вот мне интересно число 228 что означает? да и scalaxy Если я буду собирать модуль скажем для 2.6.32.36-200-scalaxy он запустится на ядре 2.6.32.36-228-scalaxy ?

тебе нужны бэкпорты (bpo это сокращение от backport). первая ссылка в гугле приведёт на нужный сайт, там есть все инструкции как подключить репозиторий. Можно и руками скачать и через dpkg вкрячить ведро, но тогда не будут прилетать обновления.

Оттуда выкинули 2.6.39. Теперь только 3.2, зато с нормальной поддержкой.

Аналогично и на другие дистрибутивы ядра ставить?

нет, эти «шаманства» дистрибутивозависимые.

А зачем тебе именно это ядро понадобилось?

Это мне по работе нужно. Сам я никогда не нуждался в установке подобных ядер, всегда хватало стандартного обновления системы.
Вот снова проблема, но уже с ядром 2.6.32.36-228-scalaxy где взять такое? где искать? как понял это ubuntu , на сайте (http://archive.ubuntu.com/ubuntu/pool/main/l/linux/) есть ядра 2.6.32.36 но ни одного scalaxy . В чём вообще отличие generic , preempt, generic-pae, server ? Ну и самое основное..гдеж взять этот scalaxy .

ну это понятно. Вопрос для чего. Но если это секрет то ладно.

Вот снова проблема, но уже с ядром 2.6.32.36-228-scalaxy где взять такое?

А если «погуглить» по слову «scalaxy», то можно найти сайт: https://www.scalaxy.ru/ .

В чём вообще отличие generic , preempt, generic-pae, server ?

В каждой редакции любого дистрибутива используется своя версия ядра, более новая, относительно предыдущих редакций. Разработчики дистрибутива осуществляют сборку ядра с некоторым набором опций ядра, для достижения различных целей, как правило это поддержка максимального набора оборудования, которое поддерживает эта версия ядра с патчами, которые наложили разработчики. Эту версию, к примеру для Ubuntu, можно назвать Generic.

Ядро с префиксом preempt скорее всего собрано с опцией CONFIG_PREEMPT, для снижения задержек в режиме реального времени работы операционной системы. Это ядро для системы реального времени.

Ядро с префиксом generic-pae существует только в 32 битной версии, т.к. в нём задействовано расширение Physical Address Extension при задействовании которого 32 битная система может адресовать больше 4 гигабайт оперативной памяти. 64 битная версия и так может работать с памятью больше 4 гигабайт.

Ну а в ядре с префиксом server задействованы опции не нужные на обычной Desktop системе и важные для применения в серверных системах, специализированные драйверы, специальные планировщики ввода/вывода, kvm (возможно) и прочее.

И всё же что вы такое хотите настроить, что вам требуются именно эти версии ядер. Предположу, что вы читайте кем-то написанное руководство, покажите. Скорее всего не обязательно использовать именно эти ядра, их скорее всего привели как пример., и уж тем более именно эти версии ядер.

kostik87
Спасибо за пояснение.
Продолжу глупые вопросы, как получить исходники для этого ядра? (headers source) 2.6.39-bpo.2-amd64

Это ядро для системы реального времени.

Пробую установить linux-headers-2.6.39-bpo.2-amd64
и мне выдаёт следующее
http://s59.radikal.ru/i165/1202/1c/98443a9b349c.png
Поясните пожалуйста, как мне установить headers ?

Linux headers — это не исходники ядра. Это лишь заголовочные файлы ( .h) и параметры, с которыми было собрано ядро, в частности ядро linux-image-2.6.39-bpo.2-amd64 вы сможете установить linux-headers, если у вас будет установлено это ядро.

Зачем вам нужно конкретно это ядро ?

Хорошо, я ошибся, напишите правильный ответ, но ошибся я не сильно, т.к. эта опция позволяет прервать выполнение менять приоритет процесса, что позволит его раньше прервать (переключиться с него).

а чего это, серьёзно, в debian даже в тестинге ядро собрано без PREEMPT?

как они это оправдывают? не юзабельно же при заметной нагрузке на систему

правильный ответ: CONFIG_PREEMPT включает вытесняемое ядро; те процесс может быть прерван шедулером, находясь в сисвызове; это увеличивает отзывчивость на десктопе

real-time это совсем другой вопрос; возможности для его реализации в стандартном ядре линукса нет; но есть отдельный патч, и соотв. опция в его конфиге: CONFIG_PREEMPT_RT_FULL

кстати, ядро с rt-патчем в дебиане есть а с обычным preempt нет, хз чо они курят

Спасибо за уточнение. Насчёт того, что в обычном ядре нет поддержки жёсткого и мягкого реального времени я в курсе. Но «в живую» т.к. сказать не работал с такой системой и не настраивал. Только QNX.

Источник

Читайте также:  Linux прошивка для планшета
Оцените статью