Den nionde versionen av Rust för Linux anländer och säger adjö till stöd för versioner före Linux 3.2

Wow, jobbet för Rostdrivrutinsstöd för Linux är nu på gång och en ganska kontinuerlig utveckling har börjat, eftersom den inte har mycket att göra version 8 tillkännagavs av plåstren och det är allt just nu har vi version 9.

Och det är att i denna nionde version som har föreslagits är det värt att nämna det som sådan det är en förenklad version av den åttonde upplagan som publicerades för några dagar sedan. Satsen kännetecknas av en betydande minskning i storlek och genom att endast lämna det mest nödvändiga minimum, tillräckligt för att bygga en kärnmodul skriven i Rust.

Minsta patch antas kommer att göra det lättare att använda Rust-stöd i huvudkärnan. Efter att ha tillhandahållit minimalt stöd är det planerat att gradvis öka befintlig funktionalitet, portera andra förändringar från Rust-for-Linux-grenen.

Detta är serien av patchar (v9) för att lägga till stöd för Rust som ett andra språk till Linux-kärnan...

Som vanligt ett särskilt tack till ISRG (Internet Security Research Group) och Google för deras ekonomiska stöd i detta arbete.

Jämfört med version 8 har storleken på patchen minskat från 40 000 till 13 000 rader kod. Till exempel innehåller version 3 endast 500% av koden (60 rader) från "kärna"-boxpaketet och 32% av alloc-biblioteket, vilket gör att du kan skapa de enklaste kärnmodulerna med Vec-typen. och visa information i kärnloggen med hjälp av makrot "pr_info!".

Dessutom, I förhållande till Rust och Linux är det värt att nämna att nyligen Rustprojektutvecklare varnade till användare om den förestående ökningen av kraven för Linux-miljön i kompilatorn, Cargo-pakethanteraren och libstd-standardbiblioteket.

Från och med Rust 1.64, planerad till 22 september 2022, minimikraven för Glibc kommer att höjas från version 2.11 till 2.17 och Linux-kärnan från 2.6.32 till 3.2. Restriktionerna gäller även Rust-binärer byggda med libstd.

RHEL 7, SLES 12-SP5, Debian 8 och Ubuntu 14.04-distributioner uppfyller de nya kraven. Stöd för RHEL 6, SLES 11-SP4, Debian 7 och Ubuntu 12.04 kommer att upphöra. Skälen för att fasa ut stöd för äldre Linux-system inkluderar begränsade resurser för att fortsätta stödja äldre miljöer.

Varför höja kraven?
Vi vill att Rust och de binärer som produceras av Rust ska vara så allmänt användbara som möjligt. Samtidigt har Rust-projektet bara begränsade resurser för att upprätthålla kompatibilitet med äldre miljöer.

Det finns två delar av verktygskedjans krav: minimikraven för att köra Rust-kompilatorn på ett värdsystem och minimikraven för korskompilerade binärer.

Minimikraven för värdverktygskedjor påverkar vårt byggsystem. Rust CI producerar binära artefakter för dussintals olika mål. Att bygga binärfiler som stöder äldre versioner av glibc kräver att man bygger ett operativsystem med äldre glibc (för inbyggda versioner) eller använder en byggrot med en äldre version av glibc (för cross-builds).

I synnerhet kompatibilitet med äldre Glibcs ​​kräver användning av äldre verktyg när den verifieras i ett kontinuerligt integrationssystem, kontra ökade versionskrav på LLVM och korskompileringsverktyg. Ökningen av kärnversionskraven beror på libstds förmåga att använda nya systemanrop utan att behöva underhålla lager för att säkerställa kompatibilitet med äldre kärnor.

Användare som använder Rust-skapade körbara filer i miljöer med äldre Linux-kärnor rekommenderas att uppgradera sina system, stanna kvar på äldre versioner av kompilatorn eller behålla sin egen libstd-gaffel i lager för att bibehålla kompatibiliteten.

Slutligen, om du är intresserad av att kunna veta mer om det, kan du konsultera detaljerna i följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.