img

Пошаговое руководство как собрать ядро Linux с нуля

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

Ядро Linux является основой Unix-подобных операционных систем. Ядро отвечает за связь между оборудованием и программным обеспечением и за распределение доступных ресурсов.

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

В этом пошаговом руководстве вы узнаете, как собрать и скомпилировать ядро Linux с нуля.

Пошаговое руководство как собрать ядро Linux с нуля

Сборка ядра Linux

Процесс создания ядра Linux состоит из семи простых шагов. Однако процедура требует значительного времени для завершения, в зависимости от скорости системы.

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

Шаг 1. Загрузите исходный код

1. Посетите официальный сайт ядра www.kernel.org и загрузите последнюю версию. Загруженный файл содержит сжатый исходный код.

www.kernel.org

2. Откройте терминал и используйте команду wget для загрузки исходного кода ядра Linux:

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.6.tar.xz

По завершении загрузки в выходных данных отображается сообщение "saved".

saved

Шаг 2: извлеките исходный код

Когда файл будет готов, запустите команду tar, чтобы извлечь исходный код:

tar xvf linux-5.9.6.tar.xz

Вывод отображает извлеченный исходный код ядра:

Извлеченный исходный код

Шаг 3: Установите необходимые пакеты

Перед сборкой ядра установите дополнительные пакеты. Для этого запустите эту команду:

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

Команда, которую мы использовали выше, устанавливает следующие пакеты:

  • git - отслеживает и записывает все изменения исходного кода во время разработки. Это также позволяет отменить изменения.
  • fakeroot - упаковочный инструмент, создающий фальшивую корневую среду.
  • build-essential - Устанавливает инструменты разработки, такие как C, C++, gcc и g++.
  • ncurses-dev - Библиотека программирования, предоставляющая API для текстовых терминалов.
  • xz-utils - обеспечивает быстрое сжатие и распаковку файлов.
  • libssl-dev - поддерживает SSL и TSL, которые шифруют данные и делают интернет-соединение безопасным.
  • bc (Basic Calculator) - математический язык сценариев, поддерживающий интерактивное выполнение операторов.
  • flex (Fast Lexical Analyzer Generator) - генерирует лексические анализаторы, преобразующие символы в токены.
  • libelf-dev - выдает общую библиотеку для управления файлами ELF (исполняемые файлы, дампы ядра и объектный код)
  • bison - генератор парсера GNU, который преобразует описание грамматики в программу на языке C.
sudo apt-get install

Шаг 4: Настройте ядро

Исходный код ядра Linux поставляется с конфигурацией по умолчанию. Однако вы можете настроить его под свои нужды. Для этого выполните следующие действия:

1. Перейдите к каталогу linux-5.9.6. с помощью команды cd:

cd linux-5.9.6

2. Скопируйте существующий файл конфигурации с помощью команды cp:

cp -v /boot/config-$(uname -r) .config
cp -v /boot/config-$(uname -r) .config<

3. Чтобы внести изменения в файл конфигурации, выполните команду make:

make menuconfig

Команда запускает несколько скриптов, которые затем открывают меню конфигурации:

make menuconfig

4. Меню конфигурации включает в себя такие параметры, как прошивка, файловая система, сеть и параметры памяти. Используйте стрелки, чтобы сделать выбор, или выберите HELP, чтобы узнать больше о вариантах. Когда вы закончите вносить изменения, выберите SAVE, а затем выйдите из меню.

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

Шаг 5: Соберите ядро

1. Начните сборку ядра, выполнив следующую команду:

make

Процесс сборки и компиляции ядра Linux занимает некоторое время.

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

make

2. Установите необходимые модули с помощью этой команды:

sudo make modules_install
sudo make modules_install

3. Наконец, установите ядро, набрав:

sudo make install

Вывод показывает готово, когда закончено:

sudo make install

Шаг 6. Обновите загрузчик (необязательно)

Загрузчик GRUB - это первая программа, которая запускается при включении системы.

Команда make install выполняет этот процесс автоматически, но вы также можете сделать это вручную.

1. Обновите initramfs до установленной версии ядра:

sudo update-initramfs -c -k 5.9.6

2. Обновите загрузчик GRUB с помощью этой команды:

sudo update-grub

Терминал выведет процесс и подтверждающее сообщение:

sudo update-grub

Шаг 7: перезагрузите и проверьте версию ядра

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

Когда система загрузится, проверьте версию ядра с помощью команды uname:

uname -mrs

Терминал покажет текущую версию ядра Linux.

uname -mrs

Итог

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

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker