'n Verandering is aan die systemd-stelselbestuurderkodebasis aangeneem, wat die vermoë bygevoeg het om komponente in Rust te skep. Rust is bedoel om slegs gebruik te word vir die ontwikkeling van nuwe komponente, en daar is geen planne om bestaande C-kode in Rust te herskryf nie. Die cargo-pakketbestuurder word nie meer in die bouproses gebruik nie, en slegs die Meson-boustelsel bly oor. Rust-kode word in "no_std"-modus gebruik (sonder die standaardbiblioteek), en slegs kern-, alloc- en libc-biblioteke word toegelaat.
Die systemd Rust-komponente is dinamies gekoppel aan die libsystemd-shared C-biblioteek. Rust-bindings vir libsystemd-shared word outomaties gegenereer tydens bou vanaf koplêers met behulp van die bindgen-hulpprogram en word beskikbaar gestel aan Rust-programme in die vorm van die systemd_shared-pakket. Dit vereis ten minste rustc 1.85 en bindgen 0.71.1, wat ooreenstem met die weergawes in Debian 13.
Die toets-Rust-uitvoerbare lêer, wanneer dit met LTO-optimalisering gebou word, neem 32 KB op, terwyl die C-ekwivalent 20 KB opneem. Standaard is Rust-ondersteuning slegs geaktiveer as die ooreenstemmende Rust-gereedskapsketting op die stelsel teenwoordig is (-Drust=auto). Die eerste komponent wat in Rust geskryf is, word ontwikkel, systemd-keyring-setup, wat nog nie in die hoof-systemd-kodebasis aangeneem is nie. Systemd-keyring-setup is ontwerp om X.509-sertifikate vir kernmeganismes te konfigureer en te bestuur. Linux dm-verity, fs-verity en bpf.
Bron: opennet.ru
