Compileer Linux Kernel op CentOS7

Compile Linux Kernel Centos7



In dit artikel laat ik je zien hoe je de nieuwste Linux-kernelbron kunt downloaden van de officiële website van Linux-kernel , compileer de Linux-kernel vanaf de bron en gebruik de gecompileerde kernel op CentOS 7. Laten we beginnen.

Momenteel gebruikte kernel controleren:

Je kunt aan de volgende schermafbeelding zien dat ik CentOS 7 gebruik.









En de huidige kernelversie is 3.10







De vereisten installeren:

Om de nieuwste Linux-kernel vanaf de broncode op CentOS 7 te compileren, moet u een build-tool en enkele andere pakketten op uw CentOS 7-besturingssysteem hebben geïnstalleerd.

Voordat u iets installeert, voert u de volgende opdracht uit om de pakketcache bij te werken:



$sudo yum make-cache

Nu kun je de compilers en bibliotheken installeren die nodig zijn voor het compileren van de kernel met het volgende commando:

$sudo yum installerenncurses-ontwikkelenmaken gcc bcopenssl-devel

Druk op 'y' en druk vervolgens op om door te gaan.

De build-tools moeten worden geïnstalleerd.

Nu moet u het elfutils-pakket installeren. Voer de volgende opdracht uit om het te installeren:

$sudo yum installerenelfutils-libelf-devel

Druk op ‘y’ en druk op om verder te gaan.

'elfutils' moet worden geïnstalleerd.

Nu moet je rpm-build installeren met het volgende commando:

$sudo yum installerenrpm-build

Druk op 'y' en druk vervolgens op om door te gaan.

'rpm-build'-pakket moet worden geïnstalleerd.

De Linux-kernelbron downloaden:

Ga naar de officiële website van Linux Kernel op: https://www.kernel.org en je zou de volgende pagina moeten zijn.

Klik op de knop Laatste stabiele kernel zoals aangegeven op de onderstaande schermafbeelding.

Uw browser zou u moeten vragen om het bestand op te slaan. Klik gewoon op Bestand opslaan en klik op OK.

Je download zou moeten beginnen.


De kernel compileren:

Zodra het downloaden is voltooid, navigeert u naar de map waar u het bestand hebt gedownload. In mijn geval is dit de map Downloads in de HOME-map van mijn gebruiker.

$CD~/Downloads

Uit de uitvoer van 'ls' kun je zien dat het gedownloade bestand 'linux-4.14.10.tar.xz' is. Dat is een gecomprimeerd tar-bestand.

Pak nu het gecomprimeerde tar-bestand uit met de volgende opdracht:

$teerxvf linux-4.14.10.tar.xz

tar is het gecomprimeerde bestand aan het uitpakken.

Nadat het bestand is uitgepakt, zou u het volgende venster moeten zien.

Na extractie zou u een nieuwe map moeten zien zoals rood gemarkeerd in de onderstaande schermafbeelding. Navigeer naar de map met de volgende opdracht.

$CDlinux-4.14.10

Als u de volgende opdracht uitvoert, zou u een lijst met configuratiebestanden moeten zien die worden gebruikt door de kernels die op uw systeem zijn geïnstalleerd. U kunt de opdracht 'uname -r' uitvoeren om degene te vinden die u nodig hebt. De bestandsnaam moet overeenkomen met de uitvoer van de opdracht 'uname -r'.

Kopieer dan het configuratiebestand naar de linux-4.14.10 directory met het volgende commando:

$sudo cp -v /bagageruimte/config-3.10.0-693.el7.x86_64 .config

Voer nu het volgende commando uit:

$makenmenuconfig

U zou het volgende venster moeten zien. Hier kunt u bepaalde kernelfuncties in- of uitschakelen. Als u niet weet wat u hier moet doen, laat dan de standaardinstellingen staan.

Als u klaar bent, drukt u meerdere keren op de knop en gaat u naar zoals weergegeven in de onderstaande schermafbeelding. Druk vervolgens op .

Druk vervolgens nogmaals op.

Druk nogmaals op.

Navigeer nu naar en druk op

Het .config-bestand wordt bijgewerkt voor de nieuwe kernel.

Voordat je begint met het compileren van de nieuwe kernels, moet je ervoor zorgen dat je meer dan 20 GB vrije ruimte hebt op het bestandssysteem waarop je de kernel compileert.

U kunt controleren hoeveel ruimte u beschikbaar heeft met het volgende commando:

$df -H

Voer nu de volgende opdracht uit om het compilatieproces te starten:

$makenrpm-pkg

De kernel zou prima moeten compileren. Het zou lang moeten duren.

Na voltooiing zou u het volgende venster moeten zien. Er is een rpm-pakketbestand gemaakt in de thuismap van de gebruiker, zoals u kunt zien in de schermafbeelding.

De gegenereerde rpm-pakketbestanden.

Nu kunt u de volgende opdracht uitvoeren om de rpm-pakketten te installeren:

$sudotoeren-iUv~/rpmbuild/RPM/x86_64/ *.rpm

Nadat de installatie is voltooid, voert u de volgende opdracht uit om uw computer opnieuw op te starten.

$opnieuw opstarten

Zodra uw computer opstart, kunt u de volgende opdracht uitvoeren om de versie van de kernel te controleren die u momenteel gebruikt.

$je naam -R

U zou moeten zien dat dit de versie is die u zojuist hebt geïnstalleerd. Voor mij is het ‘4.14.10’.

Dus zo compileer je de nieuwste kernel vanaf de bron en gebruik je deze op CentOS 7. Bedankt voor het lezen van dit artikel.