
Motivation - Installer Doom III (= 3 CD)
J'ai tenté pendant toute ma journée de ce vendredi même au taf de répondre à  cette épineuse question: "Comment changer de CDROM sous Xen 3.2 pour WIndows quand on dispose d'images iso de plusieurs CD à  charger successivement?" Toutes les urls que j'ai trouvé ne mentionnaient que la version 3.0 ou 3.1 de Xen.
Or c'est ici que j'ai trouvé ma réponse:http://www.mikeyk.net/Nerd-stuff/Changing-mounted-CD-images-during-Xen-install.html
Finalement il suffit de combiner deux méthodes utilisées sous 3.0. Une raison invoquée aussi pour la rédaction de ce billet est que bien que la commande change
existe sur la console qemu, certaines touches du clavier lors ne sont pas disponibles. Ce qui rend délicat la saisie du path vers l'ISO.
Ma méthode est certes un peu longue mais elle a le mérite de marcher.
Cadre d'intervention
Tout est résumé sur l'image suivante

Cadre d'intervention
Dans le principe:
- Toutes les connexions vers mélina sont effectué en SSH;
- melina est le dom0 et héberge un domaine invité melina-xen04 qui est sous Windows XP Pro;
Configuration du domaine invité melina-xen04 sous Windows XP Pro
Sa configuration est la suivante
melina:~# cat /etc/xen/machines/melina-xen04.cfg
import os, re
arch = os.uname()[4]
kernel = "/usr/lib/xen-default/boot/hvmloader"
builder='hvm'
memory = 1536
shadow_memory = 8
name = "melina-xen04"
vif = [ 'type=ioemu, bridge=eth0,mac=00:16:3e:00:9f:b2' ]
disk = [
'phy:/dev/xen-vm/melina-xen04-disk-1,xvda,w',
'file:/opt/xen-vm/CD/Windows.XP.Pro.Corporate.SP2.Optimise.V4.5.Finale.MkEx64.ISO,xvdc:cdrom,r',
'phy:/dev/xen-vm/melina-xen04-disk-2,xvdd,w'
]
device_model = '/usr/lib/xen-default/bin/qemu-dm'
boot="dc"
sdl=0
vnc=1
vnclisten="0.0.0.0"
vncconsole=1
vncpasswd=''
acpi=1
apic=1
monitor=1
stdvga=0
serial='pty'
usb=1
usbdevice='tablet'
On voit donc ici que la machine démarrera "virtuellement" avec déjà  un CD dans son lecteur CD. Il est important ici de mentionner l'option monitor=1
pour pouvoir accéder à  la console qemu/hvm par la suite.
Démarrage du domaine melina-xen04
On la démarre
melina:~# xm create /etc/xen/machines/melina-xen04.cfg
Using config file "/etc/xen/machines/melina-xen04.cfg".
Started domain melina-xen04
On lance une connexion par vncviewer. Par défaut le port est 5900 et c'est la seule machine sous Windows. Ceci nous simplifie le travail
vncviewer melina
On voit bien les deux disques ainsi que le lecteur CD déjà  chargé.
Ejection du premier CD
- On se connecte à  la console [CTRL]+[ALT]+[2]
- On effectue un
info block
pour vérifier
- On eject pour un
eject hdc
- On effectue un [CTRL]+[ALT]+[1] pour vérifier que le CD a bien été ejecté.
Montage d'une nouvelle iso de CD (premier CD de DOOMIII)
- On se connecte en ssh sur le dom 0, et on récupère l'ID du domaine invité
melina:~# xm li
Name ID Mem VCPUs State Time(s)
Domain-0 0 436 1 r----- 371.3
melina-xen01 1 512 1 -b---- 6.8
melina-xen02 2 512 1 -b---- 16.6
melina-xen03 3 512 1 -b---- 0.8
melina-xen04 9 1536 1 -b---- 41.8
melina-xen05 4 512 1 -b---- 4.8
Ici pour melina-xen04, il s'agit donc de ID=9.
- Maintenant il faut les identifiants des devices. Ils sont énumérés et associés selon l'ordre chronologique fourni dans le fichier de configuration
melina:~# xm block-list 9
Vdev BE handle state evt-ch ring-ref BE-path
51712 0 0 1 -1 -1 /local/domain/0/backend/vbd/9/51712
51744 0 0 1 -1 -1 /local/domain/0/backend/vbd/9/51744
51760 0 0 1 -1 -1 /local/domain/0/backend/vbd/9/51760
-
Puis une fois l'identifiant pour le CDROM trouvé (ici 51744), on détache le CDROM
xm block-detach 9 51744 -f
-
On attache la nouvelle iso du premier CD de DOOM III.
xm block-attach 9 file:/opt/xen-vm/CD/DOOM3_1.iso xvdc:cdrom r
Il n'y a pas d'erreur de frappe ni de quote manquant dans cette commande, il faut respecter les espaces comme indiqué.
- On retourne sur la console [CTRL]+[ALT]+[2]
- On effectue un
commit hdc
-
Puis enfin on effectue un info block pour confirmation
-
Enfin on retourne sur Windows [CTRL]+[ALT]+[1] et en avant la musique pour jouer à  Doom
