Accueil > Geekage > linux > Configuration de Xen-4.2.0 pour du gpu passthrough et win 7 avec plus de (...)

Configuration de Xen-4.2.0 pour du gpu passthrough et win 7 avec plus de 4Go de ram.

lundi 18 mars 2013, par grim_lokason

Ce post montrera comment jour avec un windows 7, une carte nvidia 560TI et plus de 3.7Go de ram sous une VM xen.

Beaucoup d’info provienne du blog de Jean David TECHER : http://www.davidgis.fr
et d’autre des 2 Mailling list de XEN

  1. Les prérequis hardware : La carte mère et le processeurs doivent supporter les fonctions VT-D Il vous faut aussi le BIOs de votre carte graphique. (récupérable avec nvtools)
  2. La partie software :
    1. La configuration du kernel : Voici un lien vers ma config pour un kernel 3.6.6
    2. Téléchargez Xen-4.2.0 et les patchs :
    1. Précompilation pour récupérer diverses sources non incluse dans les sources de xen :
    1. Modification de valeurs dans le fichiers ../xen-gfx-passthrough-patchs/dsdt.asl.patch correspondant aux région de mémoires de votre carte graphique. Example pour la mienne :

Pour commencer, il faut identifier votre carte :

Utiliser dmesg pour avoir les informations :

Les 3 valeurs [0xf4000000-0xf5ffffff], [0xe0000000-0xe7ffffff], [0xe8000000-0xebffffff] doivent être renseigné dans dsdt.asl.patch en utilisant la formule suivante :

Maximum - Minimum + 1 pour la différence.

Donc pour les 1ère valeurs [0xf5ffffff - 0xf4000000] :

Maximum : 0xf5ffffff = 4127195135
Minimum : 0xf4000000 = 4093640704

4127195135 - 4093640704 + 1 = 33554432 => hexadecimal = 0x02000000

Donc on obtient :

Maximum = 0xf5ffffff
Minimum = 0xf4000000
Différence = 0x02000000

Dans le shell ( attention aux maj, sinon vous obtiendrez un 1) :

Il ne reste plus qu’a fait la même chose pour les 2 autres.

Ouvrez "../xen-gfx-passthrough-patchs/dsdt.asl.patch" cherchez la partie concernant "reserve MMIO BARs of gfx" et renseigné les valeurs trouvé précédement comme il suit :

    1. Copier le bios de votre carte dans tools/firmware/vgabios/vgabios-pt.bin
    1. Patchez les sources :
    1. Compilez et installez xen :
    1. Configurez grub :

Le menuentry pour mon Dom_0 :

Paramètre de boot pour xen :

J’ai 16go de RAM donc je laisse 12 pour les VM : dom0_mem=4G,max:4G
J’ai un i7-3770 (8 core), donc je réserve 6 core pour les VM : dom0_max_vcpus=2 dom0_vcpus_pin

Paramètre de boot pour kernel :

Activer le passthrough : nomodeset xen-pciback.passthrough=1

PCI ressource alignement, je ne sais plus pourquoi ^^’ , mais ça fonctionne comme ceci : ’pci=resource_aligment=01:00.0 ;01:00.1 ;00:14.0 ;00:1a.1’

Cacher les devices pci que nous voulons utiliser dans les VM : xen-pciback.hide=(01:00.0)(01:00.1)(00:1a.0)(00:14.0)

    1. Maintenant, on reboot et on vérifie : Vous devriez voir de gros ASCII art vous disant que vous bootez en xen-4.2.0 dans la console. Une fois le Dom_0 démarré, authentifiez vous et lancez les script de xen :

Vérifiez que le passtrough est bien actif :

    1. La configuration de la vm dans un fichier texte (Ici, le windows est directement sur un SSD) :

Il faut modifier :

    1. On lance la VM avec le fichier précédemment créé et on se connecte dessus via VNC
    1. Ensuite, vient une installation classique d’un win7, installez les drivers NVIDIA 275.33 et les drivers gplpv (nécessaire pour xen).

Nvidia : http://www.nvidia.fr/object/win7-winvista-64bit-275.33-whql-driver-fr.html
GPLPV : http://www.meadowcourt.org/downloads/old/gplpv_Vista2008x64_0.11.0.357.msi

    1. Après installation, modifiez la config :
    1. Vous pouvez maintenant lancer la VM et profiter d’autant de ram que vous souhaitez en utilisant votre carte graphique !
    1. Quelques bugs/astuces :
      1. Vous ne pouvez rebooter le Dom_U sans rebooter le Dom_0 si vous restez avec les drivers Nvidia 275.33.
      1. Je me suis rendu compte qu’avec ma config et une fois le windows booté, je pouvais upgrader mes drivers à la dernière version disponible.
      1. Si je reboot le Dom_U avec les drivers nvidia 3xx.xx, il va rebooter sans drivers, on peu réinstaller les 275.33, rebooter pour avoir de nouveau la carte graphique opérationelle, puis réinstaller les dernier rivers disponible.
      1. Dès que vous bootez sous xen en cachant du matériel dans le but de les virtualiser, vous ne pouvez pour avoir les infos nécéssaire à l’étape ***.
      1. Dès que vous bootez sous xen, vous ne pouvez plus avoir les informations sur les virtualisation pour votre cpu sous /proc/cpuinfo.

Enjoy !

Un message, un commentaire ?

Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

Connexions’inscriremot de passe oublié ?