ГлавнаяОперационные системыLinuxКак собрать и установить собственное ядро ​​в Ubuntu

Как собрать и установить собственное ядро ​​в Ubuntu

Какую функцию ядра лучше скомпилировать в виде модуля или встроенной?

дра для Ubuntuтрах в сердца новых пользователей Linux. Звучит устрашающе — создавать самую важную часть вашей системы с нуля. Однако на самом деле собрать ядро ​​Linux в Ubuntu очень просто.

Сборка ядер Linux нетребует программирования. Некоторые из лучших программистов мира уже написали весь код. Вам просто нужно выбрать нужные вам функции и соединить их воедино. Здесь мы покажем вам, как собрать и установить собственное ядро ​​в Ubuntu.

Читайте также: Как понизить версию ядра в Linux

Получение зависимостей

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

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

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

Получение зависимостей

олучить исходный код, который хотите собрать. Все ядра доступны в версии официальные репозитории Linux . Вы можете ознакомиться с последними выпусками в разделе cdn-репозиторий . На момент написания этой статьи последней версией является 5.16. Скачать можно с помощью команд:

cd /home/$USER/
mkdir kernelbuild
cd kernelbuild
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.16.19.tar.xz
Пользовательское ядро ​​Ubuntu Скачать ядро

Загрузка ядра займет некоторое время, поэтому наберитесь терпения.

Настройка вашей сборки

Начните настройку с распаковка tar-файла ядра. Затем скопируйте в него конфигурацию существующего ядра.

tar xavf linux-5.16.19.tar.xz && cd ./linux-5.16.19
cp /boot/config-`uname -r` .config

Теперь вам нужно адаптировать старую конфигурацию к новому ядру.

make oldconfig

Этот скрипт спросит вас, что делать с каждой новой функцией. Если вы хотите использовать значения по умолчанию, используйте вместо этого make olddefconfig.

Читайте также: Как собрать новый компьютер для Linux

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

Вы можете оставить свою конфигурацию как есть, и, вероятно, все будет в порядке. Однако нет смысла создавать собственное ядро, если вы не собираетесь его настраивать.

Чтобы настроить конфигурацию, запустите

make menuconfig
Настройка вашей сборкиcustom-kernel-02-makeconfig-sample-1.jpg" alt="Пользовательский пример Makeconfig ядра Ubuntu 1">

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

Пример пользовательского ядра Ubuntu Btrfs

Например, если вы действительно хотите встроить поддержку файловой системы БТРФС непосредственно в ядро ​​и включить другие функции, вам следует перейти в «Файловые системы ->». Затем прокрутите вниз до пункта «Поддержка файловой системы Btrfs». Выберите нужный вариант и нажмите пробел. Пробел переключается между буквами «M», «*» и пустым.

  • “M” означает, что эта функция будет создана в виде модуля, который будет загружен при необходимости при запуске Ubuntu.
  • “*” означает, что эта функция будет встроена в ядро ​​и всегда загружена.

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

make clean

Теперь ваше ядро ​​готово к сборке.

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

Ubuntu

В Ubuntu есть метод сборки ядер, но он заставляет вас использовать сценарии, написанные для более старых версий. Иногда это нормально; другие ужасно ломаются. Поэтому обычно лучше использовать более общий метод Linux с GNU make.

make -j `getconf _NPROCESSORS_ONLN` 
make deb-pkg LOCALVERSION=-custom

Все, что делает эта строка, — это скомпилировать ядро в пакеты.deb, используя количество ядер ЦП в вашей системе плюс одно. Он также добавляет слово «custom» в конец версии пакета, чтобы отличать ваше собственное ядро ​​от других.

Примечание. Компиляция ядра может занять несколько часов. Будьте терпеливы.

Установка ядра

Вы найдете новые пакеты ядра на один каталог выше. Их будет легко идентифицировать по номеру версии. Вы можете использовать dpkgдля их установки.

cd ./../
sudo dpkg -i linux-firmware-image-5.16.19-custom_5.16.19-custom-1_amd64.deb
sudo dpkg -i linux-libc-dev_5.16.19-custom-1_amd64.deb
sudo dpkg -i linux-headers-5.16.19-custom_5.16.19-custom-1_amd64.deb
sudo dpkg -i linux-image-5.16.19-custom-dbg_5.16.19-custom-1_amd64.deb
sudo dpkg -i linux-image-5.16.19-custom_5.16.19-custom-1_amd64.deb

После завершения установки перезагрузите компьютер. Ubuntu автоматически загрузится с вашим новым ядром. Вы можете проверить это, запустив uname -rв терминале при его запуске.

Установка пользовательских двоичных ядер

Другой способ использования собственного ядра Linux в Ubuntu — установка его предварительно скомпилированной двоичной версии. В отличие от версии на основе исходного кода, это копии ядра, которые уже скомпилированы для используемой вами системы и архитектуры.

Список ядер пользовательского ядра Ubuntu

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

Зная это, самый популярный способ установки собственных двоичных ядер — через Основная линия . Это программа с графическим интерфейсом, разработанная bkw777 и призванная упростить процесс установки ядра Linux.

Основная ветка ядра пользовательского ядра Ubuntu

При этом эта программа объединяет все шаги, которые необходимо предпринять для правильной загрузки и настройки ядра. Например, Mainline позволяет вам легко выбрать двоичный файл ядра и заголовок, который вы хотите установить. Затем эта версия будет храниться в кеше, откуда вы сможете легко загрузить ее, когда вам это понадобится.

Читайте также: 5 инструментов для легкого создания собственного дистрибутива Linux

Установка основной ветки в Ubuntu

При этом установка

Установка ядра

роста. Во-первых, вам нужно указать apt включить репозиторий пакетов Mainline. Для этого вы можете запустить следующую команду из своего терминала:

sudo add-apt-repository ppa:cappelikan/ppa
Пользовательское ядро ​​Ubuntu Добавить новый репозиторий

Здесь вам необходимо обновить каталог пакетов Ubuntu. Это позволит apt прочитать репозиторий, который вы только что добавили, и, в свою очередь, позволит вам загрузить через него Mainline:

sudo apt update

При этом остаётся только установить саму Mainline:

sudo apt install mainline
Основная линия установки пользовательского ядра Ubuntu

Использование основной линии

После этого вы можете загрузить Mainline, зайдя в меню приложения и выполнив поиск. Затем программа Mainline загрузит и отобразит все пакеты ядра, которые вы можете установить для своей системы.

Установка пользовательских двоичных ядер

tist.ru/wp-content/uploads/2024/05/ubuntu-custom-kernel-08-search-mainline.png" alt="Основная линия пользовательского поиска ядра Ubuntu">

Оттуда вы сможете выбрать и установить версию ядра, которую хотите использовать в своей системе. Например, я могу выбрать «Linux 5.16.19» и нажать «Установить» на правой боковой панели, чтобы полностью загрузить эту версию ядра на свой компьютер.

Пользовательское ядро ​​Ubuntu Установка нового ядра 1

С другой стороны, я также могу использовать Mainline для удаления ядер, которые я больше не хочу использовать. Например, я могу выбрать «Linux 5.15» и нажать «Удалить» на той же правой боковой панели, чтобы удалить это ядро ​​из моей системы.

Пользовательское ядро ​​Ubuntu Удаление старого ядра

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

Читайте также: Как исправить ошибку проверки безопасности ядра в Windows 10

Часто задаваемые вопросы

Каковы проблемы при использовании собственного ядра?

Одна из самых больших проблем при использовании собственного ядра заключается в том, что вы удаляете жизненно важную часть вашей системы из регулярных обновлений. Это означает, что с этого момента вам необходимо вручную устанавливать все обновления ядра. Сюда входят дополнительные аппаратные функции, а также критические обновления безопасности.

Это может стать проблемой, если вам нужна система, которая работает и обслуживается с минимальным вмешательством пользователя. Таким образом, для запуска собственного ядра вам необходимо не только знать, какие функции ядра вам нужны, но также быть в курсе критических обновлений.

Есть ли какие-либо недостатки в использовании двоичного файла ядра?

Да. Одним из основных недостатков использования двоичного файла ядра является отсутствие контроля над его встроенными функциями. Это означает, что, в отличие от ядра на основе исходного кода, двоичный файл ядра не будет содержать никаких аппаратных оптимизаций и поддержки.

Это означает, что если вы собираетесь использовать экзотическое оборудование с Ubuntu. Вам нужно будет скомпилировать ядро ​​с нуля.

Какую функцию ядра лучше скомпилировать в вид

Установка основной ветки в Ubuntu

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

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

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

Использование основной линии

Часто задаваемые вопросы

Каковы проблемы при использовании собственного ядра?

Есть ли какие-либо недостатки в использовании двоичного файла ядра?

ПОХОЖИЕ СТАТЬИ

Популярные записи