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