Сборка и обновление ядра Debian

Не бойтесь пересобирать ядро. Это забавно и полезно.

Шаг 1 Получение исходников ядра
Скачиваем последнее стабильное ядро с https://kernel.org

Шаг 2 Получение необходимых для сборки пакетов

Выполните следующие команды для установки основных пакетов:
# apt-get update
# apt-get build-dep linux
# apt-get install kernel-package – это можно не устанавливать, если не собираетесь создавать дистрибутив ядра в формате .deb

Далее всё зависит от того, каким способом вы хотите произвести конфигурацию ядра. Это можно сделать несколькими способами.
config – традиционный способ конфигурирования. Программа выводит параметры конфигурации по одному, предлагая вам установить для каждого из них свое значение. Не рекоммендуется для неопытных пользователей.
oldconfig – файл конфигурации создаётся автоматически, основываясь на текущей конфигурации ядра. Рекомендуется для начинающих.
defconfig – файл конфигурации создаётся автоматически, основываясь на значениях по-умолчанию.
menuconfig – псевдографический интерфейс ручной конфигурации, не требует последовательного ввода значений параметров. Рекомендуется для использования в терминале.
xconfig – графический (X) интерфейс ручной конфигурации, не требует последовательного ввода значений параметров.
gconfig – графический (GTK+) интерфейс ручной конфигурации, не требует последовательного ввода значений параметров. Рекомендуется для использования в среде GNOME.
localmodconfig – файл конфигурации, создающийся автоматически, в который включается только то, что нужно данному конкретному устройству. При вызове данной команды большая часть ядра будет замодулирована
localyesconfig – файл конфигурации, похожий на предыдущий, но здесь большая часть будет включена непосредственно в ядро. Идеальный вариант для начинающих.
В случае, если вы хотите использовать config, oldconfig, defconfig, localmodconfig или localyesconfig, вам больше не нужны никакие дополнительные пакеты. В случае же с оставшимися вариантами необходимо установить также дополнительные пакеты.

Для установки пакетов, необходимых для использования menuconfig выполните следующую команду:
# apt-get install libncurses5-dev

Для установки пакетов, необходимых для использования gconfig выполните следующую команду:
# sudo apt-get install libgtk2.0-dev libglib2.0-dev libglade2-dev

Шаг 3. Конфигурация будущей сборки ядра

Перейдите в папку, куда вы распаковали ядро, выполнив команду
cd ~/linux-4.10.x.y где 4.10.x.y – версия загруженного вами ядра.

На данный момент вы уже должны были определиться с методом конфигурации ядра (если нет, то ознакомьтесь с ними в разделе «Получение необходимых для сборки пакетов». В зависимости от этого, выполните следующую команду для запуска выбранного вами способа конфигурации:
config – традиционный способ конфигурирования. Программа выводит параметры конфигурации по одному, предлагая вам установить для каждого из них свое значение. Вызывается командой
# make config

oldconfig – файл конфигурации создаётся автоматически, основываясь на текущей конфигурации ядра. Рекомендуется для начинающих. Вызывается командой
# make oldconfig

defconfig – файл конфигурации создаётся автоматически, основываясь на значениях по-умолчанию для данной конкретной архитектуры. Вызывается командой
# make defconfig

menuconfig – псевдографический интерфейс ручной конфигурации, не требует последовательного ввода значений параметров. Рекомендуется для использования в терминале. Вызов:
#make menuconfig

gconfig и xconfig – графические конфигураторы для ручной настройки. Вызов:
# make gconfig и
# make xconfig соответственно

localmodconfig и localyesconfig – автоматические конфигураторы. Конфиг создается на основе вызванных в данных момент модулей и запущенного ядра. Разница между этими двумя конфигураторами в количестве модулей. В первом случае их будет не менее 50% ядра, а во-втором не больше 2 модулей. Вызов:
# make localmodconfig и
# make localyesconfig соответственно

После вызова соответствующая программа конфигурации будет запущена. Произведите необходимые настройки в соответствии с вашими потребностями, сохраните файл конфигурации и переходите к следующему шагу.

Шаг 3.1. Сборка и установка ядра кратко

#make mrproper – очистка от прежних компиляций, нужно обязательно сделать перед созданием конфига.

#make oldconfig (или другой вариант, смотреть выше) – создание конфига

#make – компиляция ядра

#make modules – компиляция модулей

#make modules_install – установка модулей

#make install – установка ядра

Сборка ядра может занимать от 20 минут до нескольких часов в зависимости от конфигурации ядра и технических параметров компьютера.

После этого перезагрузка и загрузка уже с новым ядром.

Шаг 4. Если нужно создать образ ядра в формате deb.

Компиляция ядра

И вот. Не совсем момент истины, но всё же.

#fakeroot make-kpkg -j 2 –initrd –revision=og.091015.00 kernel_image

Команда запустит процесс сборки ядра.

og.091015.00 – означает лишь ревизию нашей сборки (меньше букв, но больше цифр, иначе получите ошибку в под самый конц сборки и придётся всё повторять с самого начала), а в остальном может быть любой — у кого насколько фантазии хватит.

После того как предыдущая команда нормально выполнится, можно также дать такой «джентельменский набор»:

# fakeroot make-kpkg –initrd –revision=og.091015.00 kernel_headers
# fakeroot make-kpkg –initrd –revision=og.091015.00 kernel_manual
# fakeroot make-kpkg –initrd –revision=og.091015.00 kernel_doc
# fakeroot make-kpkg –initrd –revision=og.091015.00 kernel_source

После этого получим набор из следующих deb-пакетов:

linux-image-4.10.x.x_og.091015.00_i386.deb
linux-headers-4.10.x.x_og.091015.00_i386.deb
linux-manual-4.10.x.x_og.091015.00_all.deb
linux-doc-4.10.x.x_og.091015.00_all.deb
linux-source-4.10.x.x_og.091015.00_all.deb

Команда запустит процесс сборки ядра.

-j 2 — указываем, что запускаем в два потока (количество ядер процессора +1, чтобы не терять процессорного времени на операциях ввода-вывода)

Операция длится от пятнадцати минут, до нескольких часов. В особо проблемных случаях может занять более суток времени.
В случае успеха в каталоге с исходниками увидим файл
linux-image-версия_ядра.deb

Нам остаётся их только установить через dpkg:

#dpkg -i linux-image-*.deb

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *