Utveckla eller avlusa kärnan
Sidan är pågående arbete.
KDE Linux tillhandahåller en komplett, förinställd kärnutvecklingsmiljö direkt. Inga ytterligare paket, behållare, virtuella maskiner eller chroot krävs. Kärnutveckling följer vanliga uppströms Linux-arbetsflöden, med ett litet antal integrationssteg specifika för KDE Linux som förklaras nedan.
Uppströms dokumentation
Kärnutveckling av KDE Linux följer uppströms Linux-metoder. Innan du fortsätter rekommenderas det starkt att du bekantar dig med den officiella Linux-kärndokumentationen:
- https://docs.kernel.org/
- https://docs.kernel.org/process/
- https://docs.kernel.org/kbuild/
- https://docs.kernel.org/rust/
Dokumenten beskriver utvecklingsprocessen, kodningsstilen, byggsystemet och (valfritt) Rust-stödet som används av kärnan.
Förutsättningar
KDE Linux använder ett skrivskyddat /usr filsystem. Alla anpassade kärnor, kärnmoduler eller relaterade artefakter måste installeras via skrivbar överlagring.
Innan du fortsätter måste du anpassa ett systemd-systemtillägg (sysext) för att tillåta att innehållet i /usr överskrids.
Steget är obligatoriskt. Alla kärnavbildningar och moduler som byggts i den här handledningen installeras i sysext och sammanfogas sedan med det befintliga systemet.
Checka ut Linux-kärnan
Checka ut Linux uppströms kärnarkiv med Git:
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git cd linux
Du kan också checka ut en specifik stabil eller utvecklingsgren om det behövs.
Konfigurering av kärnan
Du kan börja från standardinställningen för arkitekturen:
make defconfig
För att anpassa inställningen, använd ett av standardgränssnitten för kärninställning:
make menuconfig make nconfig make xconfig
Alla inställningssteg är identiska med utveckling av uppströms Linux-kärnan.
Bygga kärnan
Bygg kärnan med det vanliga byggsystemet:
make -j$(nproc)
Det skapar kärnavbilden och modulerna i byggträdet.
Installera i sysext
Installera kärnmodulerna i sysext-överlagringen:
make INSTALL_MOD_PATH="$HOME/kde/usr" modules_install
Bestäm kärnans version och installera kärnavbilden:
version=$(make -s kernelrelease) install -Dm644 "$(make -s image_name)" \ "$HOME/kde/usr/lib/modules/$version/vmlinuz"
Uppdatera systemtillägget i systemd så att systemet ser den nya kärnan och modulerna:
run0 systemd-sysext refresh --always-refresh=yes
Bygga om EFI-avbilder
Efter att du har installerat kärnan i sysext, återskapa EFI-artefakterna baserat på det uppdaterade innehållet i /usr:
run0 /usr/lib/rebuild-efi
Steget genererar en ny enhetlig kärnavbild (UKI).
Installera den enhetliga kärnavbilden
Installera genererad UKI i EFI-systempartitionen:
run0 cp kde-linux.efi /boot/EFI/Linux/
Den nya kärnan visas som en post utan version i systemd-boot och kan väljas vid nästa start.
Artikel bidragen av Andrew Gigena med licens CC-BY-4.0.