4.10. Prise en charge du micrologiciel KMM


Les modules du noyau doivent parfois charger des fichiers de microprogrammes à partir du système de fichiers. KMM prend en charge la copie des fichiers de microprogrammes de l'image ModuleLoader vers le système de fichiers du nœud.

Le contenu de .spec.moduleLoader.container.modprobe.firmwarePath est copié dans le chemin /var/lib/firmware sur le nœud avant d'exécuter la commande modprobe pour insérer le module du noyau.

Tous les fichiers et répertoires vides sont supprimés de cet emplacement avant d'exécuter la commande modprobe -r pour décharger le module du noyau, lorsque le pod est terminé.

4.10.1. Configuration du chemin de recherche sur les nœuds

Sur les nœuds d'OpenShift Container Platform, l'ensemble des chemins de recherche par défaut pour les firmwares n'inclut pas le chemin /var/lib/firmware.

Procédure

  1. Utilisez l'opérateur Machine Config pour créer une ressource personnalisée (CR) MachineConfig qui contient le chemin d'accès /var/lib/firmware:

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker 
    1
    
      name: 99-worker-kernel-args-firmware-path
    spec:
      kernelArguments:
        - 'firmware_class.path=/var/lib/firmware'
    1
    Vous pouvez configurer l'étiquette en fonction de vos besoins. Dans le cas d'OpenShift à nœud unique, utilisez les objets control-pane ou master.
  2. En appliquant le CR MachineConfig, les nœuds sont automatiquement redémarrés.

4.10.2. Construction d'une image ModuleLoader

Procédure

  • En plus de construire le module du noyau lui-même, il faut inclure le micrologiciel binaire dans l'image du constructeur :

    FROM registry.redhat.io/ubi8/ubi-minimal as builder
    
    # Build the kmod
    
    RUN ["mkdir", "/firmware"]
    RUN ["curl", "-o", "/firmware/firmware.bin", "https://artifacts.example.com/firmware.bin"]
    
    FROM registry.redhat.io/ubi8/ubi-minimal
    
    # Copy the kmod, install modprobe, run depmod
    
    COPY --from=builder /firmware /firmware

4.10.3. Optimisation des ressources du module

Procédure

  • Définir .spec.moduleLoader.container.modprobe.firmwarePath dans la ressource personnalisée (CR) Module:

    apiVersion: kmm.sigs.x-k8s.io/v1beta1
    kind: Module
    metadata:
      name: my-kmod
    spec:
      moduleLoader:
        container:
          modprobe:
            moduleName: my-kmod  # Required
    
            firmwarePath: /firmware 
    1
    1
    Facultatif : Copie /firmware/* dans /var/lib/firmware/ sur le nœud.
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2026 Red Hat
Retour au début