Wéi kompiléiere mir Linux Kernel op CentOS 7


E personaliséierte kompiléierten Linux Kernel auszeféieren ass ëmmer nëtzlech, besonnesch wann Dir sicht spezifesch Kernel Features z'aktivéieren oder auszeschalten, déi net an de Standardverdeelungsversuergte Kernel verfügbar sinn.

An dësem Artikel wäert ech erkläre wéi Dir déi lescht Linux Kernel aus de Quellen an der CentOS 7 Verdeelung kompiléiert a benotzt (Instruktioune hei ginn och Wierker op RHEL a Fedora).

Wann Dir net wëllt duerch dës komplexe Setup goen, da befollegt eisen einfachen Artikel deen erkläert Wéi installéiere oder Upgrade op Kernel op CentOS 7 mat Drëtt Partei RPM Repository.

Installéiert erfuerderlech Packagen fir Kernel Compilatioun

Als éischt, gitt sécher datt Dir Är Software Package Repositories aktualiséieren, d'Entwécklungsinstrumenter installéiere fir e Kernel ze kompiléieren an d'ncurses Bibliothéik mat dem folgenden yum Kommando z'installéieren.

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

Kompiléieren an installéieren Kernel am CentOS 7

Luet déi lescht Kernel 4.17 Quelle mat kernel.org erof.

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

Extraitéiert déi archivéiert Dateien a ännert Verzeichnisser mat de folgende Kommandoen.

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

Konfiguréiert de Kernel an CentOS 7

De Kernel muss korrekt konfiguréiert sinn mat de folgenden erfuerderleche Konfiguratiounsoptiounen am CentOS 7 Ëmfeld.

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

Ech proposéieren Iech staark ze kopéieren déi lafend Kernel Konfiguratioun (.config) aus dem /boot Verzeichnis an den neie Kernel Linux-4.17.11 Verzeichnis.

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

Fuert elo de Kommando make menuconfig fir de Linux Kernel ze konfiguréieren. Wann Dir de Kommando hei ënnen ausgefouert hutt, erschéngt eng Pop-up Fënster mat all de Menüen. Hei kënnt Dir verschidde Kernelfeatures aktivéieren oder deaktivéieren. Wann Dir dës Menue net kennt, klickt einfach op ESC Schlëssel fir auszeschléissen.

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

Wann Är Kernel Konfiguratiounsoptiounen agestallt sinn, klickt op Späicheren fir d'Konfiguratiounsinterface ze späicheren an aus dem Menü erauszekommen.

Kompiléiert de Kernel an CentOS 7

Ier Dir d'Kernelkompilatioun ufänkt, gitt sécher datt Äre System méi wéi 25GB fräi Plaz am Dateiesystem huet. Fir ze bestätegen, kënnt Dir de fräie Raum vum Dateisystem iwwerpréiwen andeems Dir df Kommando benotzt wéi gewisen.

# df -h

Elo kompiléieren an installéieren de Kernel a Moduler mat de folgende Kommandoen (et kann e puer Stonnen daueren). De Kompiléierungsprozess placéiert Dateien ënner /boot-Verzeichnis a maacht och en neie Kernel-Entrée an Ärer grub.conf Datei.

# make bzImage
# make modules
# make
# make install
# make modules_install

Wann d'Kompilatioun fäerdeg ass, restart de System a verifizéiert den nei installéierten Kernel.

# uname -sr

Dat ass et. Ech hoffen dësen Artikel wäert Iech all vill hëllefräich sinn. Wann Dir Problemer oder Schwieregkeeten konfrontéiert wärend Dir de Kernel kompiléiert oder installéiert, fillt Dir Iech gratis Är Froen ze stellen oder ze posten mat eisem Kommentarformular hei drënner.