Pojawia się dziewiąta wersja Rust dla Linuksa, która pożegna się z obsługą wersji wcześniejszych od Linuksa 3.2

Wow, praca Obsługa sterowników Rust dla Linuksa jest już w toku i rozpoczął się dość ciągły rozwój, ponieważ nie ma zbyt wiele do ogłoszono wersję 8 łatek i tyle teraz mamy wersję 9.

I to właśnie w tej dziewiątej wersji, która została zaproponowana, warto wspomnieć, że jako taka jest to uproszczona wersja ósmego wydania opublikowanego kilka dni temu. Zestaw wyróżnia się znacznym zmniejszeniem rozmiaru oraz pozostawieniem tylko najpotrzebniejszego minimum, wystarczającego do zbudowania modułu jądra napisanego w Rust.

Zakłada się minimalną łatkę ułatwi zaadoptowanie obsługi Rusta w głównym jądrze. Po zapewnieniu minimalnego wsparcia planowane jest stopniowe zwiększanie istniejącej funkcjonalności, przenoszenie innych zmian z gałęzi Rust-for-Linux.

Oto seria łatek (v9), które dodają obsługę Rust jako drugiego języka do jądra Linuksa…

Jak zwykle specjalne podziękowania dla ISRG (Internet Security Research Group) i Google za wsparcie finansowe w tym przedsięwzięciu.

W porównaniu do wersji 8 rozmiar poprawki został zmniejszony z 40 000 do 13 000 linii kodu. Na przykład wersja 3 zawiera tylko 500% kodu (60 linii) pakietu box "kernel" i 32% biblioteki alloc, co pozwala na tworzenie najprostszych modułów jądra przy użyciu typu Vec. i wyświetlanie informacji w dzienniku jądra za pomocą makra "pr_info!".

Ponadto W odniesieniu do Rusta i Linuksa warto wspomnieć, że ostatnio Ostrzegali twórcy projektu Rust dla użytkowników o zbliżający się wzrost wymagań dla środowiska Linux w kompilatorze, menedżerze pakietów Cargo i standardowej bibliotece libstd.

Od Rust 1.64, zaplanowane na 22 września 2022, minimalne wymagania dla Glibc zostaną podniesione z wersji 2.11 do 2.17, a jądro Linuksa z 2.6.32 do 3.2. Ograniczenia dotyczą również binariów Rusta zbudowanych za pomocą libstd.

Dystrybucje RHEL 7, SLES 12-SP5, Debian 8 i Ubuntu 14.04 spełniają nowe wymagania. Wsparcie dla RHEL 6, SLES 11-SP4, Debian 7 i Ubuntu 12.04 zostanie wycofane. Przyczyny wycofania wsparcia dla starszych systemów Linux obejmują ograniczone zasoby do dalszego wspierania starszych środowisk.

Po co zwiększać wymagania?
Chcemy, aby Rust i binaria produkowane przez Rusta były jak najszerzej używane. Jednocześnie projekt Rust ma ograniczone zasoby, aby zachować kompatybilność ze starszymi środowiskami.

Wymagania dotyczące toolchaina składają się z dwóch części: minimalne wymagania dotyczące uruchamiania kompilatora Rusta w systemie hosta oraz minimalne wymagania dotyczące skompilowanych plików binarnych.

Minimalne wymagania dotyczące łańcuchów narzędzi hosta wpływają na nasz system kompilacji. Rust CI wytwarza binarne artefakty dla dziesiątek różnych celów. Budowanie plików binarnych, które obsługują starsze wersje glibc, wymaga zbudowania systemu operacyjnego ze starszą biblioteką glibc (dla kompilacji natywnych) lub użycia katalogu głównego kompilacji ze starszą wersją glibc (dla kompilacji krzyżowych).

W szczególności kompatybilność ze starszymi Glibcs ​​wymaga użycia starszych narzędzi po weryfikacji w systemie ciągłej integracji, w porównaniu ze zwiększonymi wymaganiami dotyczącymi wersji na LLVM i narzędziach do kompilacji krzyżowej. Wzrost wymagań dotyczących wersji jądra wynika z możliwości używania przez libstd nowych wywołań systemowych bez konieczności utrzymywania warstw w celu zapewnienia kompatybilności ze starszymi jądrami.

Użytkownicy korzystający z plików wykonywalnych stworzonych przez Rusta w środowiskach ze starszymi jądrami Linux powinni zaktualizować swoje systemy, pozostać na starszych wersjach kompilatora lub utrzymywać własny warstwowy widelec libstd w celu zachowania kompatybilności.

Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w poniższy link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.