# [XEN]Problème lors du lancement du domU (résolu)

## Dieppe

Bonjour,

bon, suite à ceci, j'ai décidé d'installer le noyau 2.6.22-xen, et ça marche encore une fois nickel, avec en plus, comble du bonheur, une interface wifi fonctionnelle. J'ai eu un petit problème parce que j'avais oublié (alors que c'était écris noir sur blanc dans le howto) une option dans le noyau, mais après recompilation, j'avais mon bridge xenbr0. Bon, seulement, comme ce ne serait pas marrant si tout marchait, lors du lancement du domU, j'ai une jolie petite erreur, et malgré quelques liens trouvés, je n'ai pas réussi à la faire partir. La voici, la voila :

```

# xm create winxp.hvm     

Using config file "/etc/xen/winxp.hvm".

Error: Device 768 (vbd) could not be connected. Hotplug scripts not working.

```

J'ai vu des trucs concernant SELinux, mais je ne crois pas l'avoir d'installé donc ça ne doit pas être ça, et à part ça, je ne sais pas trop quoi faire... Donc si vous avez une idée...

Voila,

Bonne nuit à vous.

EDIT: bon, je me suis amusé (enfin amuser, c'est pas vraiment le mot...) à changer un paramètre dans le script winxp.hvm, et ça changeait le numéro du périphérique vbd, donc ça vient peut-être de là. J'avoue que le script m'est assez obscur, donc si quelqu'un peut m'expliquer de quoi il retourne :

```
# coding=utf-8

# -*- mode: python; -*-

#============================================================================

# Python configuration setup for 'xm create'.

# This script sets the parameters used when a domain is created using 'xm create'.

# You use a separate script for each domain you want to create, or

# you can set the parameters for the domain on the xm command line.

#============================================================================

#----------------------------------------------------------------------------

# Kernel image file.

kernel = '/usr/lib/xen/boot/hvmloader'

# The domain build function. HVM domain uses ‘hvm’.

builder = "hvm"

# Initial memory allocation (in megabytes) for the new domain.

memory = 512

# A name for your domain. All domains must have different names.

name = 'w2k3'

vif = [ 'type=ioemu, mac=aa:00:b0:00:00:11, bridge=xenbr0' ]

#----------------------------------------------------------------------------

# Define the disk devices you want the domain to have access to, and

# what you want them accessible as.

# Each disk entry is of the form phy:UNAME,DEV,MODE

# where UNAME is the device, DEV is the device name the domain will see,

# and MODE is r for read-only, w for read-write.

# This would be for using a QEMU qcow file as a virtual disk

#disk = [ ‘file:/guests/1-w2k3/w2k3-demo-001.qcow,ioemu:hda,w’ ]

# This is for using an LVM volume as a virtual disk

disk = [ 'phy:/dev/VG_Guests/w2k3-001,ioemu:hdaw' ]

# New stuff

device_model = '/usr/lib/xen/bin/qemu-dm'

#-----------------------------------------------------------------------------

# Disk image for

cdrom="/tmp/WINDOWS_2003_STANDARD.ISO"

#-----------------------------------------------------------------------------

# boot on floppy (a), hard disk (c) or CD-ROM (d)

boot="d"

#-----------------------------------------------------------------------------

# write to temporary files instead of disk image files

#snapshot=1

#----------------------------------------------------------------------------

# enable SDL library for graphics, default = 0

sdl=1

#----------------------------------------------------------------------------

# enable VNC library for graphics, default = 1

vnc=0

#----------------------------------------------------------------------------

# enable spawning vncviewer(only valid when vnc=1), default = 1

#vncviewer=1

vncviewer=0

#----------------------------------------------------------------------------

# no graphics, use serial port

#nographic=0

#-----------------------------------------------------------------------------

# serial port re-direct to pty deivce, /dev/pts/n

# then xm console or minicom can connect

#serial=’pty’

#----------------------------------------------------------------------------

# enable ne2000, default = 0(use pcnet)

ne2000=0

#----------------------------------------------------------------------------

#

#usb=1

#usbdevice=’tablet’

#-----------------------------------------------------------------------------

# enable audio support

audio=1

#-----------------------------------------------------------------------------

# set the real time clock to local time [default=0 i.e. set to utc]

#localtime=1

#-----------------------------------------------------------------------------

# start in full screen

#full-screen=1

#stdvga=0

```

ce que j'ai changé c'est dans disk, le paramètre ioemu, mais je ne sais pas trop à quoi ça correspond. Voila voila, merci d'avance !

Ah oui, j'ai une autre question : à quoi sert la commande (dans le howto xen fr)

```
dd if=/dev/zero of=/var/xen/machineWindows.img bs=1M seek=4095 count=1
```

puisqu'on ne se sert pas de /var/xen/machineWindows.img après ???Last edited by Dieppe on Wed Jan 16, 2008 10:22 am; edited 1 time in total

----------

## Oupsman

Cette ligne là :

```

# This would be for using a QEMU qcow file as a virtual disk

#disk = [ ‘file:/guests/1-w2k3/w2k3-demo-001.qcow,ioemu:hda,w’ ]

```

est à changer car elle fait pointer le disque virtuel de la VM Windows XP vers un fichier qui ne doit pas exister.

Essaye ceci à la place :

```

# This would be for using a QEMU qcow file as a virtual disk

disk = [ ‘file:/var/xen/MachineWindows.img,ioemu:hda,w’ ]

```

Au fait, ton processeur supporte bien la virtualisation matérielle ?

----------

## Dieppe

J'ai essayé, ça me donne cette erreur 

```

# xm create winxp.hvm  

Using config file "/etc/xen/winxp.hvm".

Error: Disk image does not exist: /var/xen/MachineWindows.img

```

J'avoue que je ne comprends pas super bien comment fonctionne ce fichier. 

Par contre, ce qui me semble bizarre, c'est d'indiquer hda, alors que je n'ai aucun périphérique de ce nom (mon HDD est /dev/sda, et mon cd-rom /dev/sr0).

Sinon, oui, j'ai un core2 duo, donc il supporte la virtualisation matérielle   :Cool: 

J'ai vérifié qu'elle était bien activée :

```

# xm dmesg | grep VMX

(XEN) HVM: VMX enabled

(XEN) VMX: MSR intercept bitmap enabled

```

Voila voila, 

Bonne journée, et merci pour ton aide.

EDIT : hum, bon, ok, je commence à être fatigué, il fallait juste mettre machine au lieu de Machine. Là, le domaine se lance, mais il me dit :

```
# xm create winxp.hvm -c

Using config file "/etc/xen/winxp.hvm".

Started domain w2k3

xenconsole: Could not read tty from store: No such file or directory

```

Bon, pas le temps de chercher là, mais je pense que je devrais en voir le bout. Encore merci d'ailleurs.

EDIT2 : En fait, il devrait m'ouvrir une fenêtre sans le -c (viens de m'apercevoir que c'est juste pour une console), mais il ne le fait pas (le salopiaud), donc je remets le dernier fichier /etc/xen/winxp.hvm :

```

# coding=utf-8

# -*- mode: python; -*-

#============================================================================

# Python configuration setup for 'xm create'.

# This script sets the parameters used when a domain is created using 'xm create'.

# You use a separate script for each domain you want to create, or

# you can set the parameters for the domain on the xm command line.

#============================================================================

#----------------------------------------------------------------------------

# Kernel image file.

kernel = '/usr/lib/xen/boot/hvmloader'

# The domain build function. HVM domain uses ‘hvm’.

builder = "hvm"

# Initial memory allocation (in megabytes) for the new domain.

memory = 512

# A name for your domain. All domains must have different names.

name = 'w2k3'

vif = [ 'type=ioemu, mac=aa:00:b0:00:00:11, bridge=xenbr0' ]

#----------------------------------------------------------------------------

# Define the disk devices you want the domain to have access to, and

# what you want them accessible as.

# Each disk entry is of the form phy:UNAME,DEV,MODE

# where UNAME is the device, DEV is the device name the domain will see,

# and MODE is r for read-only, w for read-write.

# This would be for using a QEMU qcow file as a virtual disk

disk = [ 'file:/var/xen/machineWindows.img,ioemu:sr0,w' ]

# This is for using an LVM volume as a virtual disk

#disk = [ 'phy:/dev/VG_Guests/w2k3-001,ioemu:hdaw' ]

# New stuff

device_model = '/usr/lib/xen/bin/qemu-dm'

#-----------------------------------------------------------------------------

# Disk image for

cdrom="/tmp/WINDOWS_2003_STANDARD.ISO"

#-----------------------------------------------------------------------------

# boot on floppy (a), hard disk (c) or CD-ROM (d)

boot="d"

#-----------------------------------------------------------------------------

# write to temporary files instead of disk image files

#snapshot=1

#----------------------------------------------------------------------------

# enable SDL library for graphics, default = 0

sdl=1

#----------------------------------------------------------------------------

# enable VNC library for graphics, default = 1

vnc=0

#----------------------------------------------------------------------------

# enable spawning vncviewer(only valid when vnc=1), default = 1

#vncviewer=1

vncviewer=0

#----------------------------------------------------------------------------

# no graphics, use serial port

#nographic=0

#-----------------------------------------------------------------------------

# serial port re-direct to pty deivce, /dev/pts/n

# then xm console or minicom can connect

#serial=’pty’

#----------------------------------------------------------------------------

# enable ne2000, default = 0(use pcnet)

ne2000=0

#----------------------------------------------------------------------------

#

#usb=1

#usbdevice=’tablet’

#-----------------------------------------------------------------------------

# enable audio support

audio=1

#-----------------------------------------------------------------------------

# set the real time clock to local time [default=0 i.e. set to utc]

#localtime=1

#-----------------------------------------------------------------------------

# start in full screen

#full-screen=1

#stdvga=1

```

en espérant que ça puisse aider.Last edited by Dieppe on Tue Jan 15, 2008 7:56 am; edited 1 time in total

----------

## Oupsman

 *Dieppe wrote:*   

> J'ai essayé, ça me donne cette erreur 
> 
> ```
> 
> # xm create winxp.hvm  
> ...

 

A priori, j'ai écris une connerie dans mon message. Ecris plutot ceci : 

```

# This would be for using a QEMU qcow file as a virtual disk

disk = [ ‘file:/var/xen/machineWindows.img,ioemu:hda,w’ ] 

```

 *Dieppe wrote:*   

> 
> 
> Par contre, ce qui me semble bizarre, c'est d'indiquer hda, alors que je n'ai aucun périphérique de ce nom (mon HDD est /dev/sda, et mon cd-rom /dev/sr0).
> 
> 

 

C'est le nom du périphérique virtuel qui sera présenté à Windows XP. Ici, ca veut simplement dire qu'on lui présente un disque de 4Go en primaire sur le premier canal IDE. 

 *Dieppe wrote:*   

> 
> 
> Sinon, oui, j'ai un core2 duo, donc il supporte la virtualisation matérielle  
> 
> J'ai vérifié qu'elle était bien activée :
> ...

 

Désolé de te poser la question, mais c'est une erreur que beaucoup de gens font : ils se précipitent sur XEN pensant pouvoir virtualiser XP sur leur Athlon XP 2000+  :Rolling Eyes: 

Y'a des softs qui le permettent, mais c'est plus cher. 

Ensuite si j'en crois le fichier de configuration, il va chercher l'image ISO de Windows 2003 standard dans /tmp. Si tu ne l'as pas, tu auras une nouvelle erreur.

----------

## Dieppe

Ok, merci pour ces éclaircissements, je comprends pourquoi ça ne marchait pas bien. Bon, je teste ça vite fait, et après, je file.

EDIT : bon, j'ai testé vite fait, ça ne marche pas.

les options :

```

disk = [ 'file:/var/xen/machineWindows.img,ioemu:hda,w' ]

cdrom='/dev/sr0'

```

Ce qui me parait bizarre, c'est que le lecteur de cdrom ne fait même pas un petit vroum pour me faire plaisir.

Ah et au fait, pas besoin d'être désolé hein, mieux valait vérifier en effet   :Wink: 

EDIT 2: (hum, je poste peut-être un peu trop vite) Je sais d'où ça vient : l'acces au cdrom est assez bizarre :/

----------

## Dieppe

Rebonjour,

bon, j'ai réglé le problème du lecteur cd, simplement oublié de mettre une option dans le kernel. Donc cette fois-ci, je ne vois pas trop ce qui ne pourrait pas marcher. Pourtant quand je crée le nouveau domaine, il ne se passe rien, à part un petit ralentissement (quand je remets les options par défaut pour l'affichage, i.e. vnc).

Bon, voila le fichier /etc/xen/winxp.hvm (faut que j'arrête la console, j'appuie tout le temps sur tab pour l'auto complétion même ici  :Rolling Eyes:  ) :

```

# coding=utf-8

# -*- mode: python; -*-

#============================================================================

# Python configuration setup for 'xm create'.

# This script sets the parameters used when a domain is created using 'xm create'.

# You use a separate script for each domain you want to create, or

# you can set the parameters for the domain on the xm command line.

#============================================================================

#----------------------------------------------------------------------------

# Kernel image file.

kernel = '/usr/lib/xen/boot/hvmloader'

# The domain build function. HVM domain uses ‘hvm’.

builder = "hvm"

# Initial memory allocation (in megabytes) for the new domain.

memory = 512

# A name for your domain. All domains must have different names.

name = 'w2k3'

vif = [ 'type=ioemu, mac=aa:00:b0:00:00:11, bridge=xenbr0' ]

#----------------------------------------------------------------------------

# Define the disk devices you want the domain to have access to, and

# what you want them accessible as.

# Each disk entry is of the form phy:UNAME,DEV,MODE

# where UNAME is the device, DEV is the device name the domain will see,

# and MODE is r for read-only, w for read-write.

# This would be for using a QEMU qcow file as a virtual disk

disk = [ 'file:/var/xen/machineWindows.img,ioemu:sda,w' ]

# This is for using an LVM volume as a virtual disk

#disk = [ 'phy:/dev/VG_Guests/w2k3-001,ioemu:hda,w' ]

# New stuff

device_model = '/usr/lib/xen/bin/qemu-dm'

#-----------------------------------------------------------------------------

# Disk image for

cdrom='/media/XP_MCE_SP2_FRN'

#-----------------------------------------------------------------------------

# boot on floppy (a), hard disk (c) or CD-ROM (d)

boot="d"

#-----------------------------------------------------------------------------

# write to temporary files instead of disk image files

#snapshot=1

#----------------------------------------------------------------------------

# enable SDL library for graphics, default = 0

#sdl=1

#----------------------------------------------------------------------------

# enable VNC library for graphics, default = 1

#vnc=0

#----------------------------------------------------------------------------

# enable spawning vncviewer(only valid when vnc=1), default = 1

#vncviewer=1

#vncviewer=0

#----------------------------------------------------------------------------

# no graphics, use serial port

#nographic=0

#-----------------------------------------------------------------------------

# serial port re-direct to pty deivce, /dev/pts/n

# then xm console or minicom can connect

#serial=’pty’

#----------------------------------------------------------------------------

# enable ne2000, default = 0(use pcnet)

ne2000=0

#----------------------------------------------------------------------------

#

#usb=1

#usbdevice=’tablet’

#-----------------------------------------------------------------------------

# enable audio support

audio=1

#-----------------------------------------------------------------------------

# set the real time clock to local time [default=0 i.e. set to utc]

#localtime=1

#-----------------------------------------------------------------------------

# start in full screen

#full-screen=1

#stdvga=1

```

(à noter que j'ai aussi essayé avec sdl)

Quand je lance xm create /etc/xen/winxp.hvm :

```

# xm create /etc/xen/winxp.hvm                                                   

Using config file "/etc/xen/winxp.hvm".

Started domain w2k3

```

Un petit dmesg :

```

xenbr0: topology change detected, propagating

xenbr0: port 1(tap0) entering forwarding state

device vif7.0 entered promiscuous mode

xenbr0: port 2(vif7.0) entering learning state

xenbr0: topology change detected, propagating

xenbr0: port 2(vif7.0) entering forwarding state

(cdrom_add_media_watch() file=/usr/src/linux-2.6.22-xen/drivers/xen/blkback/cdrom.c, line=112) nodename:backend/vbd/7/2048

(cdrom_is_type() file=/usr/src/linux-2.6.22-xen/drivers/xen/blkback/cdrom.c, line=97) type:0

vif7.0: no IPv6 routers present

tap0: no IPv6 routers present

```

Voila, rien de particulier avec xm log,

Que faut-il faire pour que quelque chose s'affiche ???

----------

## El_Goretto

Faudrait peut être tout simplement que tu t'y connectes par VNC, parce que tu peux attendre longtemps que quelque chose s'affiche, d'après ton fichier de conf  (tout est commenté ou presque...)  :Very Happy: 

----------

## Dieppe

Hum, y'a de l'idée effectivement   :Razz: 

Après, question conne : je me connecte où, comment ? (jamais utilisé vnc (ni xen d'ailleurs, ça se voit))

Et deuxième question : pourquoi quand j'utilise sdl ça ne s'affiche pas ? Y a-t-il quelque chose à faire là aussi ?

En tout cas merci pour vos réponses, ça fait plaisir   :Wink: 

----------

## El_Goretto

Aie, je suis pas du tout expérimenté en Xen stuff (comme souvent, je me suis pété les neurones dessus jusqu'à ce que çà marche, puis j'ai mis de côté  :Wink: ).

En fait, quand je dis "commenté", je voulais dire "inactif", et pas "avec commentaires". Je ne sais pas si tu avais compris, car çà portait furieusement à confusion, vu que les directives sont "doublement commentées", du coup (c'est un bon fichier de config  :Smile: )

En particuliers, "décommente" #sdl=1 et #vnc=0

Je crois que c'est çà qui fait afficher la console graphique de la VM.

----------

## Dieppe

Salut,

j'ai déjà essayé en passant par sdl, mais pareil, rien ne s'affiche. C'est pour ça que je me demandais s'il y avait un truc particulier à faire. D'après ce que j'ai vu non m'enfin...

j'ai aussi tenté avec l'option -c, mais ça ne marche pas :

```
# xm create /etc/xen/winxp.hvm -c

Using config file "/etc/xen/winxp.hvm".

Started domain w2k3

xenconsole: Could not read tty from store: No such file or directory

```

Bon, je continue à chercher,

Bonne journée

----------

## Dieppe

Bon, ça avance, ça avance.

L'install de winXP est en train de se faire en ce moment même. Pour ceux que ça intéressent, j'avais tout simplement mal configuré xend, j'avais passé l'option (keymap 'fr-FR'), qui apparemment ne fonctionne pas. J'ai eu une petite erreur de boot aussi, il fallait modifier les options suivantes dans /etc/xen/winXP.hvm :

```

disk = [ 'file:/var/xen/machineWindows.img,hda,w','phy:/dev/sr0,hdb:cdrom,r' ]

cdrom='/dev/sr0'

```

Voila, en espérant qu'il n'y ait pas d'autres problèmes.Last edited by Dieppe on Wed Jan 16, 2008 9:00 am; edited 2 times in total

----------

