ka.da

Aller au contenu | Aller au menu | Aller à la recherche

mercredi, septembre 26 2007

faire tourner Windows sur Xen

Pour une raison ou pour une autre[1] vous pouvez avoir envie (?) ou besoin de faire tourner un Windows sous votre Linux. Heureusement, depuis peu Xen couplé à un processeur récent le permet.

Installation de Windows 2000 sur Xen (vue dans un bureau Gnome)

prérequis

  • un processeur HVM : vous pouvez vérifier ici si le vôtre l'est
  • un poste/serveur Linux Debian Etch minimum[2] avec Xen fonctionnel
  • un CDROM d'installation de Windows (je n'ai testé qu'avec Windows 2000 mais XP et 2003 Server semblent fonctionner également)
  • des petits doigts :) et ce billet

procédure
Pour utiliser les nouvelles fonctionnalités des processeurs virtualisants et donc pouvoir installer Windows[3] il vous faut installer un package spécial qui fournit les outils utilisateurs

# aptitude install xen-ioemu-3.0.3-1

On copie ensuite le cdrom sur le disque dur

# dd if=/dev/cdrom of=/tmp/win2000pro.iso

On crée un fichier image vide appelé à contenir le système invité (6Go ici)

# dd if=/dev/zero of=Win2k.img bs=1M count=6144

On crée le fichier de configuration Xen /etc/xen/win2000.cfg pour Windows. Voici le mien, adaptez-le à votre configuration

# more /etc/xen/win2k.cfg
kernel = "/usr/lib/xen-default/boot/hvmloader"
builder='hvm'
memory = '256'
name = 'Win2000'
disk = [ 'file:/mnt/media/data/xen/domains/win2k/win2k.img,ioemu:hda,w','file:/tmp/win2000pro.iso,ioemu:hdc:cdrom,r' ]
vif = [ 'type=ioemu, bridge=xenbr0' ]
device_model = '/usr/lib/xen-default/bin/qemu-dm'
memmap = '/usr/lib/xen/boot/mem-map.sxp'
boot='d'
sdl=1
vnc=0

Les directives spécifiques à un hôte HVM sont kernel, builder, device_model et memmap.
Dans la partie disk il vous faut spécifier l'image ISO pour l'installation, vous pouvez ensuite connecter votre lecteur de cd-rom en remplaçant la ligne par disk = 'file:/mnt/media/data/system/xen/do....
La directive boot indique 'd' pour booter sur le cd-rom et 'c' pour booter sur le disque dur virtuel.
sdl=1 permet, si vous êtes sous X, d'avoir une fenêtre qui s'ouvre automatiquement quand vous lancez la machine virtuelle ce qui est au moins nécessaire lors de l'installation. Vous pouvez ensuite utiliser le mode de prise à distance que vous préférez. (mise à jour : si vous voulez utilisez VNC, changez sdl=0 vnc=1 et connectez-vous avec vncviewer sur localhost:5900)

Et voilà, un petit

# xm create /etc/xen/win2000.cfg

et c'est parti !

divers
Pour pouvoir monter le fichier image Windows que vous avez un bête mount -o loop ne suffit pas, voici la commande qui va bien

# mount -o loop,offset=$((63*512)),rw /mnt/media/data/system/xen/domains/win2k/win2k.img temp/

J'ai vu également que Russell Coker a écrit un billet intitulé A support guide [for|to] Xen avec un résumé des principales commandes utiles pour Xen.

Au fait, je fais tourner un Windows 32 bits sur ma Debian en 64 bits.

copies d'écrans
Quelques screenshots pour le plaisir

Installation de Windows 2000 sur Xen

Installation de Windows 2000 sur Xen (premier login)

Installation de Windows 2000 sur Xen (le fameux "Démarrer avec Windows 2000")

PS : je suis depuis peu syndiqué sur le planète des utilisateurs francophones de Debian, planète libre et peut-être même planète APRIL alors :

PS2 : dès vendredi 1er octobre, une nouvelle taxe[4] "copie privée" arrive sur les disques durs externes et les clés USB, alors si vous aviez un achat en tête, précipitez-vous !

Notes

[1] la mienne, c'est d'espérer pouvoir enfin rejouer à SimCity 4 Rush Hour que malheureusement je n'arrive pas à faire tourner avec Wine

[2] à vrai dire n'importe quelle distribution est valable bien évidemment mais je me base sur celle-ci

[3] en fait n'importe quel OS non modifié comme par exemple OpenBSD ou NetBSD (cf)

[4] qui a dit encore une ? qu'il se dénonce !

mardi, septembre 11 2007

Flash sous Debian 64 bits

Depuis que j'ai un nouveau PC qui tourne sous 64 bits, mon gros problème était d'arriver à utiliser Flash sous Mozilla et Firefox. En effet, Flash est une technologie propriétaire[1] et Adobe ne propose pas de version 64 bits. Plusieurs solutions existent néanmoins pour réussir à le faire mais elle sont toutes assez compliquées comme avoir un chroot 32 bits pour faire tourner les applications 32 bits[2]. Heureusement, depuis peu existe un utilitaire appelé nspluginwrapper permettant d'utiliser des plugins sur une plateforme pour laquelle ils ne sont pas conçus, comme par exemple des plugins 32 bits sur une plateforme 64 bits qui est ce qui nous intéresse.

J'ai commencé par suivre une doc Ubuntu qui m'a permis d'avoir Flash sous Mozilla Seamonkey/Iceape mais malheureusement ça ne marchait pas pour Firefox/Iceweasel.

Heureusement cet utilitaire est arrivé dans Debian testing, et, comme depuis peu j'ai un pied dans testing/lenny[3] j'ai alors pu l'installer tout simplement avec

# aptitude install nspluginwrapper

et là, magie ! Iceape et Iceweasel supportent le Flash... :)

update : j'ai oublié de vous dire pourquoi Flash ça pue

Notes

[1] vive les logiciels libres !

[2] cf http://debian-administration.org pour des articles traitant du problème

[3] principalement pour avoir une version de Digikam supérieure à 0.9.2 qui gère les fichiers RAW