Weboldal keresés

Hogyan fordítsunk Linux kernelt a CentOS 7 rendszeren


Egyedileg lefordított Linux kernel futtatása mindig hasznos, különösen akkor, ha bizonyos kernelfunkciókat szeretne engedélyezni vagy letiltani, amelyek nem érhetők el az alapértelmezett disztribúció által biztosított kernelekben.

Ebben a cikkben elmagyarázom, hogyan kell lefordítani és használni a legújabb Linux kernelt a CentOS 7 disztribúció forrásaiból (az itt található utasítások a RHEL és a Fedora művekre is vonatkoznak ).

Ha nem szeretné végigmenni ezeken az összetett beállításokon, kövesse az egyszerű cikkünket, amely elmagyarázza, hogyan kell telepíteni vagy frissíteni a kernelre a CentOS 7 rendszeren harmadik féltől származó RPM-tárral.

Telepítse a szükséges csomagokat a kernelfordításhoz

Először is frissítse a szoftvercsomagok tárolóit, telepítse a kernel fordításához szükséges fejlesztőeszközöket, és telepítse az ncurses könyvtárat a következő yum paranccsal.

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

Fordítsa le és telepítse a kernelt a CentOS 7 rendszerben

Töltse le a legújabb kernel 4.17 forrásokat a wget paranccsal az /usr/src/ könyvtárban, vagy letöltheti a legújabb kernelt is a kernel.org webhelyről.

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

Bontsa ki az archivált fájlokat, és módosítsa a könyvtárakat a következő parancsokkal.

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

Konfigurálja a kernelt a CentOS 7 rendszerben

A kernelt megfelelően konfigurálni kell a következő szükséges konfigurációs beállításokkal a CentOS 7 környezetben.

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

Erősen javaslom, hogy másolja át a futó kernel konfigurációt (.config) a /boot könyvtárból az új kernel linux-4.17.11 könyvtárába.

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

Most futtassa a make menuconfig parancsot a Linux kernel beállításához. Az alábbi parancs végrehajtása után egy felugró ablak jelenik meg az összes menüvel. Itt engedélyezhet vagy letilthat bizonyos kernelfunkciókat. Ha nem ismeri ezeket a menüket, egyszerűen nyomja meg az ESC billentyűt a kilépéshez.

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

Miután beállította a kernel konfigurációs beállításait, kattintson a Mentés gombra a konfigurációs felület mentéséhez és a menüből való kilépéshez.

Fordítsa le a kernelt a CentOS 7 rendszerben

A kernelfordítás megkezdése előtt győződjön meg arról, hogy a rendszerén több mint 25 GB szabad hely van a fájlrendszeren. A megerősítéshez ellenőrizze a fájlrendszer szabad területét a df paranccsal az ábrán látható módon.

df -h

Most fordítsa le és telepítse a kernelt és a modulokat a következő parancsokkal (több órát is igénybe vehet). A fordítási folyamat a fájlokat a /boot könyvtárba helyezi, és a grub.conf fájlba is írjon be egy új kernelbejegyzést.

make bzImage
make modules
make
make install
make modules_install

A fordítás befejezése után indítsa újra a rendszert, és ellenőrizze az újonnan telepített kernelt.

uname -sr

Ez az. Remélem, hogy ez a cikk sok hasznos segítség lesz mindannyiunk számára. Ha bármilyen problémával vagy nehézséggel szembesül a kernel fordítása vagy telepítése során, nyugodtan tegye fel vagy tegye fel kérdéseit az alábbi megjegyzés űrlapunk segítségével.