Гид по технологиям

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

4 min read Linux Обновлено 19 Dec 2025
Настройка ядра Linux в Ubuntu
Настройка ядра Linux в Ubuntu

Введение

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

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

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

Основная идея в одной фразе

Скопируйте текущую конфигурацию ядра, установите исходники, отредактируйте конфигурацию через make menuconfig, соберите .deb пакеты и установите их через dpkg; при неудаче — загрузитесь в старое ядро через GRUB.

Что нужно знать перед началом

  • Понимайте, зачем вы меняете ядро (цель).
  • Имейте резервную возможность загрузки старого ядра.
  • Подготовьте рабочую среду с нужными зависимостями для сборки.

Узнаём текущую версию ядра

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

$ uname -r
2.6.17-10-generic

Запомните или запишите версию — она нужна для установки подходящих исходников.

Установка исходников и инструментов сборки

Установите пакет с исходниками ядра и инструменты (пример для указанной версии). Замените номер ядра на ваш:

sudo apt-get install linux-source-2.6.17 kernel-package libncurses5-dev fakeroot

Где устанавливаются файлы пакета, можно узнать командой dpkg:

$ dpkg -L linux-source-2.6.17
/.
/usr
/usr/src
/usr/src/linux-source-2.6.17.tar.bz2
/usr/share
/usr/share/doc
/usr/share/doc/linux-source-2.6.17
(trimmed)

Исходники установлены в /usr/src как архив .tar.bz2.

Подготовка исходников

Откройте shell с правами root (вариант с sudo):

sudo /bin/bash

Перейдите в /usr/src и распакуйте архив. При необходимости установите bunzip2.

cd /usr/src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux

Скопируйте текущую конфигурацию ядра в каталог исходников. Обратите внимание: символ — это символ под тильдой: ``` cp /boot/config-uname -r/usr/src/linux/.config ``` ## Редактирование конфигурации ядра Запустите интерактивную утилиту конфигурации: ``` cd /usr/src/linux make menuconfig ``` В меню выберите "Load an Alternate Configuration File", загрузите .config и затем переходите по разделам. Навигация интуитивна; вверху есть подсказка по клавишам. Пример: заходим в раздел Networking, находим опцию Amateur Radio Support и видим, что она собрана в ядро (обозначено звездочкой). Для справки нажмите ? и прочитайте описание. ![Скриншот меню конфигурации ядра, раздел Networking, показывающий опцию Amateur Radio Support](/files/7826991a-91ed-41d8-87a5-093f9230010a.png) Помощь по опции покажет текст объяснения её назначения. ![Скриншот справки по опции Amateur Radio Support в меню конфигурации ядра](/files/b75bd675-47eb-4a57-a050-89aaea3fb4e3.png) Если опция вам не нужна — нажмите N, чтобы исключить её, или M, чтобы собрать как модуль. После того как вы внесли все изменения, выходите и сохраните конфигурацию. ## Очистка и сборка пакетов .deb Перед сборкой выполните очистку: ``` make-kpkg clean ``` Процесс сборки может занять значительное время. Запустите сборку .deb пакетов так: ``` fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers ``` Результат — два .deb файла в /usr/src: linux-image... и linux-headers.... Первый — это образ ядра, второй — заголовки. ## Установка нового ядра и откат при проблемах Установите пакеты через dpkg (имена файлов будут отличаться в зависимости от версии): ``` dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb ``` После установки перезагрузите систему. Если что-то пошло не так и система не загружается, на экране GRUB нажмите Esc, выберите старое ядро и загрузитесь. После этого можно удалить или исправить /boot/grub/menu.lst или повторить сборку. Проверить, что вы загрузились с новым ядром, можно командой: ``` uname -r 2.6.17.14-ubuntu1-custom ``` ## Альтернативные подходы - Использовать готовые пакеты ядра от дистрибутива или сторонних репозиториев вместо ручной сборки. - Применять quilt или git для патчей и поддерживать дерево исходников в системе контроля версий. - Для графических настроек можно использовать make xconfig (Qt) или make gconfig (GTK). - Для встроенных систем лучше собирать кросс-компиляцией на сборочной машине. Когда этот подход не подходит: если вам нужно просто включить/выключить модули на уже работающем ядре, проще управлять модулем через modprobe/blacklist, а не пересобирать ядро. ## Малая методология — краткий чеклист действий 1. Зафиксировать текущую версию: uname -r. 2. Установить linux-source и инструменты сборки. 3. Распаковать исходники и создать символическую ссылку linux. 4. Скопировать /boot/config-uname -r` в /usr/src/linux/.config.
5. Запустить make menuconfig и адаптировать конфигурацию.
6. make-kpkg clean -> fakeroot make-kpkg …
7. Установить .deb через dpkg -i и перезагрузиться.
8. При проблемах — загрузиться с предыдущим ядром через GRUB. ## Ролевые чек-листы - Для системного администратора: удостовериться в наличии резервного доступа (консоль KVM/serial), проверить политики автообновления, задокументировать изменения в системе управления конфигурацией.
- Для разработчика драйверов: вести патчи в git, тестировать на отдельной машине/виртуальной среде, включать отладочные опции ядра.
- Для встроенного инженера: использовать кросс-компиляцию, настроить конфигурацию для минимального набора драйверов, контролировать размер initramfs. ## Риск-матрица и меры смягчения | Риск | Вероятность | Влияние | Меры смягчения | |—|—:|—:|—| | Невозможность загрузки | Средняя | Высокое | Держите старое ядро в GRUB и доступ к консоли. | | Отсутствие зависимостей для сборки | Средняя | Среднее | Перед сборкой выполнить apt-get build-dep или установить libncurses5-dev и т.п. | | Неподходящая конфигурация для железа | Низкая | Высокое | Тестируйте на тестовом хосте; проверьте наличие модулей для сетевых/дисковых контроллеров. | | Ошибки в патчах (если используются) | Средняя | Высокое | Используйте контроль версий, сохраняйте чистые точки восстановления. | ## Примеры, когда кастомизация не оправдана - Нужен лишь новый модуль драйвера — достаточно собрать модуль отдельно или установить пакет.
- Система критична по времени работы (uptime) и требует минимальных изменений — лучше использовать проверенные дистрибутивные ядра.
## Критерии приёмки - Система загружается в целевом окружении без ошибок.
- Все требуемые устройства работают (сеть, диск, графика при необходимости).
- Size и initramfs соответствуют ожиданиям; заголовки установлены для сборки модулей.
## Глоссарий в одну строку - Ядро: центральная часть ОС, управляющая аппаратными ресурсами.
- initrd/initramfs: временная корневая файловая система, используемая при загрузке.
- GRUB: загрузчик, позволяющий выбрать версию ядра при старте.
- dpkg: менеджер пакетов Debian/Ubuntu.
- make-kpkg: утилита для сборки .deb пакетов ядра. ## Безопасность и конфиденциальность При изменении конфигурации ядра обратите внимание на параметры, влияющие на поверхность атаки (сетевые драйверы, файловые системы, возможности отладки). Удаляйте ненужные опции, но не отключайте механизмы защиты без тестов. ## Краткое резюме Кастомизация ядра полезна для специализированных задач, но требует аккуратности. Скопируйте текущую конфигурацию, изменяйте опции через make menuconfig, собирайте .deb пакеты и устанавливайте их. Всегда имеете план отката через GRUB. — Короткое объявление (анонс для RSS, ~120 слов): Я опубликовал пошаговое руководство по безопасной кастомизации ядра в Ubuntu. В статье показано, как установить исходники нужной версии, перенести существующую конфигурацию, отредактировать параметры через make menuconfig и собрать .deb пакеты с помощью make-kpkg. Также описаны меры предосторожности, чек-листы для разных ролей (системный администратор, разработчик, встроенный инженер) и матрица рисков с мерами смягчения. Если вы собираетесь минимизировать ядро для сервера или добавить поддержку специфичного железа — это руководство даст понятную последовательность действий и советы по откату в случае проблем.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Домашний Wi‑Fi через смартфон — быстро и безопасно
Руководство

Домашний Wi‑Fi через смартфон — быстро и безопасно

Office Tab — вкладки в Microsoft Office
Обзор ПО

Office Tab — вкладки в Microsoft Office

Отключить автозапуск эпизодов на Netflix
Руководство

Отключить автозапуск эпизодов на Netflix

Проверить поддержку RCS на Android
Мобильные приложения

Проверить поддержку RCS на Android

Установка Arch Linux с GNOME — руководство
Linux

Установка Arch Linux с GNOME — руководство

Проверить, заблокировали ли вас в Instagram
Социальные сети

Проверить, заблокировали ли вас в Instagram