Часть V. Системные трюки, или Linux изнутри
Рис. 20.6.
Ubuntu 17.04: сохранить изменения в конфигурации ядра?
20.3.4. Компиляция ядра
После настройки ядра конфигуратор сообщит, что для построения ядра нужно
ввести команду
make
(рис. 20.7), а для вывода справки —
make help.
Спешить с вводом команды
make
мы пока не будем — это можно сделать всегда.
Гораздо правильнее сначала очистить дерево исходного кода и сбросить параметры
kernel-package, а затем собрать ядро, используя команду
fakeroot
,
что позволит от-
компилировать ядро от имени обычного пользователя, а не root (рис. 20.8 и 20.9):
$ make-kpkg clean
$ fakeroot make-kpkg —initrd —revision=l.0.
DEN
kernel_image kernel_headers
Разберемся, какие параметры мы передаем команде
make-kpkg
(именно она компи-
лирует ядро):
□
--initrd
— создает initrd-образ;
□
--revision
— версия вашего ядра (можете указать здесь все, что вам хочется);
□
kernei image
— создает Debian-пакет, содержащий образ ядра и все модули,
сконфигурированные в файле
.config
(файл конфигурации ядра, созданный
командой
make menuconfig
);
□
kernei headers
— создает Debian-пакет, содержащий образ заголовков ядра Linux.
Позволю себе еще несколько замечаний относительно предлагаемого мною решения:
□ мы не просто компилируем ядро на этой машине, как нам предложил конфигу-
ратор (если бы мы ввели команду
make),
а создаем пакет с ядром, который может
Глава 20. Ядро
367
быть установлен на нескольких однотипных машинах, где нужно такое же ядро.
Это существенно экономит время, поскольку не придется «собирать» ядро на
каждой из машин;
□ мы используем команду
fakeroot,
чтобы откомпилировать ядро от имени обыч-
ного пользователя, а не root. Если вы заметили, мы также не задействуем каталог
/usr/src/linux, как требовалось ранее. Все действия происходят в домашнем ката-
логе пользователя, поэтому собрать собственное ядро может любой пользова-
тель, и для этого ему не нужны права root, и он даже не должен быть вписан
в файл sudoers. По сути, права root понадобятся вам только при установке полу-
ченных пакетов.
Время, необходимое для сборки ядра, зависит от производительности компьютера
и конфигурации ядра. Так, на четырехъядерной машине с 4 Гбайт оперативной па-
мяти компиляция ядра заняла около двух часов, а на двухъядерной машине
с 2 Гбайт оперативки — примерно 4,5 часа. Если машина слабее, то процедура эта,
соответственно, займет больше времени. Так что, запасайтесь терпением. В любом
случае, у вас есть как минимум час свободного времени, чтобы заняться чем-либо
полезным.
По окончании процесса компиляции в вашем домашнем каталоге будет создано два
Debian-пакета:
linux-headers
и
linux-image.
Точное название этих пакетов зависит от
версии ядра, архитектуры и указанного названия релиза.
Файлы получились довольно большими: пакет с ядром (
linux-image
) — 42 Мбайт,
а пакет с заголовками (
linux-headers
) — 770 Мбайт.
Рис. 20.7.
Конфигурация сохранена
368
Do'stlaringiz bilan baham: |