Systemd sistem meneceri kod bazasında dəyişiklik tətbiq edildi və Rust-da komponentlər yaratmaq imkanı əlavə edildi. Rust yalnız yeni komponentlərin hazırlanması üçün istifadə edilməsi nəzərdə tutulur və mövcud C kodunu Rust-da yenidən yazmaq planları yoxdur. Yük paketi meneceri artıq qurulma prosesində istifadə edilmir və yalnız Meson qurulma sistemi qalır. Rust kodu "no_std" rejimində (standart kitabxana olmadan) istifadə olunur və yalnız core, alloc və libc kitabxanalarına icazə verilir.
systemd Rust komponentləri libsystemd-shared C kitabxanasına dinamik şəkildə bağlıdır. libsystemd-shared üçün Rust bindings, bindgen yardım proqramından istifadə edərək başlıq fayllarından qurulma zamanı avtomatik olaraq yaradılır və Rust proqramlarına systemd_shared paketi şəklində təqdim olunur. Bunun üçün ən azı rustc 1.85 və bindgen 0.71.1 versiyaları tələb olunur, bu da aşağıdakı versiyalara uyğundur. Debian 13.
LTO optimallaşdırmaları ilə qurulduqda test Rust icra edilə bilən faylı 32 KB, C ekvivalenti isə 20 KB tutur. Varsayılan olaraq, Rust dəstəyi yalnız sistemdə müvafiq Rust alət zənciri mövcud olduqda aktiv olur (-Drust=auto). Rust dilində yazılmış ilk komponent, hələ əsas systemd kod bazasına qəbul edilməmiş systemd-keyring-setup hazırlanır. Systemd-keyring-setup, nüvə mexanizmləri üçün X.509 sertifikatlarını konfiqurasiya etmək və idarə etmək üçün hazırlanmışdır. Linux dm-verity, fs-verity və bpf.
Mənbə: opennet.ru
