Sådan kompileres Linux-kerne på CentOS 7


At køre en brugerdefineret kompileret Linux-kerne er altid nyttig, især når du ønsker at aktivere eller deaktivere specifikke kernefunktioner, som ikke er tilgængelige i standarddistribuerede kerner.

I denne artikel vil jeg forklare, hvordan man kompilerer og bruger den nyeste Linux-kerne fra kilderne i CentOS 7-distributionen (instruktionerne, der gives her, fungerer også på RHEL og Fedora).

Hvis du ikke vil gennemgå denne komplekse opsætning, skal du følge vores nemme artikel, der forklarer, hvordan du installerer eller opgraderer til kernen på CentOS 7 ved hjælp af tredjeparts RPM-arkiv.

Installer krævede pakker til kernekompilering

Først skal du sørge for at opdatere dine softwarepakkelagre, installere de nødvendige udviklingsværktøjer til kompilering af en kerne og installere ncurses-biblioteket ved hjælp af følgende yum-kommando.

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

Kompilér og installer kerne i CentOS 7

Download de nyeste Kernel 4.17 kilder ved hjælp af kernel.org.

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

Uddrag de arkiverede filer og skift mapper ved hjælp af følgende kommandoer.

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

Konfigurer kernen i CentOS 7

Kernen skal være korrekt konfigureret med følgende nødvendige konfigurationsindstillinger i CentOS 7-miljøet.

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

Jeg foreslår kraftigt, at du kopierer den kørende Kernel-konfiguration ( .config ) fra/boot-biblioteket til den nye kernel linux-4.17.11-mappe.

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

Kør nu kommandoen make menuconfig for at konfigurere Linux-kernen. Når du har udført nedenstående kommando, vises et pop op-vindue med alle menuerne. Her kan du aktivere eller deaktivere bestemte kernefunktioner. Hvis du ikke kender disse menuer, skal du bare trykke på ESC -tasten for at afslutte.

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

Når dine kernekonfigurationsindstillinger er indstillet, skal du klikke på Gem for at gemme konfigurationsgrænsefladen og afslutte menuen.

Kompilér kernen i CentOS 7

Før du starter kernekompilering, skal du sørge for, at dit system har mere end 25 GB ledig plads på filsystemet. For at bekræfte kan du kontrollere filsystemets ledige plads ved hjælp af df-kommandoen som vist.

# df -h

Kompilér og installer nu kernen og modulerne ved hjælp af følgende kommandoer (det kan tage flere timer). Kompileringsprocessen placerer filer under/boot-biblioteket og opretter også en ny kerneindgang i din grub.conf-fil.

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

Når kompileringen er afsluttet, skal du genstarte systemet og kontrollere nyinstalleret kerne.

# uname -sr

Det er det. Jeg håber, at denne artikel vil være meget nyttigt for jer alle. Hvis du har problemer eller problemer under kompilering eller installation af kerne, er du velkommen til at stille eller stille dine spørgsmål ved hjælp af vores kommentarformular nedenfor.