La neuvième version de Rust pour Linux arrive et dit au revoir à la prise en charge des versions antérieures à Linux 3.2

Wow, le travail de La prise en charge du pilote Rust pour Linux est en cours et un développement assez continu s'est amorcé, puisqu'il n'a pas grand-chose à la version 8 a été annoncée des patchs et c'est tout en ce moment nous avons la version 9.

Et c'est que dans cette neuvième version qui a été proposée, il convient de mentionner qu'à ce titre il s'agit d'une version simplifiée de la huitième édition publiée il y a quelques jours. Le kit se distingue par une réduction significative de la taille et en ne laissant que le minimum le plus nécessaire, suffisant pour construire un module noyau écrit en Rust.

Le patch minimum est supposé facilitera l'adoption du support Rust dans le noyau principal. Après avoir fourni un support minimal, il est prévu d'augmenter progressivement les fonctionnalités existantes, en transférant d'autres modifications de la branche Rust-for-Linux.

Il s'agit de la série de correctifs (v9) pour ajouter le support de Rust comme deuxième langage au noyau Linux…

Comme d'habitude, un merci spécial à l'ISRG (Internet Security Research Group) et Google pour leur soutien financier dans cet effort.

Par rapport à la version 8, la taille du patch a été réduite de 40 000 à 13 000 lignes de code. Par exemple, la version 3 n'inclut que 500% du code (60 lignes) du package de la boîte "kernel" et 32% de la bibliothèque alloc, ce qui permet de créer les modules de noyau les plus simples en utilisant le type Vec. et afficher des informations dans le journal du noyau à l'aide de la macro "pr_info!".

En outre, En ce qui concerne Rust et Linux, il convient de mentionner que récemment le Les développeurs du projet Rust avertis aux utilisateurs sur l'augmentation imminente des exigences pour l'environnement Linux dans le compilateur, le gestionnaire de paquets Cargo et la bibliothèque standard libstd.

À partir de Rust 1.64, prévu pour le 22 septembre 2022, la configuration minimale requise pour Glibc passera de la version 2.11 à la 2.17 et le noyau Linux de la 2.6.32 à la 3.2. Les restrictions s'appliquent également aux binaires Rust construits avec libstd.

Les distributions RHEL 7, SLES 12-SP5, Debian 8 et Ubuntu 14.04 répondent aux nouvelles exigences. La prise en charge de RHEL 6, SLES 11-SP4, Debian 7 et Ubuntu 12.04 sera interrompue. Les raisons de l'abandon de la prise en charge des systèmes Linux plus anciens incluent des ressources limitées pour continuer à prendre en charge les environnements plus anciens.

Pourquoi augmenter les exigences ?
Nous voulons que Rust et les binaires produits par Rust soient aussi largement utilisables que possible. Dans le même temps, le projet Rust ne dispose que de ressources limitées pour maintenir la compatibilité avec les environnements plus anciens.

Les exigences de la chaîne d'outils comportent deux parties : les exigences minimales pour exécuter le compilateur Rust sur un système hôte et les exigences minimales pour les fichiers binaires compilés de manière croisée.

Les exigences minimales pour les chaînes d'outils hôtes affectent notre système de construction. Rust CI produit des artefacts binaires pour des dizaines de cibles différentes. Construire des binaires qui prennent en charge les anciennes versions de glibc nécessite de construire un système d'exploitation avec une glibc plus ancienne (pour les builds natifs) ou d'utiliser une racine de build avec une ancienne version de glibc (pour les builds croisés).

En particulier, la compatibilité avec les anciennes Glibcs ​​nécessite l'utilisation d'outils plus anciens lorsqu'il est vérifié dans un système d'intégration continue, par rapport aux exigences de version accrues sur LLVM et les utilitaires de compilation croisée. L'augmentation des exigences de version du noyau est due à la capacité de libstd à utiliser de nouveaux appels système sans avoir besoin de maintenir des couches pour assurer la compatibilité avec les noyaux plus anciens.

Les utilisateurs utilisant des exécutables créés par Rust dans des environnements avec des noyaux Linux plus anciens sont invités à mettre à niveau leurs systèmes, à conserver les anciennes versions du compilateur ou à conserver leur propre fork libstd en couches pour maintenir la compatibilité.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.


Le contenu de l'article adhère à nos principes de éthique éditoriale. Pour signaler une erreur, cliquez sur c'est par ici !.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.