Linux 版 Rust 的第九個版本到來並告別對 Linux 3.2 之前版本的支持

哇,工作 對 Linux 的 Rust 驅動程序支持正在進行中 並且已經開始了相當持續的發展,因為它沒有太多可做的 版本 8 發布 補丁,就是這樣 現在我們有版本 9。

正是在已經提出的第九個版本中,值得一提的是 是前幾天出版的第八版的簡化版. 該套件的特點是顯著減小了大小,並且只保留了最必要的最小值,足以構建用 Rust 編寫的內核模塊。

假設最小補丁 將使在主內核中採用 Rust 支持變得更容易。 在提供最低限度的支持後,計劃逐步增加現有功能,從 Rust-for-Linux 分支移植其他更改。

這是為 Linux 內核添加對 Rust 作為第二語言的支持的一系列補丁 (v9)……

像往常一樣,特別感謝 ISRG(互聯網安全研究組) 和谷歌在這項工作中的財政支持。

與版本 8 相比,補丁的大小已從 40 行減少到 000 行代碼。 例如,版本 3 僅包含來自“kernel”box 包的 500% 的代碼(60 行)和 32% 的 alloc 庫,允許您使用 Vec 類型創建最簡單的內核模塊。 並使用“pr_info!”宏在內核日誌中顯示信息。

此外, 關於 Rust 和 Linux,值得一提的是,最近 Rust 項目開發者警告 給用戶關於 對 Linux 環境的需求即將增加 在編譯器、Cargo 包管理器和 libstd 標準庫中。

從 Rust 1.64 開始,計劃於 22 年 2022 月 XNUMX 日發布,Glibc 的最低要求將從 2.11 版本提高到 2.17,Linux 內核從 2.6.32 提高到 3.2. 這些限制也適用於使用 libstd 構建的 Rust 二進製文件。

RHEL 7、SLES 12-SP5、Debian 8 和 Ubuntu 14.04 發行版滿足新要求。 將停止支持 RHEL 6、SLES 11-SP4、Debian 7 和 Ubuntu 12.04。 棄用對舊 Linux 系統的支持的原因包括繼續支持舊環境的資源有限。

為什麼要提高要求?
我們希望 Rust 和 Rust 生成的二進製文件盡可能廣泛地使用。 同時,Rust 項目只有有限的資源來保持與舊環境的兼容性。

工具鏈要求有兩部分:在主機系統上運行 Rust 編譯器的最低要求,以及交叉編譯二進製文件的最低要求。

主機工具鏈的最低要求會影響我們的構建系統。 Rust CI 為幾十個不同的目標生成二進制工件。 構建支持舊版本 glibc 的二進製文件需要使用舊 glibc 構建操作系統(用於本地構建)或使用帶有舊版本 glibc 的構建根(用於交叉構建)。

特別是 兼容較舊的 Glibcs​​ 需要使用較舊的工具 在持續集成系統中驗證時, 與對 LLVM 和交叉編譯實用程序增加的版本控制要求相比。 內核版本要求的增加是由於 libstd 能夠使用新的系統調用而無需維護層以確保與舊內核的兼容性。

建議在具有較舊 Linux 內核的環境中使用 Rust 創建的可執行文件的用戶升級他們的系統,繼續使用舊版本的編譯器,或維護他們自己的分層 libstd fork 以保持兼容性。

最後,如果你有興趣能夠了解更多,可以查閱詳情 以下鏈接。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。