June 15, 2022

Сборка чистого ядра Linux

В этой статье мы рассмотрим, как собрать чистое ядро Linux. Я буду это делать на дистрибутиве Ubuntu 22.04 LTS. В этом нет ничего сложного!

Процесс сборки:

1) Скачиваем исходники ядра. Переходим по этой ссылке: https://www.kernel.org и скачиваем нужное вам ядро нажав на tarball. Если вы хотите самое новое стабильное ядро то просто нажмите Latest Release.

2) Извлеките папку из архива.

3) Откройте терминал и установите нужные пакеты прописав:

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison

4) Перейдите в папку с исходниками, в моем случае:

cd /home/egor/Загрузки/linux-5.18.4 

5) Копируем текущую конфигурацию ядра:

cp /boot/config-5.15.0-35-generic .config

7) Настраиваем конфигурацию через меню:

make menuconfig
Из основного переходим в General Setup, включаем Kernel .config support, нажимая enter до появления [*] рядом со строчкой, тоже самое сделайте с Enable access to .config through /proc/config.gz. Также выберите LZMA в пункте Kernel compression mode.

Отдельный гайд по конфигурации ядра будет в следущий раз

8) Сохраняем конфигурацию и выходим нажав save, а затем exit

9) Заходим в проводник и переходим в папку с исходниками, и включаем видимость для скрытых элементов.

10) Открываем файл .config и ищем раздел:

# Certificates for signature checking

В нем меняем меняем удаляем старые конфиги и вставляем новые.

Раздел должен выглядеть вот так:

#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_SYSTEM_EXTRA_CERTIFICATE=y
CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
CONFIG_SECONDARY_TRUSTED_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
CONFIG_SYSTEM_REVOCATION_LIST=y
CONFIG_SYSTEM_REVOCATION_KEYS=""
# end of Certificates for signature checking

Сохраняем изменения и возвращаемся к терминалу.

11) Начинаем сборку прописав:

make -j6

-j6 это аргумент выбирающий кол-во потоков использующихся для сборки ядра.

В моем случае, я использовал 6 потоков, вы выбираете свое кол-во.

12) Теперь мы должны установить ядро. Прописываем эти команды:

make modules_install

затем make install

Отлично, мы собрали ядро! Теперь можем попробовать загрузится с ядра.

НО! Этот способ сборки не очень удобный, так как, удалять ядро придется в ручную. Поэтому рассмотрим другой.

11) Пишем в терминале:

make deb-pkg

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

sudo dpkg -i ../*.deb

Перезагружаемся и проверяем работоспособность ядра.

Если вы захотите удалить ваше ядро, то просто пропишете:

sudo apt remove linux-headers-5.18.4 linux-image-5.18.4 linux-image-5.18.4-dbg linux-libc-dev

В этой статье мы рассмотрели сборку ядра Linux из исходников.

Подпишись на наш телеграм канал: https://t.me/xromchannel