Systemd sistēmas pārvaldnieka koda bāzē ir ieviestas izmaiņas, pievienojot iespēju veidot komponentus Rust vidē. Rust ir paredzēts izmantot tikai jaunu komponentu izstrādei, un nav plānu pārrakstīt esošo C kodu Rust vidē. Kargo pakotņu pārvaldnieks vairs netiek izmantots būvēšanas procesā, un paliek tikai Meson būvēšanas sistēma. Rust kods tiek izmantots režīmā "no_std" (bez standarta bibliotēkas), un ir atļautas tikai core, alloc un libc bibliotēkas.
Systemd Rust komponenti ir dinamiski saistīti ar libsystemd-shared C bibliotēku. Rust saistījumi libsystemd-shared tiek automātiski ģenerēti būvēšanas laikā no galvenes failiem, izmantojot bindgen utilītu, un ir pieejami Rust programmām systemd_shared pakotnes veidā. Tam nepieciešama vismaz rustc 1.85 un bindgen 0.71.1 versija, kas atbilst versijām. Debian 13.
Testa Rust izpildfails, veidots ar LTO optimizācijām, aizņem 32 KB, savukārt C ekvivalents — 20 KB. Pēc noklusējuma Rust atbalsts ir iespējots tikai tad, ja sistēmā ir atbilstošā Rust rīku ķēde (-Drust=auto). Tiek izstrādāta pirmā Rust valodā rakstītā komponente systemd-keyring-setup, kas vēl nav ieviesta galvenajā systemd koda bāzē. Systemd-keyring-setup ir paredzēts X.509 sertifikātu konfigurēšanai un pārvaldībai kodola mehānismiem. Linux dm-verity, fs-verity un bpf.
Avots: opennet.ru
