Поиск по сайту:

Как скомпилировать ядро Linux на CentOS 7


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

В этой статье я объясню, как скомпилировать и использовать последнюю версию ядра Linux из исходных кодов в дистрибутиве CentOS 7 (приведенные здесь инструкции также подходят для RHEL и Fedora). ).

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

Установите необходимые пакеты для компиляции ядра

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

yum update
yum install -y ncurses-devel make gcc bc bison flex elfutils-libelf-devel openssl-devel grub2

Скомпилируйте и установите ядро в CentOS 7.

Загрузите последние исходные коды ядра 4.17 с помощью команды wget в каталоге /usr/src/ или вы также можете загрузить последнюю версию ядра, перейдя на kernel.org.

cd /usr/src/
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.11.tar.xz

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

tar -xvf linux-4.17.11.tar.xz
cd linux-4.17.11/

Настройте ядро в CentOS 7

Ядро должно быть правильно настроено со следующими обязательными параметрами конфигурации в среде CentOS 7.

CONFIG_KVM_GUEST=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_BLK_DEV_SD
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_NET=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y

Я настоятельно рекомендую вам скопировать текущую конфигурацию ядра (.config) из каталога /boot в новый каталог ядра linux-4.17.11.

cp -v /boot/config-3.10.0-693.5.2.el7.x86_64 /usr/src/linux-4.17.11/.config

Теперь запустите команду make menuconfig, чтобы настроить ядро Linux. После выполнения приведенной ниже команды появится всплывающее окно со всеми меню. Здесь вы можете включить или отключить определенные функции ядра. Если вы не знакомы с этими меню, просто нажмите клавишу ESC, чтобы выйти.

cd /usr/src/linux-4.17.11/
make menuconfig

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

Скомпилируйте ядро в CentOS 7.

Прежде чем начинать компиляцию ядра, убедитесь, что в вашей файловой системе имеется более 25 ГБ свободного места. Для подтверждения вы можете проверить свободное место в файловой системе с помощью команды df, как показано.

df -h

Теперь скомпилируйте и установите ядро и модули, используя следующие команды (это может занять несколько часов). В процессе компиляции файлы помещаются в каталог /boot, а также создается новая запись ядра в файле grub.conf.

make bzImage
make modules
make
make install
make modules_install

После завершения компиляции перезагрузите систему и проверьте вновь установленное ядро.

uname -sr

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