All of lore.kernel.org
 help / color / mirror / Atom feed
* stubdom problem
@ 2008-08-29 15:49 Marco Sinhoreli
  2008-08-29 15:56 ` Samuel Thibault
  0 siblings, 1 reply; 13+ messages in thread
From: Marco Sinhoreli @ 2008-08-29 15:49 UTC (permalink / raw)
  To: xen-devel mailing list

[-- Attachment #1: Type: text/plain, Size: 561 bytes --]

Hello all Xen devels,

I'm writing howto's in brazilian portuguese language about Xen-3.3.0
stubdom, pv-grub and others configurations. Following what is written
in xen-3.3.0/stubdom/README, I tried start a HVM but without success.
When I start the virtual machine calling 'xm create hvmtest' command,
in a few seconds the virtual machine is dead (see
qemu-dm-hvmtest.log). This is happening following two distincts vnc
display configurations: using a VNC server in the stub domain and
using a VNC server in dom0.

Any idea?

Best regards,

-- 
Marco Sinhoreli

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: qemu-dm-hvmtest.log --]
[-- Type: text/x-log; name=qemu-dm-hvmtest.log, Size: 4838 bytes --]

Using config file "/etc/xen/hvmtest-dm".
Started domain hvmtest-dm
Xen Minimal OS!
\rstart_info:   0x515000
\r  nr_pages:   8192  shared_inf: bfd5a000
\r  pt_base:    0x518000  mod_start:  0x0
\r  mod_len:    0
\r  flags:      0x0
\r  cmd_line:    -d 30
\r  stack:      0x4c3ae0-0x4e3ae0
\rMM: Init
\r  _text:        0x0
\r  _etext:       0xd0d07
\r  _erodata:     0xf9000
\r  _edata:       0x124340
\r  stack start:  0x4c3ae0
\r  _end:         0x5043f0
\r  start_pfn:    522
\r  max_pfn:      2000
\rMapping memory range 0x800000 - 0x2000000
\rsetting 0x0-0xf9000 readonly
\rskipped 0x1000
\rMM: Initialise page allocator for 52e000(52e000)-2000000(2000000)
\rMM: done
\rDemand map pfns at 2001000-2002001000.
\rHeap resides at 2002002000-4002002000.
\rInitialising timer interface
\rInitialising console ... done.
\rgnttab_table mapped at 0x2001000.
\rInitialising scheduler
\rThread "Idle": pointer: 0x2002002010, stack: 0x550000
\rInitialising xenbus
\rThread "xenstore": pointer: 0x20020027c0, stack: 0x560000
\rDummy main: start_info=0x4e3be0
\rThread "main": pointer: 0x2002002f70, stack: 0x570000
\r[main] Waiting for network.
\r************************ NETFRONT for device/vif/0 **********


\rnet TX ring size 256
\rnet RX ring size 256
\rbackend at /local/domain/0/backend/vif/31/0
\rmac is 00:16:3e:7b:11:83
\r**************************
\r[main] IP ac1ece01 netmask ffff0000 gateway 0.
\r[main] TCP/IP bringup begins.
\rThread "tcpip_thread": pointer: 0x2002005d20, stack: 0x680000
\r[tcpip_thread] TCP/IP bringup ends.
\r[main] Network is ready.
\rIniting FS fronend(s).
\rFS export [dom=0, id=0] found
\rInitialising FS fortend to backend dom 0
\rAllocating request array for import 0, nr_entries = 128.
\rOur own id is 31
\rBackend found at /local/domain/0/backend/vfs/11
\rBackend ready.
\rdom vm is at /vm/e11b0b03-b02d-deca-772e-f1c035bfde4a
\r"main" "-d" "30" "-domain-name" "hvmtest" "-k" "pt-br" "-vnc" "172.30.206.1:0,password" "-vncunused" "-vcpus" "1" "-boot" "c" "-acpi" "-net" "nic,vlan=1,macaddr=00:16:3e:49:6f:41,model=rtl8139" "-net" "tap,vlan=1,ifname=tap30.0,bridge=eth0" 
\rdomid: 30
\rqemu: the number of cpus is 1
\rxs_daemon_open -> 4, 0x120288
\rxs_read(/local/domain/31/device/vbd/5632/phantom_vbd): ENOENT
\rxs_watch(/local/domain/0/backend/vbd/31/5632/params, hdc)
\r******************* BLKFRONT for /local/domain/31/device/vbd/5632 **********


\rbackend at /local/domain/0/backend/vbd/31/5632
\rFailed to read /local/domain/0/backend/vbd/31/5632/feature-flush-cache.
\r1299724 sectors of 512 bytes
\r**************************
\rblk_open(/local/domain/31/device/vbd/5632) -> 5
\rxs_read(/local/domain/31/device/vbd/768/phantom_vbd): ENOENT
\r******************* BLKFRONT for /local/domain/31/device/vbd/768 **********


\rbackend at /local/domain/0/backend/vbd/31/768
\rFailed to read /local/domain/0/backend/vbd/31/768/feature-flush-cache.
\r20971520 sectors of 512 bytes
\r**************************
\rblk_open(/local/domain/31/device/vbd/768) -> 6
\rxs_directory(/local/domain/31/device/vkbd): ENOENT
\rxs_directory(/local/domain/31/device/vfb): ENOENT
\rxs_watch(/local/domain/0/device-model/30/logdirty/next-active, logdirty)
\rWatching /local/domain/0/device-model/30/logdirty/next-active
\rxs_watch(/local/domain/0/device-model/30/command, dm-command)
\rWatching /local/domain/0/device-model/30/command
\rxs_read(/local/domain/0/backend/pci/31/0/num_devs): EACCES
\r************************ NETFRONT for device/vif/1 **********


\rnet TX ring size 256
\rnet RX ring size 256
\rbackend at /local/domain/0/backend/vif/31/1
\rmac is 00:16:3e:2e:76:9d
\r**************************
\rtap_open(device/vif/1) -> 7
\ropen(/usr/share/xen/qemu/keymaps/pt-br, 0)-> 8
\ropen(/usr/share/xen/qemu/keymaps/common, 0)-> 9
\ropen(/usr/share/xen/qemu/keymaps/modifiers, 0)-> 10
\rclose(10)
\rclose(9)
\rclose(8)
\rsocket -> 8
\rcan't store dev null name for domid 30 in /monitor from a stub domain
\rcan't store dev vc name for domid 30 in /parallel/0 from a stub domain
\rqemu_map_cache_init nr_buckets = 10000 size 3145728
\rshared page at pfn 1fffe
\rxc_map_foreign_range(1fffe, 4096)
\rbuffered io page at pfn 1fffc
\rxc_map_foreign_range(1fffc, 4096)
\rTime offset set 0
\revtchn_open() -> 9
\rxc_evtchn_bind_interdomain(30, 4) = 0
\r******************* PCIFRONT for device/pci/0 **********


\rFailed to read device/pci/0/backend-id.
\rno backend
\rpcilib: minios_init open failed
\rRegister xen platform.
\rDone register platform.
\rxs_read_watch() -> /local/domain/0/device-model/30/command dm-command
\rxs_read(/local/domain/0/device-model/30/command): ENOENT
\rxs_read_watch() -> /local/domain/0/device-model/30/logdirty/next-active logdirty
\rxs_read(/local/domain/0/device-model/30/logdirty/key): ENOENT
\rxs_read_watch() -> /local/domain/0/backend/vbd/31/5632/params hdc
\rFailed allocation for dom 30: 2048 extents of order 0
\rFailed to populate physmap
\rFailed set_mm_mapping
\rNULL vram_pointer
\r

[-- Attachment #3: hvmtest --]
[-- Type: application/octet-stream, Size: 12192 bytes --]

#  -*- 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.
#============================================================================
#
# This is a version using a stubdomain for device model, see
# xmexample.hvm-dm and README.stubdom for more details
# The differences with xmexample.hvm are marked with "STUBDOM"

#----------------------------------------------------------------------------
# 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.
#
# WARNING: Creating a domain with insufficient memory may cause out of
#          memory errors. The domain needs enough memory to boot kernel
#          and modules. Allocating less than 32MBs is not recommended.
memory = 512

# Shadow pagetable memory for the domain, in MB.
# If not explicictly set, xend will pick an appropriate value.  
# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
# shadow_memory = 8

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

# 128-bit UUID for the domain.  The default behavior is to generate a new UUID
# on each call to 'xm create'.
#uuid = "06ed00fe-1162-4fc4-b5d8-11993ee4a8b9"

#-----------------------------------------------------------------------------
# The number of cpus guest platform has, default=1
#vcpus=1

# Enable/disable HVM guest PAE, default=1 (enabled)
#pae=1

# Enable/disable HVM guest ACPI, default=1 (enabled)
#acpi=1

# Enable/disable HVM APIC mode, default=1 (enabled)
# Note that this option is ignored if vcpus > 1
#apic=1

# List of which CPUS this domain is allowed to use, default Xen picks
#cpus = ""         # leave to Xen to pick
#cpus = "0"        # all vcpus run on CPU0
#cpus = "0-3,5,^1" # all vcpus run on cpus 0,2,3,5
#cpus = ["2", "3"] # VCPU0 runs on CPU2, VCPU1 runs on CPU3

# Optionally define mac and/or bridge for the network interfaces.
# Random MACs are assigned if not given.
#vif = [ 'type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0, model=ne2k_pci' ]
# type=ioemu specify the NIC is an ioemu device not netfront
vif = [ 'type=ioemu, bridge=eth0' ]

#----------------------------------------------------------------------------
# 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.
#
# STUBDOM: do not put it here but in stubdom-ExampleHVMDomain

#disk = [ 'phy:hda1,hda1,r' ]
#disk = [ 'file:/var/images/min-el3-i386.img,hda,w', ',hdc:cdrom,r' ]

#----------------------------------------------------------------------------
# Configure the behaviour when a domain exits.  There are three 'reasons'
# for a domain to stop: poweroff, reboot, and crash.  For each of these you
# may specify:
#
#   "destroy",        meaning that the domain is cleaned up as normal;
#   "restart",        meaning that a new domain is started in place of the old
#                     one;
#   "preserve",       meaning that no clean-up is done until the domain is
#                     manually destroyed (using xm destroy, for example); or
#   "rename-restart", meaning that the old domain is not cleaned up, but is
#                     renamed and a new domain started in its place.
#
# In the event a domain stops due to a crash, you have the additional options:
#
#   "coredump-destroy", meaning dump the crashed domain's core and then destroy;
#   "coredump-restart', meaning dump the crashed domain's core and the restart.
#
# The default is
#
#   on_poweroff = 'destroy'
#   on_reboot   = 'restart'
#   on_crash    = 'restart'
#
# For backwards compatibility we also support the deprecated option restart
#
# restart = 'onreboot' means on_poweroff = 'destroy'
#                            on_reboot   = 'restart'
#                            on_crash    = 'destroy'
#
# restart = 'always'   means on_poweroff = 'restart'
#                            on_reboot   = 'restart'
#                            on_crash    = 'restart'
#
# restart = 'never'    means on_poweroff = 'destroy'
#                            on_reboot   = 'destroy'
#                            on_crash    = 'destroy'

#on_poweroff = 'destroy'
#on_reboot   = 'restart'
#on_crash    = 'restart'

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

# Device Model to be used
#
# STUBDOM: this is a script that creates the stub domain running the device
# model
device_model = '/usr/lib/xen/bin/stubdom-dm'

#-----------------------------------------------------------------------------
# boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d) 
# default: hard disk, cd-rom, floppy
#boot="cda"

#-----------------------------------------------------------------------------
#  write to temporary files instead of disk image files
#snapshot=1

#----------------------------------------------------------------------------
# enable SDL library for graphics, default = 0
# 
# STUBDOM: always disable since the stub domain doesn't have direct X access
sdl=0

#----------------------------------------------------------------------------
# enable OpenGL for texture rendering inside the SDL window, default = 1
# valid only if sdl is enabled.
# 
# STUBDOM: always disable for the same reason
opengl=0

#----------------------------------------------------------------------------
# enable VNC library for graphics, default = 1
vnc=1

#----------------------------------------------------------------------------
# address that should be listened on for the VNC server if vnc is set.
# default is to use 'vnc-listen' setting from /etc/xen/xend-config.sxp
#vnclisten="127.0.0.1"
vnclisten="172.30.206.1"
#----------------------------------------------------------------------------
# set VNC display number, default = domid
#vncdisplay=1

#----------------------------------------------------------------------------
# try to find an unused port for the VNC server, default = 1
#vncunused=1

#----------------------------------------------------------------------------
# enable spawning vncviewer for domain's console
# (only valid when vnc=1), default = 0
#vncconsole=0

#----------------------------------------------------------------------------
# set password for domain's VNC console
# default is depents on vncpasswd in xend-config.sxp
vncpasswd='123456'

#----------------------------------------------------------------------------
# no graphics, use serial port
#nographic=0

#----------------------------------------------------------------------------
# enable stdvga, default = 0 (use cirrus logic device model)
stdvga=0

#-----------------------------------------------------------------------------
#   serial port re-direct to pty deivce, /dev/pts/n 
#   then xm console or minicom can connect
# 
# STUBDOM: always disable as the stub domain doesn't have access to dom0's
# ptys
#serial='pty'


#-----------------------------------------------------------------------------
#   Qemu Monitor, default is disable
#   Use ctrl-alt-2 to connect
#monitor=1


#-----------------------------------------------------------------------------
#   enable sound card support, [sb16|es1370|all|..,..], default none
# 
# STUBDOM: not supported
#soundhw='sb16'


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


#-----------------------------------------------------------------------------
#    set the real time clock offset in seconds [default=0 i.e. same as dom0]
#rtc_timeoffset=3600

#-----------------------------------------------------------------------------
#    start in full screen
#full-screen=1   


#-----------------------------------------------------------------------------
#   Enable USB support (specific devices specified at runtime through the
#			monitor window)
#usb=1

#   Enable USB mouse support (only enable one of the following, `mouse' for
#			      PS/2 protocol relative mouse, `tablet' for
#			      absolute mouse)
#usbdevice='mouse'
#usbdevice='tablet'

#-----------------------------------------------------------------------------
#   Set keyboard layout, default is en-us keyboard. 
keymap='pt-br'

#-----------------------------------------------------------------------------
#   Configure guest CPUID responses:
#
#cpuid=[ '1:ecx=xxxxxxxxxxx00xxxxxxxxxxxxxxxxxxx,
#           eax=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' ]
# - Unset the SSE4 features (CPUID.1[ECX][20-19])
# - Default behaviour for all other bits in ECX And EAX registers.
# 
# Each successive character represent a lesser-significant bit:
#  '1' -> force the corresponding bit to 1
#  '0' -> force to 0
#  'x' -> Get a safe value (pass through and mask with the default policy)
#  'k' -> pass through the host bit value
#  's' -> as 'k' but preserve across save/restore and migration
# 
#   Expose to the guest multi-core cpu instead of multiple processors
# Example for intel, expose a 8-core processor :
#cpuid=['1:edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx,
#          ebx=xxxxxxxx00010000xxxxxxxxxxxxxxxx',
#     '4,0:eax=001111xxxxxxxxxxxxxxxxxxxxxxxxxx']
#  - CPUID.1[EDX][HT] : Enable HT
#  - CPUID.1[EBX] : Number of vcpus * 2
#  - CPUID.4,0[EAX] : Number of vcpus * 2 - 1
#vcpus=8
#
# Example for amd, expose a 5-core processor :
# cpuid = ['1:ebx=xxxxxxxx00001010xxxxxxxxxxxxxxxx,
#             edx=xxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
# '0x80000001:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1x',
# '0x80000008:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxx001001']
#   - CPUID.1[EBX] : Threads per Core * Cores per Socket (2 * #vcpus)
#   - CPUID.1[EDX][HT] : Enable HT
#   - CPUID.0x80000001[CmpLegacy] : Use legacy method
#   - CPUID.0x80000008[ECX] : #vcpus * 2 - 1
#vcpus=5
#
#  Downgrade the cpuid to make a better compatibility for migration :
# Look like a generic 686 :
# cpuid = [ '0:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0',
#           '1:eax=0x06b1,
#              ecx=xxxxxxxxxx0000xx00xxx0000000xx0,
#              edx=xx00000xxxxxxx0xxxxxxxxx0xxxxxx',
#           '4:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0',
#  '0x80000000:eax=0x3,ebx=0x0,ecx=0x0,edx=0x0']
#  with the highest leaf
#  - CPUID.0[EAX] : Set the highest leaf
#  - CPUID.1[EAX] : 686 
#  - CPUID.1[ECX] : Mask some features
#  - CPUID.1[EDX] : Mask some features
#  - CPUID.4 : Reply like the highest leaf, in our case CPUID.3
#  - CPUID.0x80000000 : No extension we are on a Pentium III, reply like the
#  highest leaf (CPUID.3).
#
#   Configure host CPUID consistency checks, which must be satisfied for this
#   VM to be allowed to run on this host's processor type:
#cpuid_check=[ '1:ecx=xxxxxxxxxxxxxxxxxxxxxxxxxx1xxxxx' ]
# - Host must have VMX feature flag set
#
# The format is similar to the above for 'cpuid':
#  '1' -> the bit must be '1'
#  '0' -> the bit must be '0'
#  'x' -> we don't care (do not check)
#  's' -> the bit must be the same as on the host that started this VM


#-----------------------------------------------------------------------------
#   Configure PVSCSI devices:
#
#vscsi=[ 'PDEV, VDEV' ]
#
#   PDEV   gives physical SCSI device to be attached to specified guest
#          domain by one of the following identifier format.
#          - XX:XX:XX:XX (4-tuples with decimal notation which shows
#                          "host:channel:target:lun")
#          - /dev/sdxx or sdx
#          - /dev/stxx or stx
#          - /dev/sgxx or sgx
#          - result of 'scsi_id -gu -s'.
#            ex. # scsi_id -gu -s /block/sdb
#                  36000b5d0006a0000006a0257004c0000
#
#   VDEV   gives virtual SCSI device by 4-tuples (XX:XX:XX:XX) as 
#          which the specified guest domain recognize.
#

#vscsi = [ '/dev/sdx, 0:0:0:0' ]

[-- Attachment #4: hvmtest-dm --]
[-- Type: application/octet-stream, Size: 223 bytes --]

kernel = "/usr/lib/xen/boot/ioemu-stubdom.gz"
vif = [ 'ip=172.30.206.1', 'bridge=eth0' ]
disk = [  'file:/home/iso/debian-LennyBeta2-amd64-CD-1.iso,hdc:cdrom,r', 'phy:/dev/empirevg/lenny.hvm,hda,w' ]
#vfb = [ 'type=vnc' ]


[-- Attachment #5: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-09-01 23:38 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-29 15:49 stubdom problem Marco Sinhoreli
2008-08-29 15:56 ` Samuel Thibault
2008-08-29 16:35   ` Marco Sinhoreli
2008-08-29 16:45     ` Samuel Thibault
2008-08-29 16:54       ` Marco Sinhoreli
2008-08-29 17:02         ` Samuel Thibault
2008-08-29 17:29           ` Marco Sinhoreli
2008-08-30 20:37             ` Samuel Thibault
2008-09-01 18:24               ` Marco Sinhoreli
2008-09-01 18:30                 ` Marco Sinhoreli
2008-09-01 19:39                 ` Samuel Thibault
2008-09-01 21:09                   ` Marco Sinhoreli
2008-09-01 23:38                     ` Samuel Thibault

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.