Aller au contenu

Tester une installation dans une VM QEMU

Le script dnf/scripts/vm-start.sh démarre une machine virtuelle QEMU sur l’image d’installation DNF. La VM est pontée sur le LAN : elle reçoit son adresse de la passerelle de zone, comme un poste physique.

Le pont réseau et qemu-bridge-helper viennent du module darkone.graphic.qemu, à activer sur le poste qui lance les VM :

usr/machines/poste/default.nix
darkone.graphic.qemu = {
enable = true;
bridge.interface = "enp2s0";
bridge.macAddress = "aa:bb:cc:dd:ee:ff";
};

Le déploiement charge le pont sans l’activer. Redémarrer le poste (ou lancer nmcli connection up br0) pour basculer son adresse IP sur le pont.

  1. Générer l’image

    Fenêtre de terminal
    just build-iso
  2. Démarrer la VM, depuis la racine du projet

    Fenêtre de terminal
    # dnf/scripts/vm-start.sh <hôte>
    dnf/scripts/vm-start.sh poste

    Au premier lancement, le script crée le disque var/vm/poste.qcow2 (40 Go), ignoré par git. Un disque vide démarre sur l’image.

  3. Installer

    L’écran de la VM affiche son adresse IP et sa MAC. Lancer ensuite l’installation habituelle :

    Fenêtre de terminal
    just full-install poste nixos 10.0.0.50

    Au redémarrage, la VM démarre sur son disque.

Variables d’environnement du script :

VariableDéfautRôle
DISK_BUSsatasata/dev/sda, nvme/dev/nvme0n1, selon le disko de l’hôte
DISK_SIZE40GTaille du disque, à sa création
MEMORY4096Mémoire (Mio)
CPUS2Nombre de processeurs
BRIDGEbr0Pont réseau

Les arguments placés après le nom de l’hôte sont transmis à QEMU.