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:
- https://docs.kernel.org/
- https://docs.kernel.org/process/
- https://docs.kernel.org/kbuild/
- https://docs.kernel.org/rust/
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 Andrew Gigena z dovoljenjem CC-BY-4.0.