Kuidas kompileerida Linuxi kernelit CentOS 7-s


Kohandatud kompileeritud Linuxi kerneli käitamine on alati kasulik, eriti kui soovite lubada või keelata spetsiifilisi kerneli funktsioone, mis pole levitamise vaikimisi tuumades saadaval.

Selles artiklis selgitan, kuidas koostada ja kasutada uusimat Linuxi tuuma CentOS 7 levitamise allikatest (siin toodud juhised töötavad ka RHELi ja Fedora kohta).

Kui te ei soovi neid keerukaid seadistusi läbi viia, järgige meie lihtsat artiklit, mis selgitab, kuidas installida või uuendada kernelit CentOS 7-s kolmanda osapoole RPM-i hoidla abil.

Installige kerneli kompileerimiseks vajalikud paketid

Esmalt värskendage oma tarkvarapaketi hoidlaid, installige kerneli kompileerimiseks vajalikud arendustööriistad ja installige ncurses'i teek järgmise käsuga yum.

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

Kompileerige ja installige kernel CentOS 7-sse

Laadige alla uusimad Kernel 4.17 allikad, kasutades kernel.org.

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

Eemaldage arhiivitud failid ja muutke katalooge järgmiste käskude abil.

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

Konfigureerige kernel CentOS 7-s

Kernel peab CentOS 7 keskkonnas olema õigesti konfigureeritud järgmiste vajalike seadistusvõimalustega.

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

Soovitan tungivalt kopeerida töötav kerneli konfiguratsioon ( .config ) kataloogist/boot uude kataloogi kernel linux-4.17.11.

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

Nüüd käivitage Linuxi kerneli konfigureerimiseks käsk make menuconfig . Kui olete alloleva käsu käivitanud, ilmub kõigi menüüdega hüpikaken. Siin saate lubada või keelata teatud kerneli funktsioonid. Kui te pole neile menüüdele tuttav, vajutage väljumiseks lihtsalt klahvi ESC .

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

Kui teie tuuma seadistamisvalikud on määratud, klõpsake konfiguratsiooniliidese salvestamiseks ja menüüst väljumiseks nuppu Salvesta.

Kompileerige kernel CentOS 7-s

Enne tuuma kompileerimise alustamist veenduge, et teie süsteemis oleks failisüsteemis rohkem kui 25 GB vaba ruumi. Kinnitamiseks võite failisüsteemi vaba ruumi kontrollida käsu df abil, nagu näidatud.

# df -h

Nüüd kompileerige ja installige kernel ja moodulid järgmiste käskude abil (see võib võtta mitu tundi). Kompileerimisprotsess paigutab failid kataloogi/boot alla ja teeb ka uue kernelikirje teie faili grub.conf.

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

Kui kompileerimine on lõpule jõudnud, taaskäivitage süsteem ja kontrollige äsja installitud kernelit.

# uname -sr

See on kõik. Loodan, et sellest artiklist on teile kõigile palju abi. Kui teil on tuuma kompileerimisel või installimisel probleeme või raskusi, küsige või postitage oma küsimusi, kasutades meie allolevat kommentaarivormi.