Preskoči na vsebino

Razvoj jedra

Ta stran je v izdelavi.

KDE Linux ponuja popolno, vnaprej konfigurirano razvojno okolje za jedro. Dodatni paketi, vsebniki, virtualni računalniki ali chrooti niso potrebni. Razvoj jedra sledi standardnim delovnim potekom Linuxa, z majhnim številom korakov integracije, specifičnih za KDE Linux, ki so pojasnjeni spodaj.

Osnovna dokumentacija

Razvoj jedra v KDE Linuxu sledi praksam predhodnega Linuxa. Preden nadaljujete, je zelo priporočljivo, da se seznanite z uradno dokumentacijo jedra Linuxa:

Ti dokumenti opisujejo proces razvoja, slog kodiranja, sistem gradnje in (neobvezno) podporo za Rust, ki jo uporablja jedro.

Predpogoji

KDE Linux uporablja datotečni sistem /usr, ki je samo za branje. Vsa jedra po meri, moduli jedra ali sorodni artefakti morajo biti nameščeni prek zapisljivega prekrivnega sloja.

Preden nadaljujete, morate nastaviti sistemsko razširitev systemd (sysext), da omogočite preglasitev vsebine v /usr.

Ta korak je obvezen. Vse slike jedra in moduli, zgrajeni v tem priročniku, so nameščeni v sysext in nato združeni v živi sistem.

Kloniranje jedra Linuxa

Klonirajte osnovni repozitorij jedra Linuxa z uporabo programa Git:

git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux

Po potrebi lahko klonirate tudi določeno stabilno ali razvojno vejo.

Konfiguracija jedra

Začnete lahko s privzeto konfiguracijo za vašo arhitekturo:

make defconfig

Za prilagoditev konfiguracije uporabite enega od standardnih vmesnikov za konfiguracijo jedra:

make menuconfig
make nconfig
make xconfig

Vsi koraki konfiguracije so enaki kot pri osnovnem razvoju jedra Linuxa.

Gradnja jedra

Zgradite jedro z uporabo standardnega sistema za gradnjo:

make -j$(nproc)

To ustvari sliko jedra in module v drevesu gradnje.

Nameščanje v sysext

Namesti module jedra v prekrivni sloj sysext:

make INSTALL_MOD_PATH="$HOME/kde/usr" modules_install

Določi različico jedra in namesti sliko jedra:

version=$(make -s kernelrelease)
install -Dm644 "$(make -s image_name)" \
  "$HOME/kde/usr/lib/modules/$version/vmlinuz"

Osveži sistemsko razširitev systemd, da bo sistem videl novo jedro in module:

run0 systemd-sysext refresh

Ponovna izgradnja slik EFI

Po namestitvi jedra v sysext ponovno zgradi artefakte EFI na podlagi posodobljene vsebine datoteke /usr:

run0 /usr/lib/rebuild-efi

Ta korak ustvari novo poenoteno sliko jedra (Unified Kernel Image - UKI).

Nameščanje slike Unified Kernel Image

Namestite ustvarjeni UKI v sistemsko particijo EFI:

run0 cp kde-linux.efi /boot/EFI/Linux/

Novo jedro se bo v systemd-boot prikazalo kot vnos brez različic in ga bo mogoče izbrati ob naslednjem zagonu.


Članek je prispeval z dovoljenjem CC-BY-4.0.