Kako kompajlirati Linux kernel na CentOS 7
Pokretanje prilagođeno kompilirane jezgre Linuxa uvijek je korisno, posebno kada želite omogućiti ili onemogućiti određene značajke jezgre, koje nisu dostupne u jezgrama zadane distribucije.
U ovom ću članku objasniti kako kompajlirati i koristiti najnoviju jezgru Linuxa iz izvora u distribuciji CentOS 7 (upute navedene ovdje također rade na RHEL i Fedora ).
Ako ne želite prolaziti kroz ova složena podešavanja, slijedite naš jednostavan članak koji objašnjava kako instalirati ili nadograditi kernel na CentOS 7 pomoću RPM repozitorija treće strane.
Instalirajte potrebne pakete za kompilaciju kernela
Najprije ažurirajte repozitorije svojih softverskih paketa, instalirajte razvojne alate potrebne za kompajliranje kernela i instalirajte biblioteku ncurses pomoću sljedeće naredbe yum.
yum update
yum install -y ncurses-devel make gcc bc bison flex elfutils-libelf-devel openssl-devel grub2
Kompajlirajte i instalirajte kernel u CentOS 7
Preuzmite najnovije izvore kernela 4.17 pomoću naredbe wget u direktoriju /usr/src/ ili također možete preuzeti najnoviji kernel odlaskom na kernel.org.
cd /usr/src/
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.11.tar.xz
Izdvojite arhivirane datoteke i promijenite direktorije pomoću sljedećih naredbi.
tar -xvf linux-4.17.11.tar.xz
cd linux-4.17.11/
Konfigurirajte kernel u CentOS 7
Kernel mora biti ispravno konfiguriran sa sljedećim potrebnim opcijama konfiguracije unutar okruženja CentOS 7.
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
Preporučujem vam da kopirate pokrenutu konfiguraciju jezgre (.config
) iz /boot direktorija u novi kernel linux-4.17.11 direktorij.
cp -v /boot/config-3.10.0-693.5.2.el7.x86_64 /usr/src/linux-4.17.11/.config
Sada pokrenite naredbu make menuconfig
da biste konfigurirali Linux kernel. Nakon što izvršite naredbu u nastavku, pojavit će se skočni prozor sa svim izbornicima. Ovdje možete omogućiti ili onemogućiti određene značajke jezgre. Ako niste upoznati s ovim izbornicima, samo pritisnite tipku ESC
za izlaz.
cd /usr/src/linux-4.17.11/
make menuconfig
Nakon što postavite opcije konfiguracije kernela, kliknite na Spremi da biste spremili konfiguracijsko sučelje i izašli iz izbornika.
Kompajlirajte kernel u CentOS 7
Prije početka kompilacije kernela, provjerite ima li vaš sustav više od 25 GB slobodnog prostora u datotečnom sustavu. Za potvrdu možete provjeriti slobodan prostor u datotečnom sustavu pomoću naredbe df kao što je prikazano.
df -h
Sada kompajlirajte i instalirajte kernel i module pomoću sljedećih naredbi (može potrajati nekoliko sati). Proces kompilacije smješta datoteke u direktorij /boot i također pravi novi unos kernela u vašoj datoteci grub.conf.
make bzImage
make modules
make
make install
make modules_install
Nakon što kompilacija završi, ponovno pokrenite sustav i provjerite novo instaliranu jezgru.
uname -sr
To je to. Nadam se da će vam ovaj članak svima biti od velike pomoći. Ako se suočite s bilo kakvim problemima ili poteškoćama tijekom kompajliranja ili instaliranja kernela, slobodno postavite ili objavite svoja pitanja koristeći naš obrazac za komentare u nastavku.