Bij het compileren van een aangepaste kernelmodule op Linux-systemen, is het nodig dat we kernelheaderbestanden op het systeem hebben geïnstalleerd die de c-headerbestanden voor de respectieve Linux-kernel bevatten. De kernelheaderbestanden bieden verschillende soorten functies. Ze zijn in een notendop een samenvatting van de instructies die een toepassing nodig heeft om de kernelmodules te maken, zodat zonder toegang tot de kernelheaders veel programma's niet kunnen functioneren zoals verwacht op Linux.
Wanneer een toepassing toegang heeft tot de eigenlijke kernelcode om de kernelmodules te maken, in tegenstelling tot de binaire vorm, staat dit bekend als toegang hebben tot de kernelheader. Via deze tutorial gaan we zien hoe je deze headers op een eenvoudige en functionele manier in CentOS 7 kunt installeren.
Om dit te bereiken, is het nodig om de functie Kernel Headers te installeren, en hiervoor moeten we controleren of deze overeenkomt met de versie van de kernel die momenteel in het besturingssysteem is geïnstalleerd. Dus als de kernelversie wordt geleverd met de standaard distributie-installatie of als we de kernel hebben bijgewerkt met behulp van de yum-pakketbeheerder uit de basissysteemrepository's, is het nodig om de overeenkomende kernelheaders te installeren met alleen de pakketbeheerder.
Stap 1
Eerst gaan we bevestigen dat de overeenkomende kernelheaders al zijn geïnstalleerd in het /usr/src/kernels/pad in CentOS 7 en we verifiëren dit met de volgende commando's:
cd / usr / src / kernels / ls -lHet resultaat zal het volgende zijn:
Stap 2
Als er in het resultaat geen overeenkomende kernelheaders zijn in de directory /usr /src /kernels /, gaan we de kernelheaders installeren, die wordt verkregen via het kernel-devel-pakket dat als volgt kan worden geïnstalleerd met behulp van de pakketbeheerderstandaard :
yum installeer kernel-devel (CentOS / RHEL 7) dnf installeer kernel-devel (Fedora)
Stap 3
Daar voeren we de letter y in om de download en installatie van het pakket te bevestigen.
Na het installeren van het pakket kernel-devel, kunnen we alle kernelheaderbestanden in de directory /usr /src /kernels plaatsen met de volgende opdracht:
ls -l / usr / src / kernels /
Daar kunnen we specifieke details van de kernel zien.
Stap 4
Als het nu nodig is om header-bestanden te hebben voor de Linux-kernel die door glibc moet worden gebruikt, moeten we het kernel-header-pakket installeren met de volgende opdracht.
yum installeer kernel-headers (CentOS / RHEL 7) dnf installeer kernel-headers (Fedora)We hebben dus geleerd om eenvoudig kernelheaders in CentOS 7 te installeren.