Debian 9,10. Сборка ядра: различия между версиями

Материал из Wiki
Перейти к навигации Перейти к поиску
(Создана пустая страница)
 
Строка 1: Строка 1:
== Ссылки ==
https://dev-cs.ru/threads/5928/


== Сборка ядра ==
=== Ставим необходимые пакеты ===
<code>apt install -y fakeroot make gcc flex libncurses5-dev bison build-essential libelf-dev libssl-dev</code>
=== Получаем исходники ядра ===
Ищем последний релиз исходников ядра и устанавливаем
<code>apt search linux-source</code>
<code>apt install linux-source-4.9</code>
Пакет установился в папку /usr/src
<code>ls /usr/src</code>
...
linux-config-4.9  linux-patch-4.9-rt.patch.xz  linux-source-4.9.tar.xz
...
Разархивируем
<code>tar -xvf /usr/src/linux-source-4.9.tar.xz</code>
Проходим в директорию с исходниками
<code>cd /usr/src/linux-source-4.9/</code>
=== Настройки ядра ===
==== Вариант 1. Копирование настроек из текущего ядра ====
Копируем настройки текущего ядра в директорию с исходниками нового
<code>cp /boot/config-4.9.0-8-amd64 ./.config</code>
Очищаем настройки сертификатов (иначе при компиляции будет ошибка)
<code>nano ./.config</code>
...
CONFIG_SYSTEM_TRUSTED_KEYS=""
...
==== Вариант 2. Дефолтные настройки ядра ====
Приведем конфиг к умолчальному
'''''make olddefconfig''''' - все вопросы получат ответ по умолчанию, если вы хотите настроить вручную - воспользуйтесь командой make oldconfig
<code>make olddefconfig</code>
Очищаем настройки сертификатов (иначе при компиляции будет ошибка)
<code>nano ./.config</code>
...
CONFIG_SYSTEM_TRUSTED_KEYS=""
...
Правим настройки ядра
<code>make menuconfig</code>
Далее '''Save''' и '''Exit'''
Запустим данную команду, если вы уже ранее делали компиляцию, чтобы удалить лишние файлы.
<code>make clean</code>
Следующая команда позволит собрать пакет. Процес очень долгий
<code>make deb-pkg LOCALVERSION=-customkernel KDEB_PKGVERSION=$(make kernelversion)-1</code>
Смотрим названия файлов
<code>ls /usr/src/</code>
=== Устанавливаем ядро ===
<code>dpkg -i /usr/src/linux-image-4.19.152-customkernel_4.19.152-1_amd64.deb</code>
...
Selecting previously unselected package linux-image-4.19.152-customkernel.
(Reading database ... 50106 files and directories currently installed.)
Preparing to unpack .../linux-image-4.19.152-customkernel_4.19.152-1_amd64.deb ...
Unpacking linux-image-4.19.152-customkernel (4.19.152-1) ...
Setting up linux-image-4.19.152-customkernel (4.19.152-1) ...
update-initramfs: Generating /boot/initrd.img-4.19.152-customkernel
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.19.152-customkernel
Found initrd image: /boot/initrd.img-4.19.152-customkernel
Found linux image: /boot/vmlinuz-4.19.0-12-amd64
Found initrd image: /boot/initrd.img-4.19.0-12-amd64
Found linux image: /boot/vmlinuz-4.19.0-11-amd64
Found initrd image: /boot/initrd.img-4.19.0-11-amd64
done
...
Создадутся файлы
<code>/boot/vmlinuz-4.19.152-customkernel</code>
<code>/boot/initrd.img-4.19.152-customkernel</code>
Новое ядро пропишется в /boot/grub/grub.cfg
<code>reboot</code>
<code>uname -a</code>
...
Linux debian10-test01 4.19.152-customkernel #1 SMP Sat Oct 31 13:33:44 EDT 2020 x86_64 GNU/Linux
...
[[Категория:Инструкции]]
[[Категория:Linux]]
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__

Версия 20:24, 10 мая 2022

Ссылки

https://dev-cs.ru/threads/5928/

Сборка ядра

Ставим необходимые пакеты

apt install -y fakeroot make gcc flex libncurses5-dev bison build-essential libelf-dev libssl-dev

Получаем исходники ядра

Ищем последний релиз исходников ядра и устанавливаем

apt search linux-source

apt install linux-source-4.9

Пакет установился в папку /usr/src

ls /usr/src

...
linux-config-4.9  linux-patch-4.9-rt.patch.xz  linux-source-4.9.tar.xz
...

Разархивируем

tar -xvf /usr/src/linux-source-4.9.tar.xz

Проходим в директорию с исходниками

cd /usr/src/linux-source-4.9/

Настройки ядра

Вариант 1. Копирование настроек из текущего ядра

Копируем настройки текущего ядра в директорию с исходниками нового

cp /boot/config-4.9.0-8-amd64 ./.config

Очищаем настройки сертификатов (иначе при компиляции будет ошибка)

nano ./.config

...
CONFIG_SYSTEM_TRUSTED_KEYS=""
...

Вариант 2. Дефолтные настройки ядра

Приведем конфиг к умолчальному

make olddefconfig - все вопросы получат ответ по умолчанию, если вы хотите настроить вручную - воспользуйтесь командой make oldconfig

make olddefconfig

Очищаем настройки сертификатов (иначе при компиляции будет ошибка)

nano ./.config

...
CONFIG_SYSTEM_TRUSTED_KEYS=""
...

Правим настройки ядра

make menuconfig

Далее Save и Exit

Запустим данную команду, если вы уже ранее делали компиляцию, чтобы удалить лишние файлы.

make clean

Следующая команда позволит собрать пакет. Процес очень долгий

make deb-pkg LOCALVERSION=-customkernel KDEB_PKGVERSION=$(make kernelversion)-1

Смотрим названия файлов

ls /usr/src/

Устанавливаем ядро

dpkg -i /usr/src/linux-image-4.19.152-customkernel_4.19.152-1_amd64.deb

...
Selecting previously unselected package linux-image-4.19.152-customkernel.
(Reading database ... 50106 files and directories currently installed.)
Preparing to unpack .../linux-image-4.19.152-customkernel_4.19.152-1_amd64.deb ...
Unpacking linux-image-4.19.152-customkernel (4.19.152-1) ...
Setting up linux-image-4.19.152-customkernel (4.19.152-1) ...
update-initramfs: Generating /boot/initrd.img-4.19.152-customkernel
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.19.152-customkernel
Found initrd image: /boot/initrd.img-4.19.152-customkernel
Found linux image: /boot/vmlinuz-4.19.0-12-amd64
Found initrd image: /boot/initrd.img-4.19.0-12-amd64
Found linux image: /boot/vmlinuz-4.19.0-11-amd64
Found initrd image: /boot/initrd.img-4.19.0-11-amd64
done
...

Создадутся файлы

/boot/vmlinuz-4.19.152-customkernel

/boot/initrd.img-4.19.152-customkernel

Новое ядро пропишется в /boot/grub/grub.cfg

reboot

uname -a

...
Linux debian10-test01 4.19.152-customkernel #1 SMP Sat Oct 31 13:33:44 EDT 2020 x86_64 GNU/Linux
...