Установка Linux kernel 6.x в Debian

Пошаговая инструкция по установке Linux Kernel 6.0 в Debian, если вы любите передовые технологии и хотите установить последнюю версию ядра Linux (Kernel 6.x) в Debian, то это руководство для вас. Linux 6.0 начинает серию 6.x, принося с собой ряд улучшений производительности, новую поддержку аппаратного обеспечения, исправления безопасности и обычный набор настроек файловой системы.

Перед установкой Linux Kernel 6.0 рекомендуется сделать резервную копию системы!!!

Особенности ядра Linux 6.0

  • Верификация во время выполнения для систем, критичных к безопасности.
  • Поддержка ядром внутриполосной аутентификации NVMe
  • Подсистема верификации во время выполнения
  • Драйвер ядра Raspberry Pi 4 V3D
  • Драйвер блоков пользовательского пространства IO_uring
  • Буферизованная запись в файловых системах XFS
  • Поддержка протокола отправки V2 для Btrfs

Так как на момент написания статьи в дистрибутивах Debian отсутствуют новые версия ядра, Linux kernel 6 будем собирать из исходных кодов.

Шаг 1. Получите текущий исходный код ядра Linux

Посетите официальную страницу проекта и загрузите последнюю версию исходного кода.

Шаг 2. Распакуйте файл tar.gz

Вам не обязательно распаковывать исходный код в /usr/src. Вы можете распаковать исходный код в каталог $HOME или другой каталог с помощью следующей команды tar:

Шаг 3: Настройка функций и модулей ядра Linux

Прежде чем приступить к сборке ядра, необходимо настроить функции ядра Linux. Вам также нужно указать, какие модули ядра (драйверы) нужны для вашей системы. Эта задача может оказаться непосильной для нового пользователя. Я рекомендую скопировать существующий файл конфигурации с помощью команды cp:

Шаг 4: Установите необходимые компиляторы и другие инструменты

Для компиляции ядра Linux необходимо установить средства разработки, такие как компилятор GCC и связанные с ним инструменты.

Введите следующую команду apt или apt-get для его установки:

sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev

Шаг 5: Настройка ядра

Теперь вы можете начать конфигурацию ядра, введя одну из следующих команд в каталоге исходного кода:

  • make menuconfig  Эта опция также полезна на удаленном сервере, если вы хотите скомпилировать ядро удаленно.
  • make xconfig - инструмент конфигурирования на основе X windows (Qt), лучше всего работает под рабочим столом KDE.
  • make gconfig - инструмент конфигурирования на основе X windows (Gtk), лучше всего работает под Gnome Dekstop.

Например, если вы выполните команду make menuconfig, появится следующий экран:

make menuconfig

Вам необходимо выбрать различные варианты в зависимости от ваших потребностей. Каждый параметр конфигурации связан с кнопкой HELP, поэтому выберите кнопку помощи, чтобы получить справку. Обратите внимание, что "make menuconfig" является необязательным. Я использовал его здесь только в демонстрационных целях.

С помощью этой опции вы можете включить или выключить определенные функции или драйверы ядра. Легко удалить поддержку драйвера устройства или опции и в итоге получить неработающее ядро. Например, если драйвер ext4 удален из файла конфигурации ядра, система может перестать загружаться. Если вы сомневаетесь, просто оставьте поддержку в ядре.

Удаление доверенных ключей

Поскольку мы получаем ядро от разработчиков kernel.org, а не из репозитория Ubuntu/Debian, нам нужно удалить доверенные ключи из файла .config.

Теперь отредактируем файл, который мы скопировали в наш каталог

Найдите в файле следующее:

Удалите доверенные ключи так, чтобы это выглядело следующим образом:

Кроме того, вы можете удалить доверенный ключ через запись menuconfig.

Главное меню -> Cryptographic API -> Certificates for signature checking -> Provide system-wide ring of trusted keys

Шаг 6: Как скомпилировать ядро Linux

Я рекомендую использовать screen или tmux перед компиляцией, если вы вошли в систему через SSH. Таким образом, если соединение будет потеряно, процесс компиляции продолжится. Начните компиляцию и введите для создания сжатого образа ядра:

Если у вас 1 ядро процессора

Если у вас несколько ядер процессора, укажите количество ядер/потоков для ускорения компиляции.

nproc получить количество потоков или ядер процессора и использовать весь потенциал процессора.

Компиляция и сборка ядра Linux занимает много времени (часы). Время сборки зависит от ресурсов вашей системы, например, доступных ядер процессора, оперативной памяти и текущей загрузки системы. Так что будьте терпеливы.

Установка Linux kernel 6.x в Debian

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

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

До сих пор мы компилировали ядро Linux и устанавливали модули ядра. Теперь пришло время установить само ядро:

Он устанавливает три файла в каталог /boot, а также изменяет конфигурационный файл ядра grub:

  • initramfs-6.0.img
  • system.map-6.0
  • vmlinuz-6.0

Установка модулей ядра

Проверка версии ядра Linux Debian

Давайте перезагрузим систему и загрузимся с вашим новым ядром.

Просто введите команду reboot или shutdown:

Debian Загрузка Kernel 6 linux

Проверьте новую версию ядра Linux после перезагрузки:

результаты uname

Понравилась статья? Поделиться с друзьями:
Комментарии: 5
  1. Avatar for SashaXBy
    SashaXBy

    в зависимостях не хватает
    sudo apt-get install bc

    1. Avatar for Gnostis
      Gnostis (автор)

      Спасибо, добавил.

  2. Avatar for Винер
    Винер

    А как создать пакет с вновь скомпилированным ядром. Что бы удалять одной командой? Последний раз компилил ядра лет 15 назад, во время версий 2.4 2.6. Старые ядра помнится надо было удалять и kernel headers, и модули, и менять в бут симлинки... перечитывать grub...

    1. Avatar for Gnostis
      Gnostis (автор)

      Можно использовать готовый репозиторий Linux Zabbly
      https://g-soft.info/linux/11501/kak-ustanovit-yadro-linux-6-5-v-debian/

    2. Avatar for Advisor
      Advisor

      Приветствую! Рад ответить на ваш вопрос. Создание пакета с ядрами Linux с возможностью удаления одним командным скриптом может быть легко выполнено с помощью утилиты make. Для начала, вам нужно убедиться, что у вас уже есть скомпилированное ядро, которое вы хотите включить в пакет. Затем выполните следующие шаги:

      1. Создайте каталог для вашего пакета. Например, вы можете использовать следующую команду: `mkdir linux-kernel-package`.

      2. Переместите скомпилированное ядро в этот каталог.

      3. Создайте файл `Makefile` в этом каталоге с содержимым:


      clean:
      rm -f *.o *.ko *.mod.c *.symvers
      rm -rf *.deb ./*.deb *.install

      rm -f /boot/config-$(notdir $(shell uname -r))
      mkdir /boot/oldconfig
      cp /boot/config /boot/config.bak
      echo -e "CONFIG_LOCALVERSION=\"$(shell cat /boot/config)\"" > /boot/config
      mv /boot/config /boot/config.bak
      mkdir /oldkernel
      ln -sf /vmlinuz-$(shell uname -r) /vmlinuz
      ln -sf /initrd.img-$(shell uname -r) /initrd.img
      ln -sf /boot.bak /boot

      deb:
      fakeroot debian/rules clean
      fakeroot dh_make -j4 debian/control
      dpkg-buildpackage -rfakeroot -us -uc -nc -b
      find . -name '*.deb' -delete
      tar -czvf linux-kernel.tar.gz debian/*

      -rm -rf debian
      -mkdir debian

      Этот скрипт использует утилиту make для сборки пакета Debian и удаляет скомпилированные файлы, чтобы освободить место на диске.

      4. Теперь выполните команду `make deb`, чтобы создать пакет Debian. Вы можете установить этот пакет на свою систему, чтобы протестировать его.

      5. После тестирования и исправления любых ошибок, выполните команду `make clean`, чтобы удалить созданные файлы. Затем снова выполните `make deb` для создания нового пакета Debian.

      6. Наконец, если все работает корректно, вы можете создать установочный скрипт для своего пакета. Например:


      !/bin/bash

      echo "Installing the new kernel..."
      sudo dpkg -i linux-kernel*.deb

      echo "Removing the old kernel..."
      rm -rf /boot/vmlinuz* /boot/initrd.img* /boot/*.bak

      echo "Setting up GRUB..."
      grub-install /dev/sda

      Вы можете сохранить этот скрипт в файле `install_kernel.sh` и сделать его исполняемым. Затем вы можете запускать этот скрипт для установки и удаления ядра на вашей системе.

      Надеюсь, это поможет вам создать пакет с ядрами Linux и возможностью удаления одним скриптом. Если у вас возникнут какие-либо проблемы или вопросы, пожалуйста, не стесняйтесь обращаться.

Добавить комментарий