Rust for Linux の 3.2 番目のバージョンが到着し、Linux XNUMX より前のバージョンのサポートに別れを告げます

うわー、の仕事 Linux 用の Rust ドライバーのサポートが進行中です かなり継続的な開発が始まっています。 バージョン8が発表されました パッチの 現在、バージョン 9 があります。

そして、提案されたこの XNUMX 番目のバージョンでは、そのように言及する価値があるということです。 数日前に発行された第 XNUMX 版の簡易版です. このキットの特徴は、サイズが大幅に縮小され、Rust で記述されたカーネル モジュールを構築するのに十分な、必要最小限のものだけが残されていることです。

最小限のパッチが想定されます Rust サポートをメイン カーネルに採用することが容易になります。 最小限のサポートを提供した後、既存の機能を徐々に増やし、Rust-for-Linux ブランチから他の変更を移植する予定です。

これは、Rust のサポートを Linux カーネルの第 9 言語として追加するための一連のパッチ (vXNUMX) です。

いつものように、ISRG (Internet Security Research Group) に感謝します。 この取り組みにおける財政的支援に対して、Google と Google に感謝します。

バージョン 8 と比較すると、パッチのサイズは 40 行から 000 行のコードに削減されています。 たとえば、バージョン 3 には、「kernel」ボックス パッケージのコード (500 行) の 60% と alloc ライブラリの 32% しか含まれていないため、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 コンパイラを実行するための最小要件と、クロス コンパイルされたバイナリの最小要件の XNUMX つの部分があります。

ホスト ツールチェーンの最小要件は、ビルド システムに影響します。 Rust CI は、数十の異なるターゲットに対してバイナリ アーティファクトを生成します。 古いバージョンの glibc をサポートするバイナリをビルドするには、古いバージョンの glibc でオペレーティング システムをビルドするか (ネイティブ ビルドの場合)、古いバージョンの glibc でビルド ルートを使用する必要があります (クロスビルドの場合)。

特に 古い Glibcs​​ との互換性には、古いツールを使用する必要があります 継続的インテグレーション システムで検証された場合、 LLVM およびクロスコンパイル ユーティリティのバージョニング要件の増加とは対照的です。 カーネル バージョン要件の増加は、古いカーネルとの互換性を確保するためにレイヤーを維持する必要なく、新しいシステム コールを使用できる libstd の機能によるものです。

古い Linux カーネルを使用する環境で Rust で作成された実行可能ファイルを使用しているユーザーは、システムをアップグレードするか、古いバージョンのコンパイラを使用するか、独自の階層化された libstd フォークを維持して互換性を維持することをお勧めします。

最後に、あなたがそれについてもっと知ることができることに興味があるなら、あなたは詳細を調べることができます 次のリンク。


コメントを最初に

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:AB Internet Networks 2008 SL
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。