Home
Solaris and Xen

My experience
Last Update: 03.06.2009 18:45


  1. Solaris and Xen
    1. Introduction
    2. Environment used
    3. Supported Hardware
      1. Network adapters
        1. Supported network adapters
        2. Not supported network adapters
    4. Xen on Solaris Details
      1. Files and Directories used by Xen
      2. Xen Packages
        1. Which packages are neccessary for a Dom0?
        2. Which packages are necessary for a DomU?
      3. DomU Images tested
        1. Solaris snv_75 (Cluster  SUNWCrnet + xVM packages)
        2. Solaris snv_75 created with the Solaris installation program running in a DomU
        3. Solaris with Xen 07/07 DomU
        4. Ubuntu Feisty 7.04 with PAE kernel
        5. Centos 4 Image from the Xen Demo CD
        6. Centos 5 Image from jailtime
        7. Xenoppix 5.1.1
        8. Foresight Linux 1.3
        9. Fedora 7 (FC7)
        10. Fedora 8 (FC8)
        11. NetBSD 4.0  from the ISO image
        12. NetBSD 4.0 from the ftp server
        13. Netware 6.5
        14. VMKnoppix Livecd with Xen 3.2
        15. Centos 5, network installation via http
        16. Centos 5.1, network installation via http
      4. Other DomU Images
        1. Netware
        2. FreeBSD
      5. GUIs for Xen
      6. Booting DomUs on Solaris
      7. Xen and other Virtualization Solutions
        1. Qemu
        2. VirtualBox
      8. VirtualBox and Xen
    5. Missing Features
      1. Hiding devices from Dom0
      2. Dynamic Hardware changes for DomU
      3. prtdiag does not work in DomUs
      4. ACPI is not (fully) implemented
      5. Running 32 Bit DomUs in a 64 Bit Dom0 [resolved in snv85]
      6. Full Network support
      7. blktap not yet supported [resolved in snv101]
    6. Bugs
      1. How to get rid of a zombie domU
      2. Known bugs in snv_75
      3. Known bugs in snv_81
        1. TCP checksum must be disabled in snv_81
      4. Known bugs in snv_85
        1. TCP checksum must be disabled in snv_85
      5. Known bugs in snv_87
        1. 32-bit dom0 and PV domU is broken in snv_87
    7. Debugging
      1. How to dump the image of a guest domain
      2. How to enable the serial console for the GRUB menu
      3. How to enable the serial console for the Dom0
      4. How to use kernel debugger in the Dom0
      5. How to start a Solaris DomU in debug mode
    8. Trouble Shooting
      1. General
      2. My changes to /etc/system are not persistent
      3. Creating the boot-archive failed in a DomU
      4. How to change the output of uname
      5. NameError: name 'FutureWarning' is not defined
      6. Error: Unknown device type: console
      7. ERROR Internal error: Couldn't map p2m_frame_list_list (errno 14) (14 = Bad address)
      8. Error: (2, 'Invalid kernel', 'Non PAE-kernel on PAE host.')
      9. Error: (2, 'Invalid kernel', 'elf_xen_note_check: ERROR: Will only load images built for the generic loader or Linux images')
      10. Error: (11, 'Resource temporarily unavailable')
      11. Error: (22, 'Invalid argument')
      12. ip: joining multicasts failed
      13. WARNING: xnb_alloc_page: Cannot allocate memory to transfer packets to peer
      14. The Network connection of a Solaris DomU does not work
      15. How to slow down ballooning
      16. Error creating a windows HVM
      17. Can not change the default NIC for Xen
      18. Cannot mount root path
      19. Unable to install domU's on Indiana preview 2
      20. lucreate does not work in a Dom0
      21. Windows DomU and Networking
      22. Using ZFS in a Dom0
      23. Can not start a 64 Bit Solaris in a HVM
      24. Error: HVM guest support unavailable..
      25. Is there a way to define VLAN tags on VNICs for xVM?
      26. This version of Solaris xVM does not support this hardware
      27. Xen 3.2 and Solaris DomU
      28. Using file images with Xen 3.2
    9. Trouble Shooting non-Solaris issues
      1. Error: Device 0 (vif) could not be connected. Hotplug scripts not working
      2. Configuring loop devices in Linux
      3. Use "file:/" in Xen 3.2
      4. A DomU starts but there is no access to the console fo the DomU
    10. HowTos
      1. Solaris Dom0 Howtos
        1. How to install Xen on Solaris
        2. What SMF services are used in the Dom0 for Xen?
        3. What Solaris Installation cluster is necessary to install Xen?
        4. How to create a minimal Solaris DomU or Dom0
        5. How to create a Solaris DomU or Dom0 that boots from a RAM disk
        6. How to add Xen / xVM DomU support to a Solaris Live Distribution
        7. How to check if a machine supports HVM DomUs
        8. Can I start a 32 Bit DomU in a 64 Bit Dom0 or vice versa?
        9. Where is the config file for Xen?
        10. Where are the logfiles from Xen?
        11. Contents of the log files
        12. The Xen Webserver (localhost:8000) only shows two links to himself
        13. How to view information about the installed Xen version
        14. How to view the Xen kernel messages
        15. How to check if a we're running in a Xen Domain (either Dom0 or DomU)
        16. How to check if we're running in a Solaris Xen Dom0
        17. How to check the amount of free space available for DomUs
        18. How to check the type of a running DomU
        19. How to access the xenstore
          1. bash-3.00# /usr/lib/xen/bin/xenstore-list /local/domain/0
          2. bash-3.00# /usr/lib/xen/bin/xenstore-list /local/domain/2
          3. bash-3.00# /usr/lib/xen/bin/xenstore-list /local/domain/1
          4. bash-3.00# /usr/lib/xen/bin/xenstore-read /local/domain/1/vm
          5. bash-3.00# /usr/lib/xen/bin/xenstore-read /local/domain/1/domid
          6. bash-3.00# /usr/lib/xen/bin/xenstore-ls
        20. How to snoop the network adapter of a DomU
        21. How to send a break to the Dom0
        22. How to use bridged networking
        23. What is the default console for a Dom0
      2. General DomU HowTos
        1. How to install new guest domains?
        2. How to use the PV framebuffer
        3. How to auto start a DomU at system boot time
        4. How to get a graphical login for a DomU
        5. Do I need to disable checksum offload?
        6. How to pause/unpause a DomU
        7. How to work with Xend managed domains
        8. How to save and restore a DomU
        9. How to enable Live Migration
        10. Is there a limit for file based disk images like in Linux Dom0s?
        11. How to convert a DomID to a DomName and vice versa
        12. How to increase the memory of a running DomU
        13. How to attach a disk image or disk device in read/write mode
        14. How to list the settings of a running DomU
        15. How to start a DomU from a logical partition
        16. How to create a disk image file for a DomU
        17. How to copy a DomU image file created as sparse file
        18. How to use a dedicated network adapter in a DomU
        19. How to send a break to a DomU
        20. How to pass parameter to the kernel of a DomU
        21. Hints for using a VNC session for DomUs
        22. How do I see that a DomU is running as paravirtualized
      3. Solaris DomU HowTos
        1. How to create a Solaris DomU
        2. Installing Solaris snv_75 in a DomU running in Linux Dom0
        3. boot_archive handling
        4. How to install VNC Server in a Solaris DomU
        5. How to mount a Solaris DomU disk image in the Dom0
        6. How to attach another network adapter to a running Solaris DomU
        7. How to attach a disk image file to a running Solaris DomU
        8. How to attach an ISO image file to running Solaris DomU
        9. How to attach the physical CDROM drive to a running Solaris DomU
        10. How to attach a USB disk to a running Solaris DomU
        11. How to turn off checksum offloading in a Solaris DomU
        12. How to boot Solaris xVM off a ZFS root filesystem
        13. How to convert 2008.05 to a UFS based installation
      4. Linux DomU HowTos
        1. How to create sample Linux DomUs without installing Linux
        2. Which Linux Kernel is necessary for Xen 3.0 Domains?
        3. How to get the Network working in a Linux DomU
        4. How to mount a Linux DomU disk image in the Solaris Dom0
        5. How to access NTFS partitions from Solaris
        6. How to attach a disk image file to a running Linux DomU
        7. How to attach an ISO image file to a running Linux DomU
        8. How to attach the physical CDROM drive to a running Linux DomU
        9. How to resize a Linux DomU disk file image
      5. Other DomU HowTos
        1. How to install windows in a DomU
    11. Files
    12. xen_explorer.sh
      1. Sample HTML files created by xen_explorer.sh v0.0.3
      2. Sample HTML files created by xen_explorer.sh v0.0.2
      3. Download link for xen_explorer.sh
    13. Links
      1. General
      2. Documentation
      3. man pages
      4. Xen and OpenSolaris
      5. Blog entries, Wiki pages, etc
      6. Sun xVM Ops Center
      7. Xen DomU Images and utils
        1. Solaris DomU Images
        2. Linux DomU Images
        3. FreeBSD and NetBSD DomU Images
        4. Other DomU Images
        5. Xen/XVM GUIs & Tools
      8. Books
      9. Qemu Websites
      10. kvm Websites
      11. VirtualBox Websites
      12. German Websites
    14. Credits
    15. History



Solaris and Xen



Introduction


On this page I document my experience with Xen on Solaris 10 x86.

Due to the nature of this issue - Xen support for Solaris is just starting - this web site is far from being complete and always more or less work in progress. If you find a bug or know information not mentioned here please let me know:  email .

I'll continue to update this web site and record the changes in the history section below.

Note that this document only talks about Xen 07/07 for Solaris and newer. If you need the information about the previous Xen Releases for Solaris please look here.

Frankfurt, 24.07.2007    Bernd Schemmer



Special Note for German readers:

Wer sich ernsthaft mit Xen beschaeftigen will, sollte sich mal das Buch "Xen3" [20.11.06] von Andrej Radonic und Frank Meyer anschauen (Franzis Verlag, ISBN 9 783772 378997)

Das Buch bietet eine ausfuehrliche Beschreibung von Xen inklusive Xen unter OpenSolaris und ist sehr zu empfehlen.

(Weitere Links mit Informationen ueber Xen in Deutsch sind weiter unten aufgelistet)

Siehe auch den Hinweis zur neuen Auflage des Buches



Update 22.10.2007

The new build 75 of Solaris Express contains Xen now called xVM (see here [23.10.07])

You can download the build 75 of Solaris Express here:
http://www.opensolaris.org/os/downloads/on/

The docs for xVM are here: http://opensolaris.org/os/community/xen/docs/


Update 06.04.2008

The new build 85 of Solars Express is now based on Xen 3.1



Update 21.05.2008

There's a new Sun Blue Print about Xen:

Understanding the Sun xVM Hypervisor Architecture




Update 31.05.2008 - for German Readers

Das Buch Xen 3 ist aktuell in der 2. Auflage erschienen, nun mit dem passenden Titel "Xen 3.2".

Xen 3.2 . Von Andrej Radonic, Frank Meyer, Thomas Halinka. Franzis Verlag. Zweite, vollständig aktualisierte Auflage.

Das Xen 3.2 Buch ist als Praxisbuch für Profis, Einsteiger und Entscheider konzipiert. Es informiert umfassend über Xen liefert alle wichtigen Informationen zu Installation, Konfiguration und Planung aus einer Hand.

Preis: ¤ 39,95
ISBN 978-3772372476

Weitere Infos gibt's hier:

http://buch.eisxen.org/ [31.05.08]




Some notes about the notation used on this site


Every paragraph is marked with a stamp like this: [24.07.07 Xen 07_2007]

This means the information was added on 24.07.2007 while I was using Xen Release 07/2007.

Another example:

[25.10.07 Solaris snv_75]

This means the information was added on 25.10.07 while I was using Solaris snv_75 (Beginning with Solaris snv_75 Xen was integrated in OpenSolaris).

In Solaris snv_75 Xen in Solaris was renamed to xVM but I will continue to use the term Xen in this document.

Please note that entries marked with something like  [08.08.06 snv_43 Xen 07_2006] means that I did only test this issue with the Xen version 07/2006. That may or may not work with Xen 07/07 or newer.


Every link is marked with a stamp like this: [19.01.06]

The date is the last date that I checked the website referenced by the link.


Infos from other sources (like Blogs or Mailing lists) are marked with a stamp like this: (Source: Casper Dik, 14.01.06 [19.01.06])

This means the entry was made by Casper Dik on 14.01.06 and the last time I checked this link was 19.01.2006.


Text that I borrowed from other sources is printed with grey background like this

This text was taken from another source




back to top

Environment used

My environment is as follows:

I tested Xen and Solaris on an Acer Ferrari 4005. My general experience with Solaris on the Acer Ferrari 4005 is documented here.

I used Xen 07/2007 which is based on build 66 for my tests.

[24.10.07 Solaris snv_75]

Starting today I use Solaris snv_75 and xVM for my tests

[01.01.08 Solaris snv_78]

Starting today I use Solaris snv_78 and xVM for my tests

[03.02.08 Solaris snv_81]

Starting today I use Solaris snv_81 and xVM for my tests

[15.03.08 Solaris snv_84]

Starting today I use Solaris snv_84 and xVM for my tests

[23.03.08 Solaris snv_84]

I'm now proud owner of a Thinkpad T61p with 4 GB memory and will use this machine in addition to my primary test machine (a Acer Ferrari  4000) for testing Solaris xVM.

[28.03.08 Solaris snv_85]

Starting today I use Solaris snv_85 and xVM for my tests. snv_85 is the first Solaris Release with xVM based on Xen 3.1.


[03.04.08 Solaris snv_85]

It looks like Solaris does currently not work in a DomU running in a Xen 3.2 Dom0; see also Xen_3.2_and_Solaris_DomU


[21.05.08 Solaris snv_85]

Note:

To view the changelog of a specific OpenSolaris Build use the URL

http://dlc.sun.com/osol/on/downloads/b##/on-changelog-b##.html

and replace ## with the build number, e.g. the URL for snv_89 is:

http://dlc.sun.com/osol/on/downloads/b89/on-changelog-b89.html [21.05.08]


[22.05.08 Solaris snv_89]

Starting today I use Solaris snv_89 and xVM for my tests


[30.10.08 Solaris snv_101]

Starting today I use Solaris snv_101 and xVM for my tests



back to top

Supported Hardware



Network adapters

[05.08.07 Xen 07_2007]

Xen can only use network adapters for which a GLDv3 driver exists


Supported network adapters

[06.08.07 Xen 07_2007]

Date
Adapter
Chipset, Manufacturer
Device driver in Solaris
Comment
05.08.07

Broadcom
bge own experiences, Project nemo home page [06.08.07]
06.08.07

Intel
e1000g
Project nemo home page [06.08.07]
06.08.07

Neterion
xge
Project nemo home page [06.08.07]
06.08.07

nVidia
nge
Project nemo home page [06.08.07]
06.08.07

Realtek
rge
Project nemo home page [06.08.07]
06.08.07

Intel
ixgb
Project nemo home page [06.08.07]
24.12.07

Marvell Yukon gigabit ethernet adapter and the skge driver from SysKonnect
Works with the driver from Masayuki Murayama [24.12.07] compiled for GLDv3 ; see this blog entry [24.12.07] for comile instructions.


Network adapter from Sun that can be used:

X7286A Sun PCI-X GigE MMF Low Profile Intel 1x Fiber PCI-X NIC (PLC 5667)
X7285A Sun PCI-X Dual GigE UTP Low Profile Intel 2x UTP PCI-X NIC (PLC 5666)
X7281A-2 Dual Gigabit Ethernet MMF Intel 2x Fiber PCIe NIC (Northstar MMF)
X7280A-2 Dual Gigabit Ethernet UTP Intel 2x UTP PCIe NIC (Northstar UTP)
X9273A Quad Ethernet Controller Intel 4x UTP PCI-X GBE NIC
X9271A Single Ethernet Controller Intel 1x UTP PCI-X GBE NIC


Not supported network adapters

[06.08.07 Xen 07_2007]

Date
Adapter
Chipset
Device driver in Solaris Comment
05.08.07
Intel Pro/100 (?)
iprb Source: Xen Discussion [05.08.07]


In general, if  "dladm show-link says "type: legacy" the network card driver is a non-GLDv3 driver.

Example:

bash-3.2# dladm show-link
bge0            type: non-vlan  mtu: 1500       device: bge0
iwi0            type: non-vlan  mtu: 1500       device: iwi0


In this example both adapter use GLDv3 driver. The bge0 adapter can be used for Xen but the iwi0 adapter can not be used (it's also using a GLDv3 driver but it's a wireless adapter which are not yet supported in Xen).

(see below if you're using Solaris snv_84 or newer)


[10.08.07 Xen 07_2007]

Wireless Network adapter are not supported for DomUs in this version of Xen.

[24.12.07 Xen Solaris snv_75]

If there's no GLDv3 driver in Solaris for your network card check the Free NIC drivers for Solaris from Masayuki Murayama [24.12.07]
for a driver for your network adapter.


[22.03.08 Solaris snv_84]

dladm output changed with the integration of the Clearview UV project [04.04.08]

> > What can I do to verify I have the correct GLD3 driver installed and 
> > eliminate this as the problem of the xend.err above?

Try to create a VNIC 'by hand', e.g.:

# /usr/lib/vna bfe0 aa:1:2:3:4:5

If this succeeds then bfe0 is usable by the Xen tools. It should  output 'vnic0' (perhaps not '0') when successful. You can remove the VNIC it creates with

/usr/lib/vna vnic0

Example output for a non-GLDv3 driver:

# /usr/lib/vna bfe0 aa:1:2:3:4:5
dladm_vnic_create: operation not supported

 
Example output for a GLDv3 driver:

bash-3.2# /usr/lib/vna bge0 aa:1:2:3:4:5
vnic2

bash-3.2# ifconfig vnic2
ifconfig: status: SIOCGLIFFLAGS: vnic2: no such interface

bash-3.2# ifconfig vnic2 plumb
bash-3.2# ifconfig vnic2
vnic2: flags=201000842<BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu 1500 index 3
        inet 0.0.0.0 netmask 0
        ether aa:1:2:3:4:5



Source: http://www.opensolaris.org/jive/thread.jspa?threadID=50930&tstart=0  [22.03.08]


Note:

Ethernet controller device list  [06.08.07]

Crossbow FAQ [24.10.07]

The Crossbow FAQ contains a list of supported and non-supported network adapters.



Xen on Solaris Details




Files and Directories used by Xen


[28.07.07 Xen 07_2007]

[Last Update: 28.03.08 Solaris snv85]


File/Directory name
Type
content (guess only!)
comment




/usr/lib/xen/bin
Directory
internal Xen binaries

/usr/lib/xen/scripts
Directory
Scripts for the backend device configuration

/var/log/xen
Directory
Xen Logfiles

/var/lib/xend/domains
Directory
directory used for suspended Domains and for the configuration of Managed Domains
check the size of this directory on a regular base!
/var/lib/xend/storage
Directory


/var/lib/xen
Directory
Directory used by virt-install

/var/lib/xenstored
Directory


/var/xen/dump
Directory
Directory for DomU core dumps
check the size of this directory on a regular base!




/usr/share/xen/qemu/keymaps
Directory
keymaps used

/var/run/xenstore.pid
file
pidfile for xenstored

/var/lib/xenstored/tdb
file
xenstored Database
persistent until build 78; in build 79 and newer this database is not persistent anymore
/lib/svc/share/xvm_include.sh

file
include file for shell scripts
In Solaris snv81 this script definese the following functions:

not_dom0
disable_xvm

In addition this script includes the general include file for SMF start/stop scripts /lib/svc/share/smf_include.sh

Update: 04.02.08 : Note that this script is not a public interface - use it at your own risk.

Update 15.11.08:

In Solaris snv_101 the scripts defines the functions:

is_dom0
xvm_init

/usr/include/xen
directory
header files for Xen / xVM








Xen Packages


[29.07.07 Xen 07_2007]

bash-3.00# tar -tvf xen-3.0.4-1-sun.packages.tar
drwxr-xr-x 36248/10       0 Jul 11 17:47 2007 xen-3.0.4-1-sun.packages/
-rw-r--r-- 36248/10  3309568 Jul 11 17:47 2007 xen-3.0.4-1-sun.packages/SUNWxhyphvm.pkg
-rw-r--r-- 36248/10  327680 Jul 11 17:47 2007 xen-3.0.4-1-sun.packages/SUNWxhyph.pkg
-rw-r--r-- 36248/10  3076608 Jul 11 17:47 2007 xen-3.0.4-1-sun.packages/SUNWlibvirt.pkg
-rw-r--r-- 36248/10  5563904 Jul 11 17:12 2007 xen-3.0.4-1-sun.packages/SUNW0xenhvmtools.pkg
-rw-r--r-- 36248/10  18401280 Jul 11 17:46 2007 xen-3.0.4-1-sun.packages/SUNWonbld-xen.pkg
-rw-r--r-- 36248/10  2390528 Jul 11 17:47 2007 xen-3.0.4-1-sun.packages/SUNWxhypr.pkg
-rw-r--r-- 36248/10  2981376 Jul 11 17:47 2007 xen-3.0.4-1-sun.packages/SUNWxhypu.pkg
-rw-r--r-- 36248/10  179712 Jul 11 17:47 2007 xen-3.0.4-1-sun.packages/SUNWxhypdomu.pkg
-rw-r--r-- 36248/10   23552 Jul 11 17:47 2007 xen-3.0.4-1-sun.packages/SUNWxhypdomr.pkg
-rw-r--r-- 36248/10  1685504 Jul 11 17:12 2007 xen-3.0.4-1-sun.packages/SUNW0xenbldtools.pkg


[25.10.07 Solaris snv_75]

In Solaris snv_75 the name of the packages changed to

system      SUNWxvmdomr                      Hypervisor Domain Tools (Root)
system      SUNWxvmdomu                      Hypervisor Domain Tools (Usr)
system      SUNWxvmhvm                       Hypervisor HVM
system      SUNWxvmr                         Hypervisor (Root)
system      SUNWxvmu                         Hypervisor (Usr)

[28.03.08 Solaris snv_85]

system      SUNWxvmdomr                      Hypervisor Domain Tools (Root)
system      SUNWxvmdomu                      Hypervisor Domain Tools (Usr)
system      SUNWxvmh                         Hypervisor Header Files
system      SUNWxvmhvm                       Hypervisor HVM
system      SUNWxvmpv                        xVM Paravirtualized Drivers
system      SUNWxvmr                         Hypervisor (Root)
system      SUNWxvmu                         Hypervisor (Usr)


[21.05.08 Solaris snv_85]

List of necessary packages for xVM (from Understanding the Sun xVM Hypervisor Architecture)

# pkginfo | grep xvm
system SUNWxvmdomr       Hypervisor Domain Tools (Root)
system SUNWxvmdomu       Hypervisor Domain Tools (Usr)
system SUNWxvmh          Hypervisor Header Files
system SUNWxvmhvm        Hypervisor HVM
system SUNWxvmpv         xVM paravirtualized Drivers
system SUNWxvmr          Hypervisor (Root)
system SUNWxvmu          Hypervisor (Usr)

# pkginfo | grep virt
system SUNWlibvirt       libvirt
system SUNWvirtinst      virt-install

# pkginfo | grep urlgrabber
system SUNWurlgrabber urlgrabber


[15.11.08 Solaris snv_101]

bash-3.2# pkginfo | grep SUNWxvm
system      SUNWxvmdomr                      Hypervisor Domain Tools (Root)
system      SUNWxvmdomu                      Hypervisor Domain Tools (Usr)
system      SUNWxvmh                         Hypervisor Header Files
system      SUNWxvmhvm                       Hypervisor HVM
system      SUNWxvmipar                      xVM PV IP address agent (Root)
system      SUNWxvmipau                      xVM PV IP address agent (Usr)
system      SUNWxvmpv                        xVM Paravirtualized Drivers
system      SUNWxvmr                         Hypervisor (Root)
system      SUNWxvmu                         Hypervisor (Usr)

bash-3.2# pkginfo | grep virt | grep -v GNOME
system      SUNWlibvirt                      Libvirt (Usr)
system      SUNWlibvirtr                     Libvirt (Root)
system      SUNWvirtinst                     virt-install
system      SUNWxvmpv                        xVM Paravirtualized Drivers

bash-3.2# pkginfo | grep urlgra
system      SUNWurlgrabber                   urlgrabber





Which packages are neccessary for a Dom0?

[11.02.08 Solaris snv_81]

The following packages are required for dom0 support.

SUNWvirtinst
SUNWurlgrabber
SUNWlibvirt
SUNWxvmhvm
SUNWxvmdom
SUNWxvm
SUNWgccruntime
SUNWgnutls
SUNWlibsdl
FSWxwpft
FSWxwrtl
Source:  see this thread [11.02.08] on the OpenSolaris  Discussion list



Which packages are necessary for a DomU?


[15.11.08 Solaris snv_101]

The following packages are required for DomU support:

SUNWcakr.i
SUNWcakrx.i



back to top

DomU Images tested


I only tested a Solaris DomU and a few other images right now beause all the "old" DomU images I have use non-PAE kernels and therefor will not run under a Solaris Dom0 version 07/07, Solaris snv_75 or newer.

See below for Links to other DomU images

Note:

Disabling checksum offload (ethtool -K eth0 tx off) in the DomUs is not neccessary anymore.

Update [03.02.08]

It looks like disabling TCP checksum is again necessary in Solaris snv_81 DomUs.


Update [06.04.08]


It looks like disabling TCP checksum is again necessary in Solaris snv_85 DomUs; if the network is not or only partially working in a Linux DomU or Solaris DomU you should test if it works after disabling checksum offload


Image
32/64 Bit?
Dom0
Status
Date
Solaris snv_85

created with the Solaris installation program running in a Domu

# uname -a
SunOS snv85domU001 5.11 snv_85 i86pc i386 i86xpv

Note:

The checksum disabling in the DomU is again neccessary; therefor install the DomU without name service configuration and add

set xnf:xnf_cksum_offload = 0


to the /etc/system after the installation

32 Bit
Solaris
snv_85


works



06.04.2008



Solaris snv_81

created with the Solaris installation program running in a DomU
virt-install -n solarisPV --paravirt -r 1024  \
 --nographics -f /export/xen-images/sol11pv.img \
 -s 16 -l /export/cdimg/iso/sol-nv-b81.iso
bash-3.2# uname -a
SunOS sol10nv81002 5.11 snv_81 i86pc i386 i86xpv

Note:

Disable TCP checksums in the DomU to get the complete network functionality if the Dom0 and the DomU are running Solaris snv_81.
32 Bit
Solaris snv_78


works



03.02.2008



Solaris snv_75 (Cluster  SUNWCrnet + xVM packages)

created with the Solaris installation program running in a DomU; see here

bash-3.2# uname -a
SunOS dhcppc0 5.11 snv_75 i86pc i386 i86xpv

32Bit
Solaris snv_75


works



26.10.2007



Solaris snv_75 created with the Solaris installation program running in a DomU


bash-3.2# uname -a
SunOS dhcppc0 5.11 snv_75 i86pc i386 i86xpv

32Bit
Ubuntu 7.10 with Xen 3.1; see here
works
24.10.2007

Solaris with Xen 07/07 DomU


see here [07.08.07] for how to create a Solaris DomU running in a Solaris Dom0
32Bit
Xen
 07/07

Solaris snv_75
works


works
25.07.2007


27.10.2007

Ubuntu Feisty 7.04 with PAE kernel


root@ubuntu_v001:~# uname -a
Linux ubuntu_v001 2.6.19-4-server #2 SMP Thu Apr 5 06:07:34 UTC 2007 i686 GNU/Linux

The DomU image was created on a Ubuntu Feisty Dom0 with debootstrap
32 Bit
Xen
 07/07

Solaris snv_75

Solaris snv_85


works


works


works



27.07.2007


27.10.2007


05.04.2008



Centos 4 Image from the Xen Demo CD


[root@dhcpppc2 ~] uname -a
Linux dhcppc2 2.6.16.29-xen #1 SMP Mon Oct 16 12:11:52 BST 2006 i686 athlon i386 GNU/Linux

see Xen - a Linux Dom without Linux [28.07.07]  for how to extract the image from the CDROM.

see also Centos 5, network installation via http
32 Bit

Xen
 07/07

Solaris snv_75


works


works



25.07.2007


27.10.2007



Centos 5 Image from jailtime


-bash-3.1# uname -a
Linux centos_pristine 2.6.19-4-server #2 SMP Thu Apr 5 06:07:34 UTC 2007 i686 athlon i386 GNU/Linux

The default root password is "password".

DHCP does not work in the default configuration but assigning an IP address manually for the network interface works.

The config file used for this DomU is:

kernel = "/export/xen-images/centos5/vmlinuz-2.6.19-4-server"
memory = 256
name = "centos.5-0"
vif = [ '' ]
disk = ['file:/export/xen-images/centos5/centos.5-0.img,sda1,w', 'file:/export/xen-images/centos5/centos.swap,sda2,w']
root = "/dev/sda1 ro"
ramdisk = "/export/xen-images/ubuntu_feisty/initrd.img-2.6.19-4-server"


The kernel and the ramdisk are from Xen 3.0.4.

see also Centos 5, network installation via http

32 Bit
Xen
 07/07

Solaris snv_75


works


works



29.07.2007


27.10.2007



Xenoppix 5.1.1

(see the download links)

To boot the Xenoppix 5.1.1 CD in a Solaris DomU do the following:

- download the ISO image for the CDROM

- mount the ISO image via lofiadm:

bash-3.00# lofiadm -a /export/incoming/knoppix_v5.1.1CD_20070104_xen3.1.0_vbox-20070620+IPAFont.iso
/dev/lofi/1

bash-3.00# mount -o ro -F hsfs /dev/lofi/1 /mnt


- copy the files miniroot-xen.gz and vmlinuz-2.6.18-xen to the harddisk

bash-3.00# cp /mnt/boot/xen/miniroot-xen.gz .
bash-3.00# cp /mnt/boot/xen/vmlinuz-2.6.18-xen .


- umount the ISO image

bash-3.00# umount /mnt

- remove the lofi device

bash-3.00# lofiadm -d /dev/lofi/1

- create a DomU config file for the ISO image named xenoppix.py. The file should look like:

name = "xenoppix"
memory = "368"
vcpus = "1"
disk = [ 'file:/export/incoming/knoppix_v5.1.1CD_20070104_xen3.1.0_vbox-20070620+IPAFont.iso,hdc,r' ]
vif = [ 'mac=00:16:3e:00:00:20' ]
ramdisk = "/export/xen-images/xenoppix/miniroot-xen.gz"
kernel = "/export/xen-images/xenoppix/vmlinuz-2.6.18-xen"
extra = " ramdisk_size=100000 init=/etc/init lang=de apm=power-off nomce xserver=Xvnc_xen nosound noapic noacpi pnpbios=off acpi=off nofstab noscsi nodma noapm nousb nopcmcia nofirewire noagp noswap nohwsetup"


- create the DomU

bash-2.05# xm create -c xenoppix.py

- connect to the DomU with the vncviewer

bash-2.05# vncviewer 192.168.1.35

Note:

If using DHCP for the IP configuration you should use a fix mac address for the DomU and configure a fix IP address for the DomU on the DHCP server.

32 Bit


Xen 07/07



works




29.07.2007




Foresight Linux 1.3

(see the link section below)

[root@localhost rc.d]# uname -a
Linux localhost.localdomain 2.6.19-4-server #2 SMP Thu Apr 5 06:07:34 UTC 2007 i686 athlon i386 GNU/Linux

DHCP does not work in the default configuration but assigning an IP address manually to the network interface works.

The config file used for this DomU is:

kernel = "/export/xen-images/foresight/vmlinuz-2.6.19-4-server"
memory = 256
name = "foresight"
vif = [ '' ]
disk = ['file:/export/xen-images/foresight/foresight-2.18.3-x86.img,sda1,w']
root = "/dev/sda1 ro"
ramdisk = "/export/xen-images/foresight/initrd.img-2.6.19-4-server"


The kernel and the ramdisk are from Xen 3.0.4.


32 Bit
Xen 07/07


works



03.08.2007



Fedora 7 (FC7)

(see the link section below)

[root@dhcppc12 ~]# uname -a
Linux dhcppc12 2.6.20-2925.9.fc7xen #1 SMP Tue May 22 08:53:03 EDT 2007 i686 athlon i386 GNU/Linux

The Fedora 7 Installation DVD ISO Image already contains a Xen DomU kernel that can be used to install Fedora 7 in a DomU; Instructions:

Download the DVD ISO image for Fedora 7: F-7-i386-DVD.iso (see below)

# mount the image using lofiadm
#
bash-3.00#  mount -o ro -F hsfs $( lofiadm -a /export/xen-images/fc7/F-7-i386-DVD.iso ) /mnt

# check the result:
#
bash-3.00# df -k /mnt
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/lofi/1          2832620 2832620       0   100%    /mnt


# copy the initrd image and the kernel
#
bash-3.00# mkdir /export/xen-images/fc7
bash-3.00# cp /mnt/images/xen/initrd.img /export/xen-images/fc7
bash-3.00# cp /mnt/images/xen/vmlinuz /export/xen-images/fc7


# create an NFS share for the directory with the mounted ISO image
#
bash-3.00# share -o ro,anon=0 /mnt

# check the result
#
bash-3.00# dfshares
RESOURCE                                  SERVER ACCESS    TRANSPORT
   dhcppc1:/mnt                          dhcppc1  -         -
   dhcppc1:/export                       dhcppc1  -         -


# create a harddisk image for the DomU
#
bash-3.00# qemu-img create -f raw  /export/xen-images/fc7/fc7.img 10G
Formating '/export/xen-images/fc7/fc7.img', fmt=raw, size=10485760 kB

# create the DomU config file
#
bash-3.00# cat <<EOT >>/export/xen-images/fc7/fc7_install.cfg
kernel = "/export/xen-images/fc7/vmlinuz"
vcpus = 1
memory = "384"
name = "fc7"
vif = [ '' ]
disk = [ 'file:/export/xen-images/fc7/fc7.img,hda,w']
ramdisk = "/export/xen-images/fc7/initrd.img"
extra = "headless ip=dhcp vnc vncpassword=wibble method=nfs:192.168.1.21:/mnt/ lang=en_US keymap=de ksdevice=eth0"
vfb=[ "type=sdl" ]
EOT

# create the DomU
#
bash-3.00# xm create -c /export/xen-images/fc7/fc7_install.cfg

# wait for the VNC Server start message in the framebuffer window
# The message looks like
#     Please connect to 192.168.1.27:1 to begin the install

# Now start the VNC viewer (no user necessary; the password is the
# password used in the DomU config file ("wibble" in this example)
#
bash-3.00# vncviewer 192.168.1.27:1


# After the installation finished, shutdown the DomU and create a new config file for
# running the Domu:

bash-3.00# cat <<EOT >/export/xen-images/fc7/fc7_running.cfg
vcpus = 1
memory = "384"
name = "fc7"
vif = [ '' ]
disk = [ 'file:/export/xen-images/fc7/fc7.img,hda,w']
EOT

# and start the DomU
#
xm create -c /export/xen-images/fc7/fc7_running.cfg


Notes:


The messages

Could not get identity of device /dev/hda - invalid argument

Could not get identity of device /tmp/hda - invalid argument

while installing the DomU can be ignored

You should only use the PV framebuffer for the installation of the DomU because it's very fragile at this time. Install a VNC server in the DomU if you need a graphical display.

see also How to install a fedora Guest on Solaris Dom0 [07.08.07].

32 Bit
Xen 07/07

Solaris snv_75

Solaris snv_85


works


works


works



07.08.2007


27.10.2007


05.04.2008



Fedora 8 (FC8)

(see the link section below)

The installation of Fedora 8 in a DomU works (see Fedora 7 (FC) for the necessary steps to install FC8).

Notes:

After the installation the DomU did not boot from the disk image created due to a corrupted Xen kernel in the disk image. After copying the kernel used for the installation into the disk image the DomU booted fine.

The installation of FC8 did not work in a Dom0 running Solaris snv_78: The installation starts and after the IP configuration was done the DomU hung.

But I could boot the FC8 DomU from the disk image created in a Solaris snv_81 Dom0 in a DomU running in a Solaris snv_78 Dom0.

Update 04.04.08 Solaris snv_85

To change the kernel in the disk image for FC8  either attach the disk image to another DomU running Linux and correct the kernel from within this Linux DomU or boot the FC8 DomU with a cfg like this one:

vcpus = 1
memory = "384"
name = "fc8"
vif = [ '' ]
disk = [ 'file:/pool/xen-images/fc8/fc8.img,hda,w' ]
ramdisk = "/pool/xen-images/fc8/boot/initrd-2.6.21-2950.fc8xen.img"
kernel = "/pool/xen-images/fc8/vmlinuz"


32 Bit
Solaris snv_81

Solaris snv_85




works


the DomU works (Installation not tested)


05.02.2008


03.04.2008





NetBSD 4.0  from the ISO image

(see the link section below)

# uname -a
NetBSD  4.99.46 NetBSD 4.99.46 (XEN3_DOMU) #0: Sun Dec 30 11:11:09 PST 2007  builds@wb28:/home/builds/ab/HEAD/amd64/200712300002Z-obj/home/builds/ab/HEAD/src/sys/arch/amd64/compile/XEN3_DOMU amd64

Note:

There's no non-PAE Xen kernel for NetBSD 4.0; you can only run a NetBSD 4.0 64 Bit DomU in a 64 Bit Dom0.
You can also install NetBSD 4.0 direct from the NetBSD ftp server (see below).

Instructions

Download the NetBSD 4.0 64 Bit ISO image ( amd64cd-4.0.iso) and the two NetBSD Xen DomU kernels (they are not in the ISO image); see the link section below.

# create the DomU config file for the installation
#
bash-3.2# cat netbsd40_install.cfg
name = "netbsd40_64"
memory = "368"
vcpus = "1"
kernel = "/export/xen-images/netbsd40_64/netbsd-INSTALL_XEN3_DOMU.gz"
disk = [ 'file:/export/xen-images/netbsd40_64/netbsd40_64.img,0x1,w', 'file:/export/xen-images/netbsd40_64/amd64cd-4.0.iso,0x2,r' ]
vif = [ '' ]


# start the DomU for installing NetBSD
#
bash-3.2# xm create -c netbsd40_install.cfg


Notes for the installation

In the dialog to choose the packages to install select custom

In the following dialog select the package sets for the installation:


The following is the list of distribution sets that will be used.
 
    Distribution set         Selected
    ------------------------ --------
 a: Kernel (GENERIC)            Yes
 b: Base                        Yes
 c: System (/etc)               Yes
 d: Compiler Tools              Yes
 e: Games                        No
 f: Online Manual Pages         Yes
 g: Miscellaneous                No
 h: Test programs                No
 i: Text Processing Tools       Yes
 j: X11 sets                    All     


 
The X11 sets to install are:


 The following is the list of distribution sets that will be used.
 
    Distribution set         Selected
    ------------------------ --------
 a: Kernel (GENERIC)            Yes
 b: Base                        Yes
 c: System (/etc)               Yes
 d: Compiler Tools              Yes
 e: Games                        No
 f: Online Manual Pa+-------------------------------------+
 g: Miscellaneous   | a: X11 base and clients        Yes  |
 h: Test programs   | b: X11 programming             Yes  |
 i: Text Processing | c: X11 configuration           Yes  |
>j: X11 sets        | d: X11 fonts                   Yes  |
 x: Install selected| e: X11 servers                 Yes  |
                    | f: Select all the above sets        |
                    | g: Deselect all the above sets      |
                    |>x: Install selected sets            |
                    +-------------------------------------+


In the dialog to select the CD/DVD drive with the installation media change the CD/DVD device to xbd1d.

Change


 Enter the CDROM device to be used and directory on the CDROM where the
 distribution is located.
 Remember, the directory should contain the .tgz files.

 a: Device                    cd0a
>b: Set directory             /amd64/binary/sets
 x: Continue


to


Enter the CDROM device to be used and directory on the CDROM where the
 distribution is located.
 Remember, the directory should contain the .tgz files.

 a: Device                    xbd1d
 b: Set directory             /amd64/binary/sets
>x: Continue


Now the installation should run.

If the installation of one or more packages fails you can check the packages in the CD/DVD ISO image (/mnt is mounted on the ISO image in the example below):

xtrnaw7@t30:/data/download$ ls /mnt/amd64/binary/sets/
base.tgz  CKSUM     etc.tgz    kern-GENERIC.MP.tgz  man.tgz  misc.tgz  SYSVSUM   xbase.tgz  xetc.tgz   xserver.tgz
BSDSUM    comp.tgz  games.tgz  kern-GENERIC.tgz     MD5      SHA512    text.tgz  xcomp.tgz  xfont.tgz


After the installation is finished do not reboot immediately - instead go back to the main menu and run a shell:

Choose the Utility menue and then a: Run /bin/sh

Then mount the disk with the installed NetBSD and check if the device nodes for the Xen harddisks are created:


# mount /dev/xbd0a /mnt

# ls /mnt/dev/xbd*
ls: /mnt/dev/xbd*: No such file or directory


If not, create the device nodes:
Open-BSD

# MINOR1=0 ;  MINOR2=16
# for i in a b c d e f g h i j k l m n o p ; do
  mknod /mnt/dev/xbd0${i} b 142 ${MINOR1}  ;   mknod /mnt/dev/rxbd0${i} c 142 ${MINOR1}

  mknod /mnt/dev/xbd1${i} b 142 ${MINOR2}  ;   mknod /mnt/dev/rxbd1${i} c 142 ${MINOR2}
 
  MINOR1=`let $MINOR1+1`  ;   MINOR2=`let $MINOR2+1`
done


# ls -l /mnt/dev/xbd0*
brw-r--r--  1 root  wheel  142,  0 Jan  1 16:20 /mnt/dev/xbd0a
brw-r--r--  1 root  wheel  142,  1 Jan  1 16:20 /mnt/dev/xbd0b
brw-r--r--  1 root  wheel  142,  2 Jan  1 16:20 /mnt/dev/xbd0c
brw-r--r--  1 root  wheel  142,  3 Jan  1 16:20 /mnt/dev/xbd0d
brw-r--r--  1 root  wheel  142,  4 Jan  1 16:20 /mnt/dev/xbd0e
brw-r--r--  1 root  wheel  142,  5 Jan  1 16:20 /mnt/dev/xbd0f
brw-r--r--  1 root  wheel  142,  6 Jan  1 16:20 /mnt/dev/xbd0g
brw-r--r--  1 root  wheel  142,  7 Jan  1 16:20 /mnt/dev/xbd0h
brw-r--r--  1 root  wheel  142,  8 Jan  1 16:20 /mnt/dev/xbd0i
brw-r--r--  1 root  wheel  142,  9 Jan  1 16:20 /mnt/dev/xbd0j
brw-r--r--  1 root  wheel  142, 10 Jan  1 16:20 /mnt/dev/xbd0k
brw-r--r--  1 root  wheel  142, 11 Jan  1 16:20 /mnt/dev/xbd0l
brw-r--r--  1 root  wheel  142, 12 Jan  1 16:20 /mnt/dev/xbd0m
brw-r--r--  1 root  wheel  142, 13 Jan  1 16:20 /mnt/dev/xbd0n
brw-r--r--  1 root  wheel  142, 14 Jan  1 16:20 /mnt/dev/xbd0o
brw-r--r--  1 root  wheel  142, 15 Jan  1 16:20 /mnt/dev/xbd0p

# ls -l /mnt/dev/rxbd0*
crw-r--r--  1 root  wheel  142,  0 Jan  1 16:20 /mnt/dev/rxbd0a
crw-r--r--  1 root  wheel  142,  1 Jan  1 16:20 /mnt/dev/rxbd0b
crw-r--r--  1 root  wheel  142,  2 Jan  1 16:20 /mnt/dev/rxbd0c
crw-r--r--  1 root  wheel  142,  3 Jan  1 16:20 /mnt/dev/rxbd0d
crw-r--r--  1 root  wheel  142,  4 Jan  1 16:20 /mnt/dev/rxbd0e
crw-r--r--  1 root  wheel  142,  5 Jan  1 16:20 /mnt/dev/rxbd0f
crw-r--r--  1 root  wheel  142,  6 Jan  1 16:20 /mnt/dev/rxbd0g
crw-r--r--  1 root  wheel  142,  7 Jan  1 16:20 /mnt/dev/rxbd0h
crw-r--r--  1 root  wheel  142,  8 Jan  1 16:20 /mnt/dev/rxbd0i
crw-r--r--  1 root  wheel  142,  9 Jan  1 16:20 /mnt/dev/rxbd0j
crw-r--r--  1 root  wheel  142, 10 Jan  1 16:20 /mnt/dev/rxbd0k
crw-r--r--  1 root  wheel  142, 11 Jan  1 16:20 /mnt/dev/rxbd0l
crw-r--r--  1 root  wheel  142, 12 Jan  1 16:20 /mnt/dev/rxbd0m
crw-r--r--  1 root  wheel  142, 13 Jan  1 16:20 /mnt/dev/rxbd0n
crw-r--r--  1 root  wheel  142, 14 Jan  1 16:20 /mnt/dev/rxbd0o
crw-r--r--  1 root  wheel  142, 15 Jan  1 16:20 /mnt/dev/rxbd0p

# ls -l /mnt/dev/xbd1*
brw-r--r--  1 root  wheel  142, 16 Jan  1 16:20 /mnt/dev/xbd1a
brw-r--r--  1 root  wheel  142, 17 Jan  1 16:20 /mnt/dev/xbd1b
brw-r--r--  1 root  wheel  142, 18 Jan  1 16:20 /mnt/dev/xbd1c
brw-r--r--  1 root  wheel  142, 19 Jan  1 16:20 /mnt/dev/xbd1d
brw-r--r--  1 root  wheel  142, 20 Jan  1 16:20 /mnt/dev/xbd1e
brw-r--r--  1 root  wheel  142, 21 Jan  1 16:20 /mnt/dev/xbd1f
brw-r--r--  1 root  wheel  142, 22 Jan  1 16:20 /mnt/dev/xbd1g
brw-r--r--  1 root  wheel  142, 23 Jan  1 16:20 /mnt/dev/xbd1h
brw-r--r--  1 root  wheel  142, 24 Jan  1 16:20 /mnt/dev/xbd1i
brw-r--r--  1 root  wheel  142, 25 Jan  1 16:20 /mnt/dev/xbd1j
brw-r--r--  1 root  wheel  142, 26 Jan  1 16:20 /mnt/dev/xbd1k
brw-r--r--  1 root  wheel  142, 27 Jan  1 16:20 /mnt/dev/xbd1l
brw-r--r--  1 root  wheel  142, 28 Jan  1 16:20 /mnt/dev/xbd1m
brw-r--r--  1 root  wheel  142, 29 Jan  1 16:20 /mnt/dev/xbd1n
brw-r--r--  1 root  wheel  142, 30 Jan  1 16:20 /mnt/dev/xbd1o
brw-r--r--  1 root  wheel  142, 31 Jan  1 16:20 /mnt/dev/xbd1p

# ls -l /mnt/dev/rxbd1*
crw-r--r--  1 root  wheel  142, 16 Jan  1 16:20 /mnt/dev/rxbd1a
crw-r--r--  1 root  wheel  142, 17 Jan  1 16:20 /mnt/dev/rxbd1b
crw-r--r--  1 root  wheel  142, 18 Jan  1 16:20 /mnt/dev/rxbd1c
crw-r--r--  1 root  wheel  142, 19 Jan  1 16:20 /mnt/dev/rxbd1d
crw-r--r--  1 root  wheel  142, 20 Jan  1 16:20 /mnt/dev/rxbd1e
crw-r--r--  1 root  wheel  142, 21 Jan  1 16:20 /mnt/dev/rxbd1f
crw-r--r--  1 root  wheel  142, 22 Jan  1 16:20 /mnt/dev/rxbd1g
crw-r--r--  1 root  wheel  142, 23 Jan  1 16:20 /mnt/dev/rxbd1h
crw-r--r--  1 root  wheel  142, 24 Jan  1 16:20 /mnt/dev/rxbd1i
crw-r--r--  1 root  wheel  142, 25 Jan  1 16:20 /mnt/dev/rxbd1j
crw-r--r--  1 root  wheel  142, 26 Jan  1 16:20 /mnt/dev/rxbd1k
crw-r--r--  1 root  wheel  142, 27 Jan  1 16:20 /mnt/dev/rxbd1l
crw-r--r--  1 root  wheel  142, 28 Jan  1 16:20 /mnt/dev/rxbd1m
crw-r--r--  1 root  wheel  142, 29 Jan  1 16:20 /mnt/dev/rxbd1n
crw-r--r--  1 root  wheel  142, 30 Jan  1 16:20 /mnt/dev/rxbd1o
crw-r--r--  1 root  wheel  142, 31 Jan  1 16:20 /mnt/dev/rxbd1p

#
# cd /
# umount /mnt


Now you can shutdown the DomU and restart it using the config file for running a NetBSD DomU:

# create the DomU file for running the NetBSD 4.0 DomU
#
bash-3.2# cat netbsd40_run.cfg
name = "netbsd40_64"
memory = "368"
vcpus = "1"
kernel = "/export/xen-images/netbsd40_64/netbsd-XEN3_DOMU.gz"
disk = [ 'file:/export/xen-images/netbsd40_64/netbsd40_64.img,0x1,w' ]
vif = [ '' ]
root = "xbd0a"


# start the NetBSD 4.0 DomU
#
bash-3.2# xm create -c netbsd40_run.cfg

After booting the NetBSD DomU the last final step is to configure the network in the DomU.

Note:

You might use the installation via ftp server described below to install NetBSD because using that method less manual steps are necessary to install the DomU.


Additional notes from http://www.netbsd.org/ports/xen/howto.html [01.01.08]:

When the new domain is booting you'll see some warnings about wscons and the pseudo-terminals, these can be fixed by editing the files /etc/ttys and /etc/wscons.conf. You must disable all terminals on /etc/ttys, except console, like this:

console "/usr/libexec/getty Pc"         vt100   on secure
ttyE0 "/usr/libexec/getty Pc" vt220 off secure
ttyE1 "/usr/libexec/getty Pc" vt220 off secure
ttyE2 "/usr/libexec/getty Pc" vt220 off secure
ttyE3 "/usr/libexec/getty Pc" vt220 off secure

Finally, all screens must be commented out from /etc/wscons.conf.

It is also desireable to add

powerd=YES

in rc.conf. This way, the domain will be properly shut down if 'xm shutdown -R' or 'xm shutdown -H' is used on the domain0.


64 Bit
Solaris snv_78


works



01.01.2008

NetBSD 4.0 from the ftp server

(see the link section below)

dhcppc11# uname -a
NetBSD dhcppc11 4.99.46 NetBSD 4.99.46 (XEN3_DOMU) #0: Sun Dec 30 11:11:09 PST 2007  builds@wb28:/home/builds/ab/HEAD/amd64/200712300002Z-obj/home/builds/ab/HEAD/src/sys/arch/amd64/compile/XEN3_DOMU amd64

Note:

There's no non-PAE Xen kernel for NetBSD 4.0; you can only run a NetBSD 4.0 64 Bit DomU in a 64 Bit Dom0.

Instructions

Download the two NetBSD 4.0 Xen DomU kernels; see the link section below.

# create the DomU config file for the installation
#
bash-3.2# cat netbsd40_install_net.cfg
name = "netbsd40_64"
memory = "368"
vcpus = "1"
kernel = "/export/xen-images/netbsd40_64/netbsd-INSTALL_XEN3_DOMU.gz"/usr/lib/xen/bin/pygrub
disk = [ 'file:/export/xen-images/netbsd40_64/netbsd40_64.img,0x1,w' ]
vif = [ '' ]


# start the installation of the DomU
#
bash-3.2# xm create -c netbsd40_install_net.cfg


In the dialog to select the distribution to install you can choose Full installation.

In the dialog to choose the installation media select ftp:


Your disk is now ready for installing the kernel and the distribution sets.
 As noted in your INSTALL notes, you have several options.  For ftp or nfs,
 you must be connected to a network with access to the proper machines.

 Sets selected 14, processed 0, Next set kern-GENERIC.

                          ┌─────────────────────────┐
                          │ Install from            │
                          │                         │
                          │ a: CD-ROM / DVD         │
                          │>b: FTP                  │
                          │ c: HTTP                 │
                          │ d: NFS                  │
                          │ e: Floppy               │
                          │ f: Unmounted fs         │
                          │ g: Local directory      │
                          │ h: Skip set             │
                          │ i: Skip set group       │
                          │ j: Abandon installation │
                          └─────────────────────────┘



In the dialog with the details for the ftp server change the the base directory so that it matches the Xen kernel used:

e.g. for the kernel

ftp://iso2.de.netbsd.org/pub/NetBSD-daily/HEAD/200712300002Z/amd64/binary/kernel/netbsd-INSTALL_XEN3_DOMU.gz

change the Base directory to

pub/NetBSD/NetBSD-daily/HEAD/200712300002Z

 
The following are the ftp site, directory, user, and password that will be
 used.  If "user" is "ftp", then the password is not needed.

 a: Host                      ftp.NetBSD.org
>b: Base directory            /pub/NetBSD/NetBSD-daily/HEAD/200712300002Z
 c: Set directory             /amd64/binary/sets
 d: User                      ftp
 e: Password
 f: Proxy
 g: Transfer directory        /usr/INSTALL
 h: Delete after install      No
 x: Get Distribution

 
Now the rest of the installation should run without an error.

No further configuration steps are necessary - the installation will create the required device nodes for the disk images and also configure the network for the running DomU.

After the installation is finished shutdown the DomU and restart it using the config file for running a NetBSD DomU:

bash-3.2# cat netbsd40_run_net.cfg
name = "netbsd40_64"
memory = "368"
vcpus = "1"
kernel = "/export/xen-images/netbsd40_64/netbsd-XEN3_DOMU.gz"
disk = [ 'file:/export/xen-images/netbsd40_64/netbsd40_64.img,0x1,w' ]
vif = [ '' ]
root = "xbd0a"

bash-3.2# xm create -c netbsd40_run_net.cfg



See also the NetBSD DomU Notes above

64 Bit
Solaris snv_78


works



01.01.2008



Netware 6.5


(v) Novell Open Enterprise Server, NetWare 6.5
Support Pack Revision 07
(C) Copyright 1983-2007 Novell Inc. All Rights Reserved. Patent Pending.
Server Version 5.70.07 September 18, 2007
 Saturday, March 29, 2008  12:47:26 pm <<NO TIME ZONE>>
:


Download the ISO image

NW65SP7_OVL_DVD.iso

from the Netware download page.

Then extract the file

XNLOADER.SYS

from the ISO image:

bash-3.2# lofiadm -a /pool/xen-images/netware/NW65SP7_OVL_DVD.iso
/dev/lofi/1

bash-3.2# mount -o ro -F hsfs /dev/lofi/1 /mnt

bash-3.2# ls /mnt
AUTORUN.INF            INSTALL.BAT            NLSFUNC.EXE            NWINST.TMP             READ_ME.TXT
CONFIG                 LICENSE                NW65OS                 POSTINST.NI            STARTUP
DRIVERS                MODE.COM               NW65PROD               PRODUCT.NI             SYS
EGA.CPI                NETMAIN.ILS            NWDEPLOY.EXE           PRODUCTS
INSTALL                NI                     NWDeployNoBrowser.exe  READ_ME.HTM

bash-3.2# cp /mnt/STARTUP/XNLOADER.SYS .

bash-3.2# umount /mnt

bash-3.2# lofiadm -d /pool/xen-images/netware/NW65SP7_OVL_DVD.iso



Create the cfg file for installing the Netware DomU:

bash-3.2# cat netware_install.cfg
kernel = "/pool/xen-images/netware/XNLOADER.SYS"
vcpus = 1
memory = "512"
name = "netware"
vif = [ '' ]
disk = [ 'file:/pool/xen-images/netware/netware.iso,xvdb,r', 'file:/pool/xen-images/netware/netware_empty.img,xvda,w' ]
vfb=[ "type=sdl" ]



And then start the installation

xm create -c netware_install.cfg


Create the cfg file for running the Netware DomU:

bash-3.2# cat netware_run.cfg
kernel = "/pool/xen-images/netware/XNLOADER.SYS"
vcpus = 1
memory = "512"
name = "netware"
vif = [ '' ]
disk = [ 'file:/pool/xen-images/netware/netware_empty.img,xvda,w' ]
vfb=[ "type=sdl" ]


And then start the installation

xm create -c netware_run.cfg


Notes:

  • It may be necessary to explicitly kill the DomU using "xm destroy <domid>" after the installation finished (or crashed)
  • Looks like the installation crashes before it finished (but netware can boot from the disk)
  • There are some issues with the terminal emulation in the console window
  • I do not know if the network works from the Netware DomU (due to missing netware knowledge)
  • the DomU crashes very often

64 Bit
32 Bit
snv_85




works but crashes frequently


29.03.08




VMKnoppix Livecd with Xen 3.2


root@Knoppix:~# uname -a
Linux Knoppix 2.6.18.8-xen #1 SMP Tue Jan 22 16:04:36 JST 2008 i686 GNU/Linux
 

Download the iso image

knoppix_v5.1.1CD_20070104_xen3.2.0_vbox-20080213.iso

# mount the ISO image and copy the Xen kernel and ramdisk
#
bash-3.2# lofiadm -a /pool/iso/knoppix_v5.1.1CD_20070104_xen3.2.0_vbox-20080213.iso
/dev/lofi/1
bash-3.2# mount -o ro -F hsfs /dev/lofi/1 /mnt

bash-3.2# cd /pool/xen-images/vmknoppix
bash-3.2# cp /mnt/miniroot-xen.gz .
bash-3.2# cp /mnt/vmlinuz-2.6.18.8-xen ./vmlinuz-xen

bash-3.2# umount /mnt
bash-3.2# lofiadm -d /pool/iso/knoppix_v5.1.1CD_20070104_xen3.2.0_vbox-20080213.iso

# create the DomU config file:
#
lofbash-3.2# cat vmknoppix.cfg
name = "vmknoppix"
memory = "512"
vcpus = "1"
disk = [ 'file:/pool/iso/knoppix_v5.1.1CD_20070104_xen3.2.0_vbox-20080213.iso,hdc,r' ]
vif = [ ''  ]
ramdisk = "/pool/xen-images/vmknoppix/miniroot-xen.gz"
kernel = "/pool/xen-images/vmknoppix/vmlinuz-xen"
extra = " ramdisk_size=100000 init=/etc/init lang=de apm=power-off nomce xserver=Xvnc_xen nosound noapic noacpi pnpbios=off acpi=off nofstab noscsi nodma noapm nousb nopcmcia nofirewire noagp noswap nohwsetup"
vfb=[ "type=sdl" ]


# start the DomU
#
bash-3.2# xm create -c vmknoppix.cfg


Wait for message "Starting the X Windwow System" .
Then, issue

root@Knoppix:~# ifconfig eth0
eth0      Protokoll:Ethernet  Hardware Adresse 00:16:3E:44:F5:19 
          inet Adresse:192.168.1.177  Bcast:192.168.1.255  Maske:255.255.255.0
          inet6 Adresse: fe80::216:3eff:fe44:f519/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1422 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2173 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:164229 (160.3 KiB)  TX bytes:2511057 (2.3 MiB)

root@Knoppix:~#
 


in the DomU to get the IP address of the DomU.

Open another session and start the vncviewer:

bash-3.2# vncviewer 192.168.1.177:0


64 Bit
32 Bit

Solaris snv_85


works



13.04.2008



Centos 5, network installation via http


[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-53.el5xen #1 SMP Mon Nov 12 03:26:12 EST 2007 i686 athlon i386 GNU/Linux


### Download the kernel and the ramdisk for the installation:
#
bash-3.2# wget http://mirror.centos.org/centos/5/os/i386/images/xen/initrd.img
--09:56:02--  http://mirror.centos.org/centos/5/os/i386/images/xen/initrd.img
           => `initrd.img'
Resolving mirror.centos.org... 88.208.217.170
Connecting to mirror.centos.org|88.208.217.170|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5,285,268 (5.0M) [application/octet-stream]

100%[========================================================================>] 5,285,268    238.71K/s    ETA 00:00

09:56:27 (211.28 KB/s) - `initrd.img' saved [5285268/5285268]


bash-3.2# wget http://mirror.centos.org/centos/5/os/i386/images/xen/vmlinuz  
--09:56:37--  http://mirror.centos.org/centos/5/os/i386/images/xen/vmlinuz
           => `vmlinuz'
Resolving mirror.centos.org... 88.208.217.170
Connecting to mirror.centos.org|88.208.217.170|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2,106,541 (2.0M) [text/plain]

100%[========================================================================>] 2,106,541    527.66K/s    ETA 00:00

09:56:41 (532.29 KB/s) - `vmlinuz' saved [2106541/2106541]



### rename the kernel and the ramdisk image (not necessary but makes life easier)
#
bash-3.2# mv vmlinuz vmlinuz-xen-install
bash-3.2# mv initrd.img initrd-xen-install


#### create the disk image for the DomU
#
bash-3.2# /pool/install/root/opt/tools/qemu/CURRENT/qemu-img create domu-test.img 10G
Formating 'domu-test.img', fmt=raw, size=10485760 kB


### create the DomU configuration file for the DomU
#
bash-3.2# cat centos5.cfg
kernel = "/pool/xen-images/centos5_1/vmlinuz-xen-install"
ramdisk = "/pool/xen-images/centos5_1/initrd-xen-install"
name = "domu-test"
memory = "256"
disk = [ 'file:/pool/xen-images/centos5_1/domu-test.img,hda,w', ]
vif = [ '' ]
vcpus=1


### and finally start the DomU
#
bash-3.2# xm create -c centos5.cfg


### select the language for the installation of the DomU
#

------------------------

Welcome to CentOS                                                              
                                                                               
                   +---------+ Choose a Language +---------+                   
                   |                                       |                   
                   | What language would you like to use   |                   
                   | during the installation process?      |                   
                   |                                       |                   
                   |       Finnish                ^        |                   
                   |       French                 :        |                   
                   |       German                 :        |                   
                   |       Greek                  #        |                   
                   |       Gujarati               :        |                   
                   |       Hindi                  :        |                   
                   |       Hungarian              :        |                   
                   |       Icelandic              v        |                   
                   |                                       |                   
                   |                +----+                 |                   
                   |                | OK |                 |                   
                   |                +----+                 |                   
                   |                                       |                   
                   |                                       |                   
                   +---------------------------------------+                   
                                                                               
  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen     


### In the next screen select "HTTP" as installation source


Welcome to CentOS                                                              
                                                                               
                                                                               
                     +------+ Installation Method +------+                     
                     |                                   |                     
                     | What type of media contains the   |                     
                     | packages to be installed?         |                     
                     |                                   |                     
                     |            Local CDROM            |                     
                     |            Hard drive             |                     
                     |            NFS image              |                     
                     |            FTP                    |                     
                     |            HTTP                   |                     
                     |                                   |                     
                     |     +----+          +------+      |                     
                     |     | OK |          | Back |      |                     
                     |     +----+          +------+      |                     
                     |                                   |                     
                     |                                   |                     
                     +-----------------------------------+                     
                                                                               
                                                                               
                                                                               
  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen     



### Disable IPv6 support:


Welcome to CentOS                                                              
                                                                               
                                                                               
             +----------------+ Configure TCP/IP +----------------+            
             |                                                    |            
             | [*] Enable IPv4 support                            |            
             |        (*) Dynamic IP configuration (DHCP)         |            
             |        ( ) Manual configuration                    |            
             |                                                    |            
             | [ ] Enable IPv6 support                            |            
             |        (*) Automatic neighbor discovery (RFC 2461) |            
             |        ( ) Dynamic IP configuration (DHCP)         |            
             |        ( ) Manual configuration                    |            
             |                                                    |            
             |          +----+                  +------+          |            
             |          | OK |                  | Back |          |            
             |          +----+                  +------+          |            
             |                                                    |            
             |                                                    |            
             +----------------------------------------------------+            
                                                                               
                                                                               
                                                                               
  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen     


### enter the webserver name and the name of the directory with the installation image:

Web site name : mirror.centos.org

Centos directory: /centos/5/os/i386



Welcome to CentOS                                                              
                                                                               
                                                                               
              +-----------------+ HTTP Setup +------------------+              
              |                                                 |              
              | Please enter the following information:         |              
              |                                                 |              
              |     o the name or IP number of your Web server  |              
              |     o the directory on that server containing   |              
              |       CentOS for your architecture              |              
              |                                                 |              
              |   Web site name:    mirror.centos.org_______    |              
              |   CentOS directory: /centos/5/os/i386_______    |              
              |                                                 |              
              |         +----+                 +------+         |              
              |         | OK |                 | Back |         |              
              |         +----+                 +------+         |              
              |                                                 |              
              |                                                 |              
              +-------------------------------------------------+              
                                                                               
                                                                               
                                                                               
  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen 


### Now Centos Downloads the root image for the installation (this may take a while ...)


Welcome to CentOS                                                              
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
    +----------------------------+ Retrieving +----------------------------+   
    |                                                                      |   
    | Retrieving images/minstg2.img...                                     |   
    |                                                                      |   
    +----------------------------------------------------------------------+   
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
  <Tab>/<Alt-Tab> between elements  | <Space> selects | <F12> next screen     


### After that the installation starts:


Welcome to CentOS                                                              
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
               +------------------+ CentOS +-------------------+               
               |                                               |               
               | Welcome to CentOS!                            |               
               |                                               |               
               |                                               |               
               |                    +----+                     |               
               |                    | OK |                     |               
               |                    +----+                     |               
               |                                               |               
               |                                               |               
               +-----------------------------------------------+               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
  <Tab>/<Alt-Tab> between elements   |  <Space> selects   |  <F12> next screen


Note:

While configuring the installation the installation program prints warning messages about /dev/hda and /tmp/hda like this multiple times:


Welcome to CentOS                                                              
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                    +-------------+ Warning +-------------+                    
                    |                                     |                    
                    | Could not get identity of device    |                    
                    | /dev/hda - Invalid argument         |                    
                    |                                     |                    
                    |    +--------+        +--------+     |                    
                    |    | Ignore |        | Cancel |     |                    
                    |    +--------+        +--------+     |                    
                    |                                     |                    
                    |                                     |                    
                    +-------------------------------------+                    
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
  <Tab>/<Alt-Tab> between elements   |  <Space> selects   |  <F12> next screen


Welcome to CentOS                                                              
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                    +-------------+ Warning +-------------+                    
                    |                                     |                    
                    | Could not get identity of device    |                    
                    | /tmp/hda - Invalid argument         |                    
                    |                                     |                    
                    |    +--------+        +--------+     |                    
                    |    | Ignore |        | Cancel |     |                    
                    |    +--------+        +--------+     |                    
                    |                                     |                    
                    |                                     |                    
                    +-------------------------------------+                    
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
  <Tab>/<Alt-Tab> between elements   |  <Space> selects   |  <F12> next screen


### You can simply ignore these messages.

### Just continue with the configuration

-----------------------

Welcome to CentOS                                                              
                                                                               
                  +---------------+ Warning +---------------+                  
                  |                                         |                  
                  | The partition table on device hda was   |                  
                  | unreadable. To create new partitions    |                  
                  | it must be initialized, causing the     |                  
                  | loss of ALL DATA on this drive.         |                  
                  |                                         |                  
                  | This operation will override any        |                  
                  | previous installation choices about     |                  
                  | which drives to ignore.                 |                  
                  |                                         |                  
                  | Would you like to initialize this       |                  
                  | drive, erasing ALL DATA?                |                  
                  |                                         |                  
                  |       +-----+             +----+        |                  
                  |       | Yes |             | No |        |                  
                  |       +-----+             +----+        |                  
                  |                                         |                  
                  |                                         |                  
                  +-----------------------------------------+                  
                                                                               
  <Tab>/<Alt-Tab> between elements   |  <Space> selects   |  <F12> next screen


### and so on ...

Welcome to CentOS                                                              
                                                                               
         +------------------+ Package Installation +------------------+        
         |                                                            |        
         |  Name   : gtk2-2.10.4-19.el5-i386                          |        
         |  Size   : 19086k                                           |        
         |  Summary: The GIMP ToolKit (GTK+), a library for           |        
         |           creating GUIs for X                              |        
         |                                                            |        
         |  Status:                                                   |        
         |                                                            |        
         |                             0%                             |        
         |                                                            |        
         |                          Packages      Bytes        Time   |        
         |   Total    :                  748      1818M     2:52:54   |        
         |   Completed:                  288       412M     0:39:14   |        
         |   Remaining:                  460      1406M     2:13:39   |        
         |                                                            |        
         |                            22%                             |        
         |                                                            |        
         +------------------------------------------------------------+        
                                                                               
                                                                               
  <Tab>/<Alt-Tab> between elements   |  <Space> selects   |  <F12> next screen


...

Welcome to CentOS                                                              
                                                                               
         +------------------+ Package Installation +------------------+        
         |                                                            |        
         |  Name   : xorg-x11-drv-mga-1.4.2-6.el5-i386                |        
         |  Size   : 161k                                             |        
         |  Summary: Xorg X11 mga video driver                        |        
         |                                                            |        
         |                                                            |        
         |  Status:                                                   |        
         |                                                            |        
         |                             0%                             |        
         |                                                            |        
         |                          Packages      Bytes        Time   |        
         |   Total    :                  748      1818M     3:15:29   |        
         |   Completed:                  703      1813M     3:14:53   |        
         |   Remaining:                   45         5M     0:00:36   |        
         |                                                            |        
         |                            99%                             |        
         |                                                            |        
         +------------------------------------------------------------+        
                                                                               
                                                                               
  <Tab>/<Alt-Tab> between elements   |  <Space> selects   |  <F12> next screen



.. until it's finished:

Welcome to CentOS                                                              
                                                                               
                                                                               
                                                                               
                                                                               
          +----------------------+ Complete +-----------------------+          
          |                                                         |          
          | Congratulations, your CentOS installation is complete.  |          
          |                                                         |          
          | Remove any media used during the installation process   |          
          | and press <Enter> to reboot your system.                |          
          |                                                         |          
          |                                                         |          
          |                       +--------+                        |          
          |                       | Reboot |                        |          
          |                       +--------+                        |          
          |                                                         |          
          |                                                         |          
          +---------------------------------------------------------+          
                                                                               
                                                                               
                                                                               
                                                                               
                               <Enter> to reboot                              



Now shutdown the DomU by executing

bash-3.2# xm shutdown domu-test

in another session in the Dom0. The DomU should do a graceful shutdown:

sending termination signals...done
sending kill signals...done
disabling swap...
        /dev/mapper/VolGroup00-LogVol01
unmounting filesystems...
        /mnt/runtime done
        disabling /dev/loop0
        /proc done
        /dev/pts done
        /sys done
        /tmp/ramfs done
        /selinux done
        /mnt/sysimage/boot done
        /mnt/sysimage/sys done
        /mnt/sysimage/proc done
        /mnt/sysimage/selinux done
        /mnt/sysimage/dev done
        /mnt/sysimage done
powering off system
System halted.
bash-3.2#


Create a DomU config file to run the DomU:

bash-3.2# cat centos5_run.cfg
name = "domu-test"
memory = "256"
disk = [ 'file:/pool/xen-images/centos5_1/domu-test.img,hda,w', ]
vif = [ '' ]
vcpus=1
bash-3.2#

### and start the DomU

bash-3.2# xm create -c centos5_run.cfg


    pyGRUB  version 0.6
 ┌────────────────────────────────────────────────────────────────────────┐
 │ CentOS (2.6.18-53.el5xen)                                              │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 └────────────────────────────────────────────────────────────────────────┘
     Use the ^ and v keys to select which entry is highlighted.
     Press enter to boot the selected OS. 'e' to edit the
     commands before booting, 'a' to modify the kernel arguments
     before booting, or 'c' for a command line.



[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-53.el5xen #1 SMP Mon Nov 12 03:26:12 EST 2007 i686 athlon i386 GNU/Linux
[root@localhost ~]#



Note:

The intructions above are based on the instructions from this web site:

http://sysadminman.net/blog/archives/39 [23.05.08]


32 Bit Solaris  snv_89


works




Centos 5.1, network installation via http


Use the instructions for Centos 5, network installation via http to install Centos 5.1 via http.

Change only the path to the ramdisk, the boot kernel, and the installation directory:

Path to the ramdisk for Centos 5.1:   http://mirror.centos.org/centos/5.1/os/i386/images/xen/initrd.img

Path to the install kernel for Centos 5.1:   http://mirror.centos.org/centos/5/os/i386/images/xen/vmlinuz

Path to the installation directory on the webserver for Centos 5.1:  centos-5/5.1/os/i386

32 Bit
Solaris snv_78


works







Other DomU Images

[05.02.08 Solaris snv_81]

This section contains a list of DomUs that are reported to work by others (either in Linux or in OpenSolaris)


Netware

[05.02.08 Solaris snv_81]

NetWare 6.5 SP7 can run paravirtualized on Xen, with the xnloader.sys
bootloader and the included xennet.cad, xenblk.ham and xenmp.psm modules for
device support. I haven't tried it on OpenSolaris yet, but it installs fine
(without HVM) on a Linux Dom0. Just specify xnloader.sys as kernel and make
sure the installation ISO is accessible as a block device and it should work.
(Source: Xen Discussion on opensolaris.org 05.02.08 [05.02.08])

[09.02.08 Solaris snv_81]

Looks like Netware does not run in a Solaris Dom0; see this thread [09.02.08].

[10.02.08 Solaris snv_81]

Netware works in a DomU running under Linux with Xen 3.1 Dom0. So it may also work in a Solaris DomU after the Xen Bits in Solaris are updated to version 3.1 or newer.

[29.03.08 Solaris snv_85]

Netware can be installed in a DomU running in a Solaris snv_85 Dom0; see the installation instructions above.


FreeBSD

[06.04.08 Solaris snv_85]

FreeBSD 6.2 boots fine in a HVM DomU running in a Solaris snv85 Dom0 if you disable ACPI; see this thread:

http://www.opensolaris.org/jive/thread.jspa?threadID=55140&tstart=0 [06.04.08]




GUIs for Xen

[22.08.07  Xen 07_2007]

virt-manager [26.10.07] is a (not yet finished)  GUI for Xen in Solaris. Another GUI is the Enomalism Virtualized Management Dashboard [22.08.07]. Note that I did not test these GUIs with Xen for Solaris.

[16.01.08 Solaris snv_78]

The homepage of the virt-manager for Solaris is here: http://opensolaris.org/os/project/jds/tasks/virt-manager/ [16.01.08]



Booting DomUs on Solaris

[30.10.07 Solaris snv_75]

Information about the boot process of DomUs running in a Solaris Dom0 can be found here:

http://blogs.sun.com/levon/entry/booting_para_virtualised_os_instances  [30.10.07]

http://www.opensolaris.org/os/community/xen/docs/changing-boot-flags/ [30.10.07]



Xen and other Virtualization Solutions



Qemu

[27.10.07 Solaris snv_75]

Qemu works in a Solaris Dom0 . But unfortunately kqemu does not work in a Dom0 right now: Starting a Qemu Virtual Machine with kqemu support crashes Solaris.

I used this version of qemu

bash-3.2# pkginfo -l SUNWqemu
   PKGINST:  SUNWqemu
      NAME:  qemu
  CATEGORY:  application
      ARCH:  i386
   VERSION:  0.9.0__cvs20070220tue
   BASEDIR:  /opt
    VENDOR:  Martin Bochnig at www.martux.org
    PSTAMP:  bochnig@pool.math.tu-berlin.de
  INSTDATE:  Oct 27 2007 10:42
   HOTLINE:  http://opensolaris.org/os/project/qemu/
     EMAIL:  qemu-discuss@opensolaris.org
    STATUS:  completely installed
     FILES:      329 installed pathnames
                  18 directories
                  31 executables
               48106 blocks used (approx)

The kqemu version used for the tests was kqemu-osol-1.3.0pre9-v0.2.tar.kqemu-osol-1.3.0pre9-v0.2.tar.gz.

[28.10.2007 Solaris snv_75]

You can use the Disk images used by Xen also in Qemu. But note that you can not boot Solaris from a  Xen disk image in Qemu without a lot of manual changes. The problem here is the different device tree between Qemu and Xen.



VirtualBox

[12.02.08 Solaris snv_81]

There's now a first Beta of VirtualBox for Solaris : http://virtualbox.org/wiki/Downloads [12.01.08].

That's really cool - VirtualBox supports even OS/2 guests!

Good to see that one of the companies building the very best software for OS/2 is now creating software for Solaris. And part of Sun!

Thinking about the last German Software company bought by Sun (StarOffice) I'm looking forward for the future of VirtualBox!

OK, this is not really Xen related ... but I do not want to start a Blog for this


Notes:

There's only a 64 Bit Version for download yet but you can compile a 32 Bit Version yourself  - see the VirtualBox Links below. Be aware that should know at least the basics about compiling & linking if you're going to compile VirtualBox yourself - in my environment the compile of the source tree from the repository only worked after some changes.

Install the 64 Bit Version while booted in 64 Bit node - the postinstall script does not install the necessary driver if booted in 32 Bit mode.

I installed VirtualBox and it runs fine on bare metal. Unfortunately the necessary driver does not load automatically in Xen Dom0. It can be loaded manually but it looks like it does not work in a Dom0:

bash-3.2# modinfo | grep vbox

# this is a one time task:
bash-3.2# cp /platform/i86pc/kernel/drv/amd64/vboxdrv /platform/i86xpv/kernel/drv/amd64

bash-3.2# modload /platform/i86xpv/kernel/drv/amd64/vboxdrv

bash-3.2# modinfo | grep vbox
269 fffffffff85fa000   f230 268   1  vboxdrv (VirtualBox Driver)

bash-3.2# VirtualBox  &
[1] 744


VirtualBox starts up but can not start a VirtualMachine because the vboxdrv driver does not work:

VirtualBox kernel driver not installed.

VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).

Result Code:    0x80004005
Component:      Console
Interface:      IConsole {d5a1cbda-f5d7-4824-9afe-d640c94c7dcf}


[10.03.2008 Solaris snv_81]

There is now also a beta 32 Bit binary of VirtualBox for OpenSolaris available on the download page for VirtualBox

[02.05.2008 Solaris snv_84]

VirtualBox 1.6 for Solaris is out

[30.10.2008 Solaris snv_101]

VirtualBox 2.0.x for Solaris is out



VirtualBox and Xen

[30.10.2008 Solaris snv_101]

Currently VirtualBox is not working in a Dom0, see this message [30.10.2008]




back to top

Missing Features

This section contains a (surely not complete) list of features not yet implemented in the current release of Xen for Solaris.

see also the Release Notes at Xen at OpenSolaris.org [09.09.06]



Hiding devices from Dom0


[08.08.06 snv_43 Xen 07_2006]

This features is not yet implemented in the current release of Xen for Solaris. The necessary pci.backend and pci.frontend drivers  are supposed to be in one of the next releases of Xen for Solaris

[28.07.07] Not checked this for Xen 07/07

[23.10.07] This feature is still not implemented in Solaris 10 snv_75



Dynamic Hardware changes for DomU


[08.08.06 snv_43 Xen 07_2006]

Dynamic Hardware changes for DomUs are not fully implemented yet

[28.07.07] Not checked this for Xen 07/07

[25.10.07] Not checked in Solaris snv_75 yet



prtdiag does not work in DomUs


[21.07.07 Xen 07_2007]

prtdiag does work in the Dom0 of Xen 07/07 (but not in a Solaris DomU)



ACPI is not (fully) implemented

[09.08.06 snv_43 Xen 07_2006]

Because the ACPI support is not yet implemented in Xen powernowd does not work

(bash):root@ferrari:/export/xen-images # cat /etc/svc/volatile/site-powernow:default.log
[ Aug  9 18:12:35 Enabled. ]
[ Aug  9 18:12:35 Executing start method ("/usr/sbin/powernowd") ]
/dev/powernow: No such file or directory
[ Aug  9 18:12:35 Method "start" exited with status 95 ]
(bash):root@ferrari:/export/xen-images # /usr/sbin/powernowd
/dev/powernow: No such file or directory

(bash):root@ferrari:/export/xen-images # ls -l /dev/powernow
lrwxrwxrwx   1 root     root          37 Aug  9 01:24 /dev/powernow ->
../devices/pseudo/powernow@0:powernow

(bash):root@ferrari:/export/xen-images # ls -l /devices/pseudo/power\@0
power@0/              power@0:power_button

(bash):root@ferrari:/export/xen-images # ls -l /devices/pseudo/powernow*
/devices/pseudo/powernow*: No such file or directory




Bernd Schemmer: >>looks like the powernowd does not run under Xen:
...
Bernd Schemmer: >> Is this correct?

Casper Dik: >>Possibly; powernow needs to have access to ACPI and all the machine
Casper Dik: >>specific registers controlling powernow.

Right.  There has been some discussion in the xen community on how to make this happen.  I haven't followed the details of these conversations, but I don't expect a quick resolution.

In addition, if you try frkit on our version of i86pc (i.e. a hardware boot, not under Xen), a couple of the modules will fail to install.  We have moved a lot of the kernel modules to new locations, and we have yet to update frkit to look in both places.  For now, you can work around these problems by running:

# ln -s /platform/i86pc/kernel/mach/pcplusmp /kernel/mach/
# ln -s /platform/i86pc/kernel/mach/amd64/pcplusmp /kernel/mach/amd64/
(Source: Ryan Scott in the Xen Discussion on opensolaris.org, 09.08.06)

[28.07.07] Not checked this for Xen 07/07

[25.10.07] Not checked in Solaris snv_75 yet


Running 32 Bit DomUs in a 64 Bit Dom0 [resolved in snv85]

[30.10.07 Solaris snv_75]

Running 32 Bit PV DomUs in a 64 Bit Dom0 is not supported in the current release of Xen for Solaris.


[06.04.08 Solaris snv_85]

Solaris snv85 supports 32 Bit PV DomUs in a 64 Bit Dom0.



Full Network support

[10.08.07 Xen 07_2007]

Xen for Solaris does not support NAT or routing for the DomU networking yet

Source: http://www.opensolaris.org/jive/thread.jspa?threadID=36972&tstart=0 [10.08.07]



blktap not yet supported [resolved in snv101]

[13.08.07 Xen_07_2007]

The blktap mechanism for providing disk access from dom0 is not currently supported on Solaris
(Source: David Edmondson in the Xen Discussion on opensolaris.org, 13.08.07)

E.g. DomU disk definitions like
 	disk = [ 'tap:aio:/xen/images/c5-Services-1.img,xvda,w' ]
do not work yet.


[30.10.08 Solaris snv_101]

blktap is now supported:

We've recently added support for blktap along with
support for managing virtual disks (disk file images).
There are some difference from a linux dom0.

This is available in b101 @
http://www.opensolaris.org/os/downloads/sol_ex_dvd_1/

This allows you to create and manage vmdk and vdi
(Virtual Box) disk files. By default, virt-install
will now use a vmdk vdisk when a non existing disk
file is passed in.
(Source: Mark Johnson in  the Xen Discussion on opensolaris.org, 29.10.08) [30.10.08]

The command to manage virtual disks is vdiskadm.



back to top

Bugs


This section list some bugs and some things that might look like a bug.

see also Known Issues (bugs) with Xen on Solaris [04.02.08] for the buglist on the OpenSolaris Xen Website.



How to get rid of a zombie domU


[09.08.06 snv_43 Xen 07_2006]

The only way to get rid of  a zombie domU is to reboot the Dom0.

Use xm list to check for a zombie domU:

(bash):root@ferrari:/export/xen-images # xm list
Name                              ID Mem(MiB) VCPUs State  Time(s)
Domain-0                           0      512     1 r-----   577.2
Zombie-xen-debian                 10      128     1 --p--d     0.0


see this thread on opensolaris.og [09.08.06]



Known bugs in snv_75

[24.10.07 Solaris snv_75]

The Solaris Express build 75 release will be the first Solaris Express build to include the Solaris xVM bits.

There is a pretty serious bug in dom0 and potentially domU due to some bits that were integrated around the same time.. It's recommended that you use the

"set softcall_delay=0x100000"
workaround documented in 6612343 for both dom0 and domU. This bug should be fixed in b76.
http://bugs.opensolaris.org/view_bug.do?bug_id=6612343
(Source: Mark Johnson,  10.10.07 in the  OpenSolaris xVM Forum [23.10.07])

Note: See also this note


Known bugs in snv_81


TCP checksum must be disabled in snv_81

[03.02.08 Solaris snv_81]

If you're running a Solaris snv_81 DomU in a Solaris snv_81 Dom0 you must disable the TCP checkum in the DomU for full  networking  capabilities in the DomU




Known bugs in snv_85


TCP checksum must be disabled in snv_85

[Update 07.04.08 Solaris snv_85]

It looks like  disabling the TCP checkum is not always neccessary for a DomUs running in a snv_85 Dom0.

If networking is not fully functioning in a DomU running in a Solaris snv_85 Dom0 you can test if it works after disabling the TCP checksum feature.



Known bugs in snv_87


32-bit dom0 and PV domU is broken in snv_87



[24.04.08 Solaris snv_87]


The fix for 6545999 (Solaris DomU in Xen 3.2 Dom0) broke intr_restore in 32-bit Dom0, (see this thread [24.04.08] on the OpenSolaris Discussion list).

Example:


root@guest-laptop:/home/xen-images/sol10snv87# xm create -c Solaris_inst.phy
Using config file "./Solaris_inst.phy".
Started domain Solaris
                      module /platform/i86xpv/kernel/unix: text at [0xf4c00000, 0xf4ccbe97] data at 0xf5000000
module /kernel/genunix: text at [0xf4ccbe98, 0xf4e7beaf] data at 0xf5067da0
v3.2.0 chgset 'unavailable'
SunOS Release 5.11 Version snv_87 32-bit
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
features: 10066c6<cpuid,sse2,sse,cx8,pae,mmx,cmov,msr,tsc>
mem = 376832K (0x17000000)
root nexus = i86xpv
pseudo0 at root
pseudo0 is /pseudo
scsi_vhci0 at root
scsi_vhci0 is /scsi_vhci

panic[cpu0]/thread=d4a0fde0: BAD TRAP: type=e (#pf Page fault) rp=d4a0fcfc addr=18 occurred in module "unix" due to a NULL pointer dereference

#pf Page fault
Bad kernel fault at addr=0x18
pid=0, pc=0xf4c4737e, sp=0xd4a0fde0, eflags=0x10086
cr0: 8005003b<pg,wp,ne,et,ts,mp,pe> cr4: 660<xmme,fxsr,mce,pae>
cr2: 18
         gs:      1b1  fs: ffff0000  es:      161  ds:      161
        edi: d496ede0 esi: d4a0fde0 ebp: d4a0fd54 esp: d4a0fd34
        ebx: f502a248 edx:        0 ecx: ffffffff eax:        0
        trp:        e err:        0 eip: f4c4737e  cs:      159
        efl:    10086 usp: d4a0fde0  ss: f502a248

d4a0fc4c unix:die+98 (e, d4a0fcfc, 18, 0)
d4a0fce8 unix:trap+12b9 (d4a0fcfc, 18, 0)
d4a0fcfc unix:_cmntrap+aa (1b1, ffff0000, 161,)
d4a0fd54 unix:pg_cmt_load+e (f502a248, ffffffff)
d4a0fd84 unix:swtch+e0 (0, f4c01c58, d4a0fd)
d4a0fd94 genunix:cv_wait+4e (f500b800, f500a7d0)
d4a0fdc8 unix:balloon_worker_thread+aa (0, 0)
d4a0fdd8 unix:thread_start+8 ()

skipping system dump - no dump device configured
rebooting...




see the bugs

http://bugs.opensolaris.org/view_bug.do?bug_id=6684164 [24.04.08]

and

http://bugs.opensolaris.org/view_bug.do?bug_id=6545999 [24.04.08]



back to top

Debugging



How to dump the image of a guest domain

[13.12.07 Solaris snv_75]

Use

xm dump-core <domain> <dumpfile>

to create a dump of a guest domain.

Use

mdb <dump-file>

to analyze the dump-file


How to enable the serial console for the GRUB menu

[27.01.08 Solaris snv_78]

To use the serial console for the GRUB menu add the following entries to the GRUB menu in /boot/grub/menu.lst:

serial --unit=0 --speed=9600 --word=8 --stop=1 --parity=no
#
terminal --timeout=15 console serial
#


Using these entries the GRUB menu can be shown either on the serial console or on the display :

On both output devices GRUB prints the message "Press any key to continue." and you can choose on of them by pressing a key to show the GRUB menu.

Note that you must comment out the line for the splashimage if using a serial console:

# splashimage /boot/grub/splash.xpm.gz





How to enable the serial console for the Dom0


[13.12.07 Solaris snv_75]

By default, the hypervisor will not use a serial console itself. To enable it (allowing debugging information and access), you will need to modify /boot/grub/menu.lst as follows. If your serial console is on ttya in Solaris (check eeprom if you're not sure), then add an entry similar to the following:

title Solaris xVM with serial console
kernel$ /boot/$ISADIR/xen.gz console=com1 com1=auto
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix
module$ /platform/i86pc/$ISADIR/boot_archive

If the console is on ttyb in Solaris, then use com2 appropriately.

See 6593895 install does not set Xen console settings.


Source:   http://www.opensolaris.org/os/community/xen/docs/serial-console/  [13.12.07]

[09.01.08 Solaris snv_78]

If you don't get any output to the serial console if using the settings above replace com1=auto with the correct settings, e.g.   com1=9600,8n1



How to use kernel debugger in the Dom0


[16.01.08 Solaris snv_78]

Note: You need a serial connection to your machine for this .

Change the grub entry for the Dom0 so that the serial console is used for console output and the parameter -kv to the Solaris kernel parameter:

title Solaris xVM with serial console
kernel$ /boot/$ISADIR/xen.gz console=com1 com1=auto
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix
-B console=ttya -kv
module$ /platform/i86pc/$ISADIR/boot_archive

Boot the machine into the Xen Dom0

To enter the kernel debugger in the Dom0 press ctrl-a three (3) times, then q, then hit ctrl-a three (3) times again. You should now be in the solaris kernel debugger in the Dom0.

see this thread [16.01.08] on the OpenSolaris Discussion list



How to start a Solaris DomU in debug mode

[15.12.2007 Solaris snv_75]

Use the boot parameter -kd to start a Solaris DomU in debug mode, example:

# ### in the Dom0
#
bash-3.2# cat Solaris10_xen0707_debug.phy
bootloader = "/usr/lib/xen/bin/pygrub"
name = "solaris_10_July_07"
memory = "368"
vcpus = "1"
disk = [ 'file:/export/xen-images/Solaris10_xen0707/Solaris10_xen0707.raw,0,w' ]
root = "/dev/dsk/c0d0s0"
vif = [ 'mac=00:0e:0c:3e:18:cd' ]
on_shutdown = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'
extra = "-kd -v"

bash-3.2# xm create -c Solaris10_xen0707_debug.phy
Using config file "./Solaris10_xen0707_debug.phy".
Started domain solaris_10_July_07

# ### in the DomU
#
module /platform/i86xpv/kernel/unix: text at [0xf4c00000, 0xf4cbe8b7] data at 0xf5000000
module /kernel/genunix: text at [0xf4cbe8b8, 0xf4e53867] data at 0xf506a160
Loading kmdb...
module /kernel/misc/kmdbmod: text at [0xf4e53870, 0xf4eb6027] data at 0xf50ac3a8
module /kernel/misc/ctf: text at [0xf4eb6028, 0xf4ebd23f] data at 0xf50bcf40

Welcome to kmdb
kmdb: dmod krtld failed to load: Error 2
[0]> :c
SunOS Release 5.11 Version xen-nv66-2007-06-24 32-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
xen v3.0.4-1-xvm chgset 'Mon Oct 01 23:11:42 2007 -0700 13222:2c0bad8f5d7a'
WARNING: Found xen v3.0.4-1-xvm but need xen v3.0.4-1-sun
WARNING: The kernel may not function correctly
features: 10666c6<cpuid,sse3,nx,sse2,sse,cx8,pae,mmx,cmov,msr,tsc>
cpu0: initialized cpu module 'cpu.generic'
mem = 376832K (0x17000000)
root nexus = i86xpv
pseudo0 at root
pseudo0 is /pseudo
scsi_vhci0 at root
scsi_vhci0 is /scsi_vhci
xpvd0 at root
xdf@0, xdf0
xdf0 is /xpvd/xdf@0
/xpvd/xdf@0 (xdf0) online
xdf@0: 20971520 blockspseudo-device: dld0
dld0 is /pseudo/dld@0
xencons@0, xencons0
xencons0 is /xpvd/xencons@0
cpu0: x86 (AuthenticAMD 20F42 family 15 model 36 step 2 clock 1990 MHz)
cpu0: AMD Turion(tm) 64 Mobile Technology ML-37
workaround applied for cpu issue #6323525
/xpvd/xnf@0 (xnf0) online
ip: joining multicasts failed (4) on xnf0 - will use link layer broadcasts for multicast
dump on /dev/dsk/c0d0s3 size 517 MB
pseudo-device: devinfo0
devinfo0 is /pseudo/devinfo@0
pseudo-device: zfs0
zfs0 is /pseudo/zfs@0
Hostname: dhcppc3
Dec 15 15:32:52 dhcppc3 rootnex: iscsi0 at root
Dec 15 15:32:52 dhcppc3 genunix: iscsi0 is /iscsi
Dec 15 15:32:52 dhcppc3 rootnex: xsvc0 at root: space 0 offset 0
Dec 15 15:32:52 dhcppc3 genunix: xsvc0 is /xsvc@0,0

dhcppc3 console login:

# Use xm sysrq in the Dom0 to activate the debugger in the DomU, e.g

# ### in the Dom0
#
bash-3.2# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   635     1     r-----    108.2
solaris_10_July_07                         4   367     1     -b----     59.7
bash-3.2# xm sysrq 4 b
bash-3.2#

# ### in the DomU
#
dhcppc3 console login: External debug event received
Loaded modules: [ zfs ]
kmdb: target stopped at:
kmdb_enter+0xa: pushl  %eax
[0]>

# use :c to continue Solaris
[0]> :c

dhcppc3 console login:




back to top

Trouble Shooting



General

[08.08.06 snv_43 Xen 07_2006]

In case of an error always check the Xen logfiles.

General information about how to handle bugs in Xen for Solaris are here [28.07.07].

You can run the script xen_explorer.sh in a Solaris Dom0 to collect mostly all Xen related information.



My changes to /etc/system are not persistent

[25.07.07 Xen 07_2007]

Note:  This hint only applys if your Dom0 is not running Solaris.

If you're changing /etc/system or another system file inside a DomU do not forget to recreate the boot_archive and to copy the changed boot_archive to the Dom0

e.g. if there's an update of the boot_archive while shuting down the domain:


updating /platform/i86pc/boot_archive...this may take a minute
updating /platform/i86pc/amd64/boot_archive...this may take a minute
Jul 25 21:22:44 dhcppc1 syslogd: going down on signal 15


or after you manually updated the boot_archive using bootadm copy the boot_archive to the Dom0


Creating the boot-archive failed in a DomU


[19.01.08 Solaris snv_78]

Problem:

The automatic update of the boot-archive before shuting down the DomU fails, e.g.:


bash-3.2# halt
Jan 19 17:14:09 dhcppc23 halt: initiated by root on /dev/console
updating /platform/i86pc/boot_archive...this may take a minute
updating /platform/i86pc/amd64/boot_archive...this may take a minute
Jan 19 17:15:23 dhcppc23 ufs: NOTICE: alloc: /: file system full
cat: write error: No space left on device
cat: write error: No space left on device
Jan 19 17:15:33 dhcppc23 last message repeated 1 time
Jan 19 17:15:34 dhcppc23 devfsadmd[153]: build_devlink_list: readlink failed for /dev/sound/0: No such file or directory
Jan 19 17:15:34 dhcppc23 devfsadmd[153]: build_devlink_list: readlink failed for /dev/sound/0ctl: No such file or directory
Jan 19 17:15:35 dhcppc23 syslogd: going down on signal 15
syncing file systems... done
bash-3.2#


A reason for this error can be that there is not enough free space in /tmp or in / (The temporary files for creating the boot-archive are created in /tmp if there is enough free space or in /).

Now the DomU is not bootable anymore:

bash-3.2# xm create -c embbed_solaris.cfg
Using config file "./embbed_solaris.cfg".
Started domain embedded-disk
/usr/lib/xen/bin/xenconsole: Could not read tty from store: No such file or directory
bash-3.2#


To fix this error do the following:

Note: You need a Solaris Dom0 for the fix

# create the lofi device for the DomU image file and mount it
#
bash-3.2# mount $(  lofiadm -a /export/xen-images/minimalsol10/disk.img ) /mnt

# update the boot-archive in the image
#
bash-3.2# /usr/sbin/bootadm update-archive -R /mnt -f
Creating ram disk for /mnt
updating /mnt/platform/i86pc/boot_archive...this may take a minute
updating /mnt/platform/i86pc/amd64/boot_archive...this may take a minute

# umount the lofi device and delete it
bash-3.2# umount /mnt
bash-3.2# lofiadm -d /export/xen-images/minimalsol10/disk.img


Now you can restart the DomU.


To avoid this error either increase the memory available for the DomU or increase the free space in the root filesystem of the DomU.

You can use the same fix if the manual update of the boot-archive using bootadm fails. In this case, stop the DomU manually (ignoring the errors) and recreate the boot-archive in the Dom0.



How to change the output of uname

[09.09.06 snv_43 Xen 07_2006]

Some scripts and binaries do not know the output of uname if a Xen kernel is booted. In this case you can use sloggi [09.09.06] to fake the uname output:

(bash):root@ferrari:/root # uname -a
SunOS ferrari 5.11 matrix-aug i86xen i386 i86xen


(bash):root@ferrari:/root # slogctl -h
Usage: slogctl [-hV] [-s sysname] [-r release] [-v version] [-m machine]
Options:
   -s sysname   Set the name of the operating system.
                [Default: SunOS]
   -r release   Set the operating system release level.
                [Usually: 5.8, 5.9, ...]
   -v version   Set the the operating system version.
                [Default: Generic]
   -m machine   Set the machine hardware name (class).
                [Usually: sun4m, sun4u, i86pc, ...]
   -h           Print this help screen.
   -V           Print version information.
No options restore the original uname() setup

(bash):root@ferrari:/root # slogctl -r 5.10 -v Generic -m i386
SunOS ferrari 5.10 Generic i386

(bash):root@ferrari:/root #


A compiled binary for Solaris 10 is available on my homepage. in the download section.



NameError: name 'FutureWarning' is not defined

[09.08.06 snv_43 Xen 07_2006]

(bash):root@ferrari:/export/xen-images # xm create -c centost1.phy
Traceback (most recent call last):
  File "/usr/sbin/xm", line 8, in ?
    from xen.xm import main
  File "/usr/lib/python/xen/xm/main.py", line 31, in ?
    warnings.filterwarnings('ignore', category=FutureWarning)
NameError: name 'FutureWarning' is not defined



Solution: You installed an invalid Python version after installing Xen (either from the DVD or via BFU).

Use pkginfo to check which Python version is installed and remove the invalid version:[23.10.07]

(bash):root@ferrari:/export/xen-images # pkginfo | grep -i py
system      SFWpy                            Python - an interpreted, interactive, OO prog. language
GNOME2      SUNWPython                       The Python interpreter, libraries and utilities
GNOME2      SUNWPython-devel                 The Python interpreter, libraries and utilities - development files
GNOME2      SUNWPython-extra                 Supplemental Python libraries and utilities
GNOME2      SUNWPython64                     The 64-bit Python interpreter, libraries and utilities for Xen
GNOME2      SUNWPython64-devel               The 64-bit Python interpreter, libraries and utilities for Xen - development files
GNOME2      SUNWgnome-python-desktop         Python support desktop libraries for GNOME
GNOME2      SUNWgnome-python-libs            Python support libraries for GNOME
GNOME2      SUNWgnome-python-libs-devel      Python support libraries for GNOME - development files
system      SUNWlxml-python                  The XML library - Python bindings
system      SUNWlxsl-python                  The XSLT library - Python bindings




Error: Unknown device type: console


[15.01.08 Solaris snv_78]

Trying to suspend/save a HVM domain to disk fails with the error message above.

Reason

Suspend/Save is not yet supported in the Xen version in Solaris. This feature will be avaible in Xen 3.1
(see this blog entry [15.01.08])



ERROR Internal error: Couldn't map p2m_frame_list_list (errno 14) (14 = Bad address)

[12.02.08 Solaris snv_81]

This error means, that the DomU crashes but it was to early to create a crash dump.



Error: (2, 'Invalid kernel', 'Non PAE-kernel on PAE host.')

[21.07.07 Xen 07_2007]

If starting a DomU aborts with the error message

bash-3.00# xm create -c solaris-b44.phy
Using config file "./solaris-b44.phy".
Error: (2, 'Invalid kernel', 'Non PAE-kernel on PAE host.')


you're trying to run a wrong DomU kernel ("older DomUs" in the message below means DomUs with non-PAE kernels):


>If I understand this correct, I can not run the older DomUs with Solaris 
> Xen 07/07 in Dom0?

As shipped, no. But what you could do (though I haven't tested this), is
downlaod our xen-gate sources and modify sunos.hg/bin/build-xen such that PAE=n
around line 199. If you install the resultant packages from running
build-workspace, I /think/ the dom0 kernel should boot under non-PAE just fine
and you can run the older domUs as well as the newer ones.
(Source: John Levon,  21.07.07 in the  OpenSolaris xVM Forum [23.10.07])



Error: (2, 'Invalid kernel', 'elf_xen_note_check: ERROR: Will only load images built for the generic loader or Linux images')

[24.10.07 Solaris snv_75]

Your DomU configuration contains a non-Xen kernel.

If this occurs while trying to start a Solaris DomU it is probably because you use the normal Solaris kernel and not the Xen enabled Solaris kernel.

For Solaris DomUs use the kernel  /boot/platform/i86xpv/kernel/unix (not the kernel /boot/platform/i86pc/kernel/unix )


Error: (11, 'Resource temporarily unavailable')

[08.08.06 snv_43 Xen 07_2006]

This is one of the methods Xen is telling you that you're trying to run a 32 Bit DomU in a 64 Bit Dom0.

[27.10.06 snv_46 Xen 08_2006]

Another possible reason for this error is: You're trying to start a DomU with a not supported kernel version

Check the log file /var/log/xend-debug.log



Error: (22, 'Invalid argument')

[28.07.07 Xen 07_2007]

Starting a DomU gives

[root@localhost xen]# xm create -c opensol.cfg
Using config file "./opensol.cfg".
Error: (22, 'Invalid argument')


This may be related to problems with ballooning, see this thread [28.07.07] on OpenSolaris.



ip: joining multicasts failed

[22.07.07 Xen 07_2007]

While starting a Solaris DomU you get an error message about multicasts:

bash-3.00# xm console 16
SunOS Release 5.11 Version xen-nv66-2007-06-24 32-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
ip: joining multicasts failed (4) on xnf0 - will use link layer broadcasts for multicast
Hostname: dhcppc1
syslogd: line 45: WARNING: loghost could not be resolved

dhcppc1 console login: root
Password:
Last login: Sat Jul 21 14:56:52 on console
Jul 21 15:05:56 dhcppc1 login: ROOT LOGIN /dev/console
Sun Microsystems Inc.   SunOS 5.11      xen-nv66-2007-06-24     October 2007
# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
xnf0: flags=201005843<UP,BROADCAST,RUNNING,MULTICAST,MULTI_BCAST,DHCP,IPv4,CoS> mtu 1500 index 2
        inet 192.168.1.21 netmask ffffff00 broadcast 192.168.1.255
        ether 0:e:c:3e:18:cd
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128
#




This is a known bug that can be ignored, see this bug [22.07.07].


WARNING: xnb_alloc_page: Cannot allocate memory to transfer packets to peer

[20.01.08 Solaris snv_78]

I do see these messages in my log file:

xnb: [ID 873713 kern.warning] WARNING: xnb_alloc_page: Cannot allocate memory to transfer packets to peer

Until build 81 is available the Solaris network backend uses "page
flipping" to transfer packets from the IO domain to the guest. To do
this it needs to allocate a page to flip. The message you are seeing
is the failure to allocate a page.

This happens when the hypervisor has no free memory to give to the IO
domain (obviously).

Build 81 includes support for an alternative mechanism where guest
domains advertise pages into which the IO domain copies packet
data. No memory allocation is necessary.

It's usually possible to avoid this problem by constraining the amount
of memory given to dom0 (using the "dom0_mem" to Xen in grub's
menu.lst), as it seems to occur much more frequently when ballooning
is used.
(Source: David Edmondson  the Xen Discussion on opensolaris.org on 17.01.08 [20.01.08])




The Network connection of a Solaris DomU does not work

[25.07.07 Xen 07_2007]

If the network connection of a Solaris DomU does not work or does only work paritally (e.g IP traffic work but DNS not) add the line

set xnf:xnf_cksum_offload = 0

to the /etc/system file of the domain and update the boot_archive using

bash-3.00# bootadm update-archive

After that, copy the changed boot_archive to the Dom0 (if necessary); stop and restart the DomU.

(Note: see also this entry about changes to /etc/system in a DomU)



How to slow down ballooning

[30.07.07 Xen 07_2007]

Add

bln_wait_sec = n

(where n is a number of seconds) to the /etc/system and reboot the Dom0.

Note: Ballooning is the process to shrink the memory of the Domain (either Dom0 or DomU)

Source: http://blogs.sun.com/rscott/entry/balloon_thread_code [30.07.07].



Error creating a windows HVM

[24.10.07 Solaris snv_75]

Check that the default-nic property for xend is set:

bash-3.2# svcprop -p config/default-nic xend
""

(see this thread [24.10.07])


Can not change the default NIC for Xen

[16.01.08 Solaris snv_78]

If changing the default NIC for Xen via svcprop seems not to work (e.g. the default NIC used by Xen is different to the NIC in the SMF properties) you should check the NIC in the xenstore:
"/usr/lib/xen/bin/xenstore-read device-misc/vif/default-nic".
If the value from the xenstore is wrong change it with

/usr/lib/xen/bin/xenstore-rm device-misc/vif/default-nic

and reboot the machine

If that does not work delete the xenstore and reboot the machine.

see this thread [16.01.08] in the OpenSolaris Forum



Cannot mount root path

[19.01.08 Solaris snv_78]

Starting a DomU crashes with the error message "cannot mount root path /xpvd/xdf@0:a"
   
bash-3.2# xm create -c embbed_solaris.cfg
Using config file "./embbed_solaris.cfg".
Started domain embedded-disk
v3.0.4-1-xvm chgset 'Mon Nov 12 23:09:42 2007 -0800 13228:ed897008a4c9'
SunOS Release 5.11 Version snv_78 64-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.

panic[cpu0]/thread=fffffffffbc3ff60: cannot mount root path /xpvd/xdf@0:a

fffffffffbc720d0 genunix:rootconf+113 ()
fffffffffbc72120 genunix:vfs_mountroot+65 ()
fffffffffbc72150 genunix:main+d3 ()
fffffffffbc72160 unix:_locore_start+80 ()

skipping system dump - no dump device configured
rebooting...


If everything else is okay in your DomU configuration, you might check if the disk image used for the DomU is still used for a lofi device:

bash-3.2# xm create -c embbed_solaris.cfg
bash-3.2# cat embbed_solaris.cfg
name = "embedded-disk"
vcpus = 1
memory = "512"
root = "/dev/dsk/c0d0s0"
disk = ['file:/export/xen-images/minimalsol10/disk.img,0,w']
vif = ['']

bash-3.2# lofiadm
Block Device             File
/dev/lofi/1              /export/xen-images/minimalsol10/disk.img


If yes, delete the lofi device and restart the DomU.



Unable to install domU's on Indiana preview 2

[11.02.08 Solaris snv_81]

Problem:

The installation of DomUs does not work on the Indiana preview 2.

Solution:

Check the output of the command

syseventadm list

There should be two lines (among others) like this:

class=EC_xendev /usr/lib/xen/scripts/xpvd-event action=$subclass domain=$domain vdev=$vdev device=$device devclass=$devclass febe=$fob
class=EC_xpvsys /usr/lib/xen/scripts/xpvsys-event subclass=$subclass shutdown=$shutdown

If these lines are missing, manual add the events by issueing:


# pfexec syseventadm add  -c EC_xendev \
            /usr/lib/xen/scripts/xpvd-event 'action=$subclass' \
            'domain=$domain' 'vdev=$vdev' 'device=$device' \
            'devclass=$devclass' 'febe=$fob'
# pfexec syseventadm add  -c EC_xpvsys \
            /usr/lib/xen/scripts/xpvsys-event 'subclass=$subclass' \
            'shutdown=$shutdown'


Source: This thread [11.02.08] on the OpenSolaris Xen Discussion list


[09.05.08 Solaris snv_85]


There's a script for this task in a message from John Levon on OpenSolaris.org [09.05.08]:

BASEDIR=${BASEDIR:-/}

/usr/sbin/syseventadm list -R $BASEDIR -c EC_xendev > /dev/null 2>&1
if [ $? -ne 0 ]
then
/usr/sbin/syseventadm add -R $BASEDIR -c EC_xendev \
/usr/lib/xen/scripts/xpvd-event 'action=$subclass' \
'domain=$domain' 'vdev=$vdev' 'device=$device' \
'devclass=$devclass' 'febe=$fob'
fi

/usr/sbin/syseventadm list -R $BASEDIR -c EC_xpvsys > /dev/null 2>&1
if [ $? -ne 0 ]
then
/usr/sbin/syseventadm add -R $BASEDIR -c EC_xpvsys \
/usr/lib/xen/scripts/xpvsys-event 'subclass=$subclass' \
'shutdown=$shutdown'
fi

# restart daemon if the package is being added to the running system
if [ "$BASEDIR" = "/" -a $? -eq 0 ]
then
/usr/sbin/syseventadm restart
fi



lucreate does not work in a Dom0

[23.04.2008 snv_85]

lucreate does not work in a Dom0:

bash-3.2# lucreate -n "sol10snv87"  -A "solaris 10 snv87" -m 
/:/dev/dsk/c1d0s4:ufs -l test.log
Discovering physical storage devices
Discovering logical storage devices
Cross referencing storage devices with boot environment configurations
Determining types of file systems supported
Validating file system requests
Preparing logical storage devices
Preparing physical storage devices
Configuring physical storage devices
Configuring logical storage devices
ERROR: The system must be rebooted after applying required patches.
Please reboot and try again.

bash-3.2# cat test.log
new request cannot find provider for service=<getLogicalDeviceList>


Note the other lu commands (like luupgrade, etc) do also not work in a xVM Dom0.

Workaround:

Boot the machine to bare metal and call lucreate .



Windows DomU and Networking

[30.11.07 Solaris snv_75]

The realtek device emulated in the qemu included in the Xen 3.0.4 source does not work with vista. It works fine with WinXP..

For Vista and 3.0.4, you need to use ne2k_pci.

vif = ['type=ioemu,mac=XX:XX:XX:XX:XX:XX,model=ne2k_pci']

I believe this is fixed in 3.1.2, but I haven't tried it to verify it yet.
(Source: Mark Johnson,  29.11.07 in the OpenSolaris xVM Forum [30.11.07])


Using ZFS in a Dom0

[30.11.07 Solaris snv_75]

> I set /etc/system's zfs:zfs_arc_max = 0x10000000 and it seems better now.
>
> I had previously tried setting it to 2Gb rather than 256Mb as above without success... I should have tried much lower!
>
> It "seems" that when I perform I/O though a WindowsXP hvm, I get a "reasonable" I/O rate, but I'm not sure at this point in time. When a write is made from within the hvm VM, would I expect for the same DMA issue to arise? (I can't really tell either way aty the moment because it's not super fast anyway)


A couple of things here..

I have found that ~ 2G is good for a dom0 if you use
zfs. If your using zfs in dom0, you should use
a dom0_mem entry in grub's menu.lst and fix the
amount of memory dom0 starts with.

e.g. my entry looks like...

title 64-bit dom0
root (hd0,0,d)
kernel$ /boot/$ISADIR/xen.gz dom0_mem=2048M com1=9600,8n1 console=com1
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -k
module$ /platform/i86pc/$ISADIR/boot_archive


Then, make sure you don't auto-balloon dom0 down (by creating
guests which would take some of that memory from dom0).
The best way to do this is to set config/dom0-min-mem
in xvm/xend (e.g. svcprop xvm/xend). zfs and auto-ballooning
down don't seem to work great together (I haven't
done a lot of testing to characterize this though).

If you do want to auto-balloon, or want to use less memory in
a zfs based dom0, setting zfs_arc_max to a low value seems
to work well..


I/O performance in a Windows HVM guests is not good at this
point. It won't be until we have Windows PV drivers available.
(Source: Mark Johnson,  29.11.07 in the OpenSolaris xVM Forum [30.11.07])

Note:

Add
zfs:zfs_arc_max = 0x10000000
to the /etc/system to set zfs_arc_max (0x10000000 is the size of the zfs cache)


[23.05.08 Solaris  snv_89]

Another post with hints for xVM and ZFS:


When you use zfs and Xen together, there's some tuning
you need to do... This will all be done for you in a
product.

First, your disks need to be running in sata mode
vs ata mode. i.e. format should report c0t0d0 vs
c0d0. The performance of disks running in IDE mode
is not bearable and runs into all sorts of problem
in the IDE/ATA driver.

You should limit dom0's memory to 2G. e.g.
kernel /boot/amd64/xen.gz com1=9600,8n1 console=com1 dom0_mem=2G

The zfs arc has to be limited. e.g.
echo "set zfs:zfs_arc_max = 0x10000000" >> /etc/system

If you are using files vs zvols for disks, you
should setup the recordsize to 8k. e.g.
zfs set recordsize=8k tank/guests

You should make sure dom0 doesn't balloon down
significantly.
svccfg -s xvm/xend setprop config/dom0-min-mem 2000
svcadm refresh xvm/xend;svcadm restart xvm/xend
(Source: Mark Johnson, 23.05.08 in the OpenSolaris xVM Forum [23.05.08])





Can not start a 64 Bit Solaris in a HVM

[16.01.08 Solaris snv_78]

Due to incorrect cpuid flags in xvm 3.0.4 Solaris will not boot automatically in 64 Bit Mode in a HVM running in a 64 Bit Dom0.

To get around this you can force Solaris to boot into 64 Bit mode by replacing $ISADIR to amd64 in the boot entry in the grub menu.

see  here [16.01.08] and here [16.01.08].



Error: HVM guest support unavailable..


[16.01.08 Solaris snv_78]

To use HVM DomUs the  CPU must have the necessary Virtual Extension and these Extensions must be enabled by the BIOS. Therefor if you get the error message "HVM guest support unavailable" or something similar check your BIOS if Virtual Extensions are enabled.

Note that not every BIOS allows you to enable the Virtual Extensions, see this thread [16.01.08] for some more information on this topic.



Is there a way to define VLAN tags on VNICs for xVM?

[11.12.07 Solaris snv_75]

Hi,

is there a way to define VLAN tags on VNICs for xVM?

I thought there is a way to plumb a "VLAN-NIC" within Dom0 (eg. e1000g155000 for VLAN ID 155 on the physical NIC e1000g0), and use that VLAN-NIC when creating a DomU with virt-install (--bridge="e1000g155000").

I've tried this with Opensolaris b76 using virt-install, but within the debug messages /usr/lib/vna claims that it could not create the VNIC900.

Is there an other way to accomplish VLAN tagged NICs within DomUs??

Best regards,

Tobi

-------

On 7 Dec 2007, at 09:06, Tobias Esser wrote:
> is there a way to define VLAN tags on VNICs for xVM?

It doesn't work. See 6637143.

dme.

(Source: David Edmondson,  7.12.07 in the OpenSolaris xVM Forum [11.12.07])


This version of Solaris xVM does not support this hardware

[18.02.08 Solaris snv_81]

If you get the error message

This version of Solaris xVM does not support this hardware

while trying to boot a Solaris xVM Dom0 check which type of interrupt controller is used. To do this boot the machine into Solaris on bare metal (without xVM) and issue the command

echo ::interrupts | mdb -k

e.g.

bash-3.2# echo ::interrupts | mdb -k
IRQ Vector IPL(lo/hi) Bus Share ISR(s)
0 0x20 14/14 - 1 cbe_fire
1 0x21 5/5 ISA 1 i8042_intr
3 0x23 6/6 PCI 1 iprb_intr
4 0x24 12/12 ISA 1 asyintr
5 0x25 9/9 PCI 1 audio810_intr
6 0x26 1/6 PCI 2 pcwl_intr, uhci_intr
7 0x27 5/5 ISA 1 ecpp_isr
9 0x29 9/9 - 1 acpi_wrapper_isr
10 0x2a 1/1 PCI 1 uhci_intr
11 0x2b 1/6 PCI 3 pcic_intr, pcic_intr, uhci_intr
12 0x2c 5/5 ISA 1 i8042_intr
14 0x2e 5/5 PCI 1 ata_intr
15 0x2f 5/5 PCI 1 ata_intr


If the output starts with "IRQ Vector IPL(lo/hi) Bus Share ISR(s) " (like in the example above) the legacy interrupt controller is used. This type of controller is not supported in Solaris snv_81 or newer. In this case check if there is a BIOS setup option to enable APIC. If yes, enable APIC and try again. If not, either use an older version of xVM or wait for a new version support the legacy interrupt controller again.

The also this thread  http://www.opensolaris.org/jive/thread.jspa?messageID=199181 [18.02.08] and this thread http://www.opensolaris.org/jive/thread.jspa?threadID=52294&tstart=0 [18.02.08],



Xen 3.2 and Solaris DomU

[06.04.08 Solaris snv_85]

Solaris snv_85 does not run in a PV DomU running in a Xen  3.2 Dom0, example:


root@guest-laptop:/home/xen-images/Solaris# xm create -c Solaris_inst.phy
Using config file "./Solaris_inst.phy".
module /platform/i86xpv/kernel/unix: text at [0xf4c00000, 0xf4ccb6bf] data at 0xf5000000
module /kernel/genunix: text at [0xf4ccb6c0, 0xf4e7ad07] data at 0xf5067d20
v3.2.0 chgset 'unavailable'
Started domain Solaris
SunOS Release 5.11 Version snv_85 32-bit
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
features: 10066c6<cpuid,sse2,sse,cx8,pae,mmx,cmov,msr,tsc>
mem = 376832K (0x17000000)

panic[cpu0]/thread=f5028f20: BAD TRAP: type=e (#pf Page fault) rp=f5053614 addr=d4400ba8

#pf Page fault
Bad kernel fault at addr=0xd4400ba8
pid=0, pc=0xf4c70866, sp=0x0, eflags=0x10002
cr0: 80050033<pg,wp,ne,et,mp,pe> cr4: 660<xmme,fxsr,mce,pae>
cr2: d4400ba8
         gs: f4c101b1  fs:  1f20000  es:      161  ds: d4400161
        edi:   1de673 esi: d4400ba8 ebp: f50536c0 esp: f505364c
        ebx:   1de673 edx:        0 ecx:        0 eax:        0
        trp:        e err:        3 eip: f4c70866  cs:      159
        efl:    10002 usp:        0  ss:        0

f505356c unix:die+ed (e, f5053614, d4400b)
f5053600 unix:trap+12b9 (f5053614, d4400ba8,)
f5053614 unix:_cmntrap+aa (f4c101b1, 1f20000, )
f50536c0 unix:atomic_cas_64+16 (d4232298, 175, 1de6)
f505371c unix:hati_pte_map+143 (d4232298, 175, 0, 1)
f5053760 unix:hati_load_common+12f (d4061f68, d4575000,)
f50537c4 unix:hat_devload+10b (d4061f68, d4575000,)
f5053818 unix:gnttab_init+bb (f4c4fe1e, 3, f50538)
f5053828 unix:startup_modules+fb (f5053840, f4d3d64a,)
f5053830 unix:startup+35 (f4c00010, f504f648,)
f5053840 genunix:main+1e ()

skipping system dump - no dump device configured
rebooting...
root@guest-laptop:/home/xen-images/Solaris#


see also:

http://www.opensolaris.org/jive/thread.jspa?threadID=55632&tstart=0 [06.04.08]


[07.04.08 Solaris snv_85]

There is a now work around for this bug using the kernel debugger in this message from  Juergen Keil:

http://www.opensolaris.org/jive/thread.jspa?threadID=55632&tstart=0 [07.04.08]

In principal the work around is:

Boot with the kernel debugger

extra           = '/platform/i86xpv/kernel/unix -kd - nowin -B install_media=cdrom'

and enter the following two commands at kernel debugger prompt:

# xm create /tmp/solaris-exp -c
Using config file "/tmp/solaris-exp".
Loading kmdb...
Started domain solaris-exp

Welcome to kmdb
Loaded modules: [ unix krtld genunix ]
[0]> gnttab_init+0xa2:b <esp/W 403

[0]> ,5000:c


The final solution is supposed to be in Solaris snv_87.

[24.04.08 Solaris snv_87]

This should be fixed in snv_87 but there is a new bug in Solaris snv_87 (so that I could not test the fix yet)


[08.11.08 Solaris snv_95]

A Solaris snv_95  DomU does work in Xen 3.2 (only tested in 32Bit yet)




Using file images with Xen 3.2


[22.05.08 Solaris snv_87]


It  looks like the syntax for file based disk images changed in Xen 3.2 (which is currently not yet available for Solaris):

Now you should use tap:aio:  instead of file:

"It's annoying and poorly documented but it now seems necessary to use "tap:aio" instead of "file".

i.e. for your example:

disk = [ 'tap:aio:/images/win2k3disk.img,ioemu:hda,w',
'tap:aio:/images/win2k3iso.img,ioemu:hdc:cdrom,r']

This should work."



Source:  https://bugs.launchpad.net/ubuntu/+source/xen-3.2/+bug/211726 [22.05.08]



Trouble Shooting non-Solaris issues

[08.11.08 Solaris snv_101]

This section contains some hints for trouble shooting Xen issues on non-Solaris Operating systems



Error: Device 0 (vif) could not be connected. Hotplug scripts not working

[08.11.08 Solaris snv_101]

"Ensure that /bin/sh leads to /bin/bash (i.e. readlink /bin/sh ).. if
not, ln -s -f /bin/bash /bin/sh

Its quite possible on your system /bin/sh leads to dash, which isn't
capable of parsing the hotplug scripts in /etc/xen/scripts, which is the
cause of this error."

Source:  http://lists.xensource.com/archives/html/xen-users/2007-01/msg00446.html [08.11.08]



Configuring loop devices in Linux


[08.11.08 Solaris snv_101]

"If you have the “loop” driver compiled into your kernel, you need to add 
“max_loop=64” to your kernel boot arguments (the “append=” line in lilo.conf,
or to the end of the “kernel” line in grub’s menu.lst), and reboot."


If you have the “loop” driver compiled as a module, you need to insmod it with
“max_loop=64” added to its options. On Debian systems, you
edit /etc/modules.conf and add “options loop max_loop=64”, and “rmmod loop”
“modprobe loop”.

If you’re using devfs, then stop here. The new /dev/loop* will appear
automatically. If not, you’ll need to edit and run MAKEDEV:
Change:

loop)
for part in 0 1 2 3 4 5 6 7
do
makedev loop$part b 7 $part $disk
done
;;

To:

loop)
for part in `seq 0 63`
do
makedev loop$part b 7 $part $disk
done
;;


And run “MAKEDEV loop”.


Use "file:/" in Xen 3.2

[08.11.08 Solaris snv_101]


If you want to use the deprecated keyword "file:/"  in Xen 3.2 you must edit the hotplug script (at least in Xen 3.2 under Ubuntu 8.04) to make it work again:

The hotplug script for  the virtual harddisks trys to setup the loopback device for the virtual disk twice: The first time it works but the second try to setup the same loopback device will fail and in the end the "xm create" command fails with an error message like the following:

"Device 0 (vbd) could not be connected. losetup /dev/loop1 /home/xen-images/milax/milax_with_xen.hdd failed"

To fix this bug you must edit the hotplug script /etc/xen/scripts/block:

Search the line

losetup "$loopdev" "$file" && losetup_failure="" && break

(it's line 333 in my copy of the script) and replace it with

break

The losetup is then only done with the command

do_or_die losetup $roflag "$loopdev" "$file"

(line 342 in my copy of the script)


Alternative: Use the new syntax for image files, see  Using file images with Xen 3.2


A DomU starts but there is no access to the console fo the DomU


[15.11.08 Solaris snv_101]

If there is no console access for a DomU add

extra = "xencons=tty console=tty"

to the DomU config file and restart the console




back to top

HowTos

This section contains some HowTos for Solaris and Linux DomUs running on Solaris Dom0. Note that some of the information below is also in the sections above.

[08.08.06 snv_43 Xen 07_2006]

Please note that the HowTos in this section are based on my experiences with Xen on Solaris. They may be completly wrong!

Notes:

All xm opperations rely upon the Xen control daemon, aka xend. For any xm commands to run xend must also be running. For this reason you should start xend as a service when your system first boots using xen.

Most xm commands require root privileges to run due to the communications channels used to talk to the hypervisor. Running as non root will return an error.

Most xm commands act asynchronously, so just because the xm command returned, doesn't mean the action is complete. This is important, as many operations on domains, like create and shutdown, can take considerable time (30 seconds or more) to bring the machine into a fully compliant state. If you want to know when one of these actions has finished you must poll through xm list periodically.
(Source: http://www.die.net/doc/linux/man/man1/xm.1.html[08.08.06])

see also the Xen FAQ  [08.08.06]


Solaris Dom0 Howtos



How to install Xen on Solaris

[19.07.07 Xen 07_2007]

Beginning with Xen Drop 07/2007 Xen is distributed as complete Solaris Installation DVD. This make the installation of the Dom0 and DomUs much easier.

The documentation for installing a Solaris Dom0 from the installation DVD is here:
http://www.opensolaris.org/os/community/xen/docs/specs.html [28.07.07].

There's also an BFU on the web page [28.07.07] so that you can install Xen on an existing Solaris installation.

One important hint:

In the default Xen configuration the minimal amount of memory for the Dom0 is 196 MB. That's far to little for a Dom0 running GNOME for example. Therefor you should change it to a higher value:

bash-3.00# svccfg -s xctl/xend listprop config/dom0-min-mem
config/dom0-min-mem  integer  196

bash-3.00# svccfg -s xctl/xend setprop config/dom0-min-mem = 512

bash-3.00# svcadm refresh xctl/xend

bash-3.00# svccfg -s xctl/xend listprop config/dom0-min-mem
config/dom0-min-mem  integer  512

The change is persistent - you only need to change the setting once.

[25.10.07 Solaris snv_75]

Beginning with snv_75 Xen is part of the standard OpenSolaris build.

In Solaris snv_75 the name of the SMF services for Xen changed to "svc:/system/xvm/<service>:default". So in Solaris snv_75 the property for the minimal amount of memory for the Dom0 is

bash-3.2# svccfg -s xvm/xend listprop config/dom0-min-mem
config/dom0-min-mem  integer  196


And, as you can see above, the default value is still 196 MB.

Beginning with snv_75 Xen is part of the standard OpenSolaris build.


What SMF services are used in the Dom0 for Xen?

[19.07.07 Xen 07_2007]

# svcs -a | grep xctl
online         10:51:04 svc:/system/xctl/store:default
online 10:51:11 svc:/system/xctl/xend:default
online 10:51:11 svc:/system/xctl/console:default
online 10:51:16 svc:/system/xctl/domains:default
Note that the Xen services are disabled by default - you must manually enable them (but only once; enabling the services is persistent).

[25.10.07 Solaris snv_75]

In Solaris snv_75 the name of the SMF services for Xen changed to "svc:/system/xvm/<service>:default":

bash-3.2# svcs -a | grep xvm
online         19:47:58 svc:/system/xvm/store:default
online         19:48:18 svc:/system/xvm/xend:default
online         19:48:19 svc:/system/xvm/console:default
online         19:48:20 svc:/system/xvm/domains:default


In Solaris snv_75 the services are enabled by default.

[26.10.07 Solaris snv_75]

It looks like the old SMF services are not removed if upgrading from a previous release to snv_75. Therefor you should remove them manually.


[15.11.08 Solaris snv_101]

bash-3.2# svcs -a  | grep -i xvm
disabled       16:03:02 svc:/system/xvm/ipagent:default
online         16:03:09 svc:/system/xvm/store:default
online         16:03:25 svc:/system/xvm/xend:default
online         16:03:26 svc:/system/xvm/console:default
online         16:03:27 svc:/system/xvm/virtd:default
online         16:03:27 svc:/system/xvm/domains:default




What Solaris Installation cluster is necessary to install Xen?

[26.10.07 Solaris snv_75]

In Solaris snv_75 I managed to create a DomU with the Installation Cluster  SUNWCrnet  and the packages:
(installed in this order).

Note: I'm not sure, if all python packages are really neccessary for Xen.

Note that you must disable the automatic reboot after installation and add the packages listed above manually if you're installing in a DomU.
In addition you must add the necessary entry to boot Xen manually in the file /boot/grub/menu.lst:

title Solaris xVM
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix
module$ /platform/i86pc/$ISADIR/boot_archive


The result looks like this (I also added bash to the DomU):


bash-3.2# cat /var/sadm/system/admin/CLUSTER
CLUSTER=SUNWCrnet

bash-3.2# uname -a
SunOS dhcppc0 5.11 snv_75 i86pc i386 i86xpv

bash-3.2# df -k
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0d0s0      1985327  589804 1335964    31%    /
/devices                   0       0       0     0%    /devices
/dev                       0       0       0     0%    /dev
ctfs                       0       0       0     0%    /system/contract
proc                       0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
swap                 1261044     316 1260728     1%    /etc/svc/volatile
objfs                      0       0       0     0%    /system/object
sharefs                    0       0       0     0%    /etc/dfs/sharetab
/usr/lib/libc/libc_hwcap3.so.1
                     1985327  589804 1335964    31%    /lib/libc.so.1
fd                         0       0       0     0%    /dev/fd
swap                 1260728       0 1260728     0%    /tmp
swap                 1260740      12 1260728     1%    /var/run
bash-3.2#


This Solaris DomU can run in only 160 Mbytes:

bash-3.2# xm create -c test2.phy

Using config file "./test2.phy".
Started domain solaris_10_snv75
SunOS Release 5.11 Version snv_75 64-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: dhcppc0
Reading ZFS config: done.

dhcppc0 console login: syslogd: line 45: WARNING: loghost could not be resolved

dhcppc0 console login: root
Password:
Last login: Fri Oct 26 21:37:10 on console
Oct 26 21:42:47 dhcppc0 login: ROOT LOGIN /dev/console
Sun Microsystems Inc.   SunOS 5.11      snv_75  October 2007
# prtconf
System Configuration:  Sun Microsystems  i86pc
Memory size: 160 Megabytes
System Peripherals (Software Nodes):

i86xpv
    scsi_vhci, instance #0
    isa (driver not attached)
    xpvd, instance #0
        xencons, instance #0
        xenbus, instance #0 (driver not attached)
        domcaps (driver not attached)
        balloon (driver not attached)
        xdf, instance #1
        xnf, instance #0
    iscsi, instance #0
    pseudo, instance #0
    options, instance #0
    cpus, instance #0
        cpu (driver not attached)
# swawp -l
swawp: not found
# swap -l
swapfile             dev    swaplo   blocks     free
/dev/dsk/c0d0s1     193,65        8  2047992  2047992
#


[16.01.08 Solaris snv_78]

There's a forum entry on OpenSolaris with a description on how to create a minimal DomU/Dom0:

http://www.opensolaris.org/jive/thread.jspa?threadID=49309&tstart=0 [16.01.08]

see How to create a minimal Solaris DomU or Dom0 for a detailed description of that method to create a minimal DomU.

[15.11.08 Solaris snv_101]

see How to add Xen / xVM DomU support to a Solaris Live Distribution for how to add Xen DomU support to an existing Solaris installation




How to create a minimal Solaris DomU or Dom0


[16.01.08 Solaris snv_78]

There's an very interesting forum message from Mark Johnson about how to create a minimal Solaris DomU that can also be used as Dom0:

http://www.opensolaris.org/jive/thread.jspa?threadID=49309&tstart=0 [16.01.08]

I used the instructions from this message to create a minimal Solaris DomU and here's how it works:
(Note that these are more or less the  instructions from the forum entry with small bug corrections and enhancements from me)

Note: You need the script buildDomU.sh for creating the DomU.


# ### in the Dom0
#
# Dom0 used for the test:
#
bash-3.2# uname -a
SunOS dhcppc2 5.11 snv_78 i86pc i386 i86xpv


# create the file for the disk image (512 MB)
#
bash-3.2# dd if=/dev/zero of=./disk.img bs=1024k count=512
512+0 records in
512+0 records out


# create the lofi device for the image file
#
bash-3.2# lofiadm -a /export/xen-images/minimalsol10/disk.img
/dev/lofi/1

# create a filesystem on the lofi device
#
bash-3.2# newfs /dev/rlofi/1
/dev/rlofi/1: Unable to find Media type. Proceeding with system determined parameters.
newfs: construct a new file system /dev/rlofi/1: (y/n)? y
/dev/rlofi/1:   1048200 sectors in 1747 cylinders of 1 tracks, 600 sectors
        511.8MB in 110 cyl groups (16 c/g, 4.69MB/g, 2240 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
 32, 9632, 19232, 28832, 38432, 48032, 57632, 67232, 76832, 86432,
 960032, 969632, 979232, 988832, 998432, 1008032, 1017632, 1027232, 1036832,
 1046432


# mount the lofi device
#
bash-3.2# mount /dev/lofi/1 /mnt
bash-3.2# df -k /mnt
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/lofi/1           491522    1041  441329     1%    /mnt
bash-3.2#


# make sure that the directory /export/install/i386 contains the Solaris DVD installation files
# (or change the directory in the script build-DomU.sh )
#
bash-3.2#  mount 192.168.1.8:/export/install/cdrom_images/sol10x86dvd /export/install/i386
bash-3.2# ls /export/install/i386
autorun.inf                  DeveloperTools               README.txt
autorun.sh                   installer                    sddtool
boot                         JDS-THIRDPARTYLICENSEREADME  Solaris_11
Copyright                    License                      Sun_HPC_ClusterTools


# now install Solaris on the lofi device with the script buildDomU.sh
# Download the script buildDomU.sh and execute it
#
bash-3.2# ./buildDomU.sh
buildDumU_ramdisk.sh - create a disk image for a a minimal Solaris DomU
Source: http://www.opensolaris.org/jive/thread.jspa?threadID=49309&tstart=0
        http://home.arcor.de/bnsmb/public/htdocs/Xen_and_Solaris.html

The settings used are:

The logfile is "/tmp/packages.2123.log"
The root dir of the image file is "/mnt"
The image file used is: "/export/xen-images/minimalsol10/disk.img"
The path to the OpenSolaris installation image product directory is: "/export/install/i386/Solaris_11/Product"
The DomU config file to create is "/export/xen-images/minimalsol10/embbed_solaris.cfg"

Note: You must create the image file for the DomU manually, create a lofi
       device for it, and mount it before invoking this script

Are these settings correct (y/N)?
y
Checking the settings ...
Checking the root directory "/mnt" ..
Checking the package directory "/export/install/i386/Solaris_11/Product" ...
adding packages to /mnt
Installing the package "SUNWcar.i" ...
Installing the package "SUNWcarx.i" ...
Installing the package "SUNWcakr.i" ...
Installing the package "SUNWcakrx.i" ...
Installing the package "SUNWkvm.i" ...
Installing the package "SUNWcsr" ...
Installing the package "SUNWcsd" ...
Installing the package "SUNWos86r" ...
Installing the package "SUNWrmodr" ...
Installing the package "SUNWpsdcr" ...
Installing the package "SUNWpsdir" ...
Installing the package "SUNWckr" ...
Installing the package "SUNWcnetr" ...
Installing the package "SUNWcsl" ...
Installing the package "SUNWcsu" ...
Installing the package "SUNWcslr" ...
Installing the package "SUNWesu" ...
Installing the package "SUNWkey" ...
Installing the package "SUNWlibms" ...
Installing the package "SUNWlibmsr" ...
Installing the package "SUNWusb" ...
Installing the package "SUNWpr" ...
Installing the package "SUNWtls" ...
Installing the package "SUNWlibsasl" ...
Installing the package "SUNWlxml" ...
Installing the package "SUNWopenssl-libraries" ...
Installing the package "SUNWusbs" ...
Installing the package "SUNWmdr" ...
Installing the package "SUNWmdu" ...
Installing the package "SUNWtecla" ...
Installing the package "SUNWzlib" ...
Installing the package "SUNWuprl" ...
Installing the package "SUNWsmapi" ...
Installing the package "SUNWkrbr" ...
Installing the package "SUNWkrbu" ...
Installing the package "SUNWgss" ...
Installing the package "SUNWbipr" ...
Installing the package "SUNWbip" ...
Installing the package "SUNWzfskr" ...
Installing the package "SUNWzfsr" ...
Installing the package "SUNWzfsu" ...
Installing the package "SUNWbash" ...
Installing the package "SUNWipfr" ...
Installing the package "SUNWipfu" ...
Installing the package "SUNWmkcdr" ...
Installing the package "SUNWmkcd" ...
Installing the package "SUNWadmap" ...
Installing the package "SUNWadmlib-sysid" ...
Installing the package "SUNWadmr" ...
Installing the package "SUNWsshcu" ...
Installing the package "SUNWsshdr" ...
Installing the package "SUNWsshdu" ...
Installing the package "SUNWsshr" ...
Installing the package "SUNWsshu" ...
Installing the package "SUNWmdb" ...
Installing the package "SUNWmdbr" ...
Installing the package "SUNWnfsckr" ...
Installing the package "SUNWnfscr" ...
Installing the package "SUNWnfscu" ...
Installing the package "SUNWatfsr" ...
Installing the package "SUNWatfsu" ...
Installing the package "SUNWPython" ...
Installing the package "SUNWPython-extra" ...
Installing the package "SUNWvirtinst" ...
Installing the package "SUNWurlgrabber" ...
Installing the package "SUNWlibvirt" ...
Installing the package "SUNWxvmhvm" ...
Installing the package "SUNWxvmdomr" ...
Installing the package "SUNWxvmdomu" ...
Installing the package "SUNWxvmu" ...
Installing the package "SUNWxvmr" ...
Installing the package "SUNWgccruntime" ...
Installing the package "SUNWgnutls" ...
Installing the package "SUNWlibsdl" ...
Installing the package "SUNWxwplt" ...
Installing the package "SUNWxwrtl" ...
Installing the package "SUNWnisr" ...
Installing the package "SUNWnisu" ...
Installing the package "SUNWahci" ...
sys-unconfig started Sat Jan 19 12:33:04 2008
sys-unconfig completed Sat Jan 19 12:33:04 2008
build boot_archive
Creating ram disk for /mnt
updating /mnt/platform/i86pc/boot_archive...this may take a minute
updating /mnt/platform/i86pc/amd64/boot_archive...this may take a minute
Creating the Xen config file for the Domu "/export/xen-images/minimalsol10/embbed_solaris.cfg" ...
The logfile used was "/tmp/packages.2123.log".


# check the DomU config file created by the script
#
bash-3.2# cat /export/xen-images/minimalsol10/embbed_solaris.cfg
name = "embedded-disk"
vcpus = 1
memory = "512"
root = "/dev/dsk/c0d0s0"
disk = ['file:/export/xen-images/minimalsol10/disk.img,0,w']
vif = ['']

# umount and delete the lofi device
#
bash-3.2# umount /mnt
bash-3.2# lofiadm -d /export/xen-images/minimalsol10/disk.img

# and start the DomU
#
bash-3.2# xm create -c embbed_solaris.cfg
# ### in the DomU
Using config file "./embbed_solaris.cfg".
Started domain embedded-disk
v3.0.4-1-xvm chgset 'Mon Nov 12 23:09:42 2007 -0800 13228:ed897008a4c9'
SunOS Release 5.11 Version snv_78 64-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
# after the DomU startet you must configure it (terminal type, network, etc
# the DomU will reboot automatically after the configuration is done:



System identification is completed.
rebooting system due to change(s) in /etc/default/init

syncing file systems... done
rebooting...


# reattach to the console of the DomU using "xm console <domu>"
bash-3.2# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   492     1     r-----   1133.3
embedded-disk                              5   511     1     -b----     24.0

bash-3.2# xm console 5
v3.0.4-1-xvm chgset 'Mon Nov 12 23:09:42 2007 -0800 13228:ed897008a4c9'
SunOS Release 5.11 Version snv_78 32-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: dhcppc7
Reading ZFS config: done.

dhcppc23 console login: Jan 19 17:12:13 dhcppc23 svc.startd[7]: system/intrd:default failed repeatedly: transitioned to maintenance (see 'svcs -xv' for details)


# check the status of the SMF services
#
bash-3.2# svcs -x
svc:/system/intrd:default (interrupt balancer)
 State: maintenance since Sat Jan 19 13:06:00 2008
Reason: Restarting too quickly.
   See: http://sun.com/msg/SMF-8000-L5
   See: intrd(1M)
   See: /var/svc/log/system-intrd:default.log


svc:/system/fmd:default (Solaris Fault Manager)
 State: offline since Sat Jan 19 13:05:35 2008
Reason: Dependency file://localhost/usr/lib/fm/fmd/fmd is absent.
   See:http://sun.com/msg/SMF-8000-E2
   See: fmd(1M)
Impact: This service is not running.
bash-3.2#

# disable the services which are in maintenance (or install the missing packages)
#
bash-3.2# svcadm disable svc:/system/intrd:default
bash-3.2# svcadm disable svc:/system/fmd:default
bash-3.2# svcs -x

# disable the services to update the boot-archive
#
bash-3.2# svcadm disable svc:/system/boot-archive-update:default

# cleanup the device tree (add the parameter -v to get more ouptut of devfsadm)
#



# update the boot-archive manually
bash-3.2# bootadm update-archive -f
updating /platform/i86pc/boot_archive...this may take a minute
updating /platform/i86pc/amd64/boot_archive...this may take a minute


# Note: If the update of the boot-archive fails execute the bootadm command once more

# shutdown the DomU
#
bash-3.2# halt
Jan 19 18:45:06 dhcppc27 halt: initiated by root on /dev/console
Jan 19 18:45:07 dhcppc27 syslogd: going down on signal 15
syncing file systems... done
bash-3.2#

# Note: If creating the boot-archive failed see here for a work around.

# That's it - the DomU is ready to use now:
#
bash-3.2# xm create -c embbed_solaris.cfg
Using config file "./embbed_solaris.cfg".
Started domain embedded-disk
v3.0.4-1-xvm chgset 'Mon Nov 12 23:09:42 2007 -0800 13228:ed897008a4c9'
SunOS Release 5.11 Version snv_78 64-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: dhcppc17
Reading ZFS config: done.

dhcppc17 console login: root
Password:
Last login: Sat Jan 19 13:06:41 on console
Jan 19 15:43:58 dhcppc17 login: ROOT LOGIN /dev/console
Sun Microsystems Inc.   SunOS 5.11      snv_78  October 2007
# bash
bash-3.2# svcs -x



Note:

pkgadd is not installed in this minimal Solaris DomU. Therefor you must use pkgadd in the Dom0 to add additional packages to the DomU, e.g.

# shutdown the Domu
#
# lofi mount the image file for the DomU
#
bash-3.2# mount $( lofiadm -a /export/xen-images/minimalsol10/disk.img ) /mnt

# use pkgadd with the -R parameter to add packages to the DomU image file
#
bash-3.2# pkgadd -R /mnt -d /export/install/i386/Solaris_11/Product SUNWmkcd

Processing package instance <SUNWmkcd> from </export/install/i386/Solaris_11/Product>
...


See How to create a Solaris DomU or Dom0 that boots from a RAM disk for how to use this DomU image to create a DomU or Dom0 that boots from a RAM disk.


[08.04.08 Solaris snv_85]

The instructions above to create a minimal DomU also work in Solaris snv_85 (which is based on Xen 3.1)

[15.11.08 Solaris snv_101]

see How to add Xen / xVM DomU support to a Solaris Live Distribution for how to add Xen DomU support to an existing Solaris installation



How to create a Solaris DomU or Dom0 that boots from a RAM disk


[16.01.08 Solaris snv_78]

Note: This topic uses the instructions from Mark Johnsons forum message [16.01.08] with some enhancements by me.
 
First create a minimal Solaris DomU as described here and configure it as you like. Be aware that all changes to the RAM disk are temporary - therefor you should make all persistent changes to the minimal Solaris DomU before creating the RAM disk.

Then download the script  buildDomU_ramdisk.sh, edit it for your environment, and execute it:

# ### in the Dom0
#
bash-3.2# ./buildDomU_ramdisk.sh
buildDumU_ramdisk.sh - create a ram disk image for a DomU
Source: http://www.opensolaris.org/jive/thread.jspa?threadID=49309&tstart=0
        http://home.arcor.de/bnsmb/public/htdocs/Xen_and_Solaris.html

The DomU disk image used is "/export/xen-images/minimalsol10/disk.img"
The temporary disk image file used is "/export/xen-images/minimalsol10/temp.img"
The DomU config file for the 64 Bit DomU will be "/export/xen-images/minimalsol10/./xvm/embedded64_ram.cfg"
The DomU config file for the 32 Bit DomU will be "/export/xen-images/minimalsol10/./xvm/embedded32_ram.cfg"
The file with the menu entries for the grub in the Dom0 will be "/export/xen-images/minimalsol10/./xvm/dom0_menu_add"
The DomU config directory used is "./xvm"
  Warning: The directory "./xvm" already exists
The new rootarchive script is "/export/xen-images/minimalsol10/root_archive.new"
"/export/xen-images/minimalsol10/root_archive.new" already exists - will not be overwritten.
The mount point used is "/mnt"

Are these settings correct (n/Y)?
y
Checking the prerequisites ...
Creating the temporary disk image file ...
Mounting the temporary disk image file ...
Correcting the devices links for the root disk in the image ...
Deleting not necessary files in the image ...
Creating and configuring the DomU directory ...
+ /export/xen-images/minimalsol10/root_archive.new pack ././xvm/solaris.ramdisk /mnt
+ cp /mnt/platform/i86xpv/kernel/unix ./xvm
+ cp /mnt/boot/xen.gz ./xvm/
+ cp /mnt/platform/i86xpv/kernel/amd64/unix ./xvm/amd64/
+ cp /mnt/boot/amd64/xen.gz ./xvm/amd64/
Removing the temporary disk image file ...
Creating the 64 Bit DomU config file ...
Creating the 32 Bit DomU config file ...
Creating the file with the menu entries for grub ...

Execute

cp "/export/xen-images/minimalsol10/./xvm/solaris.ramdisk" /boot

and add the contents of the file "/export/xen-images/minimalsol10/./xvm/dom0_menu_add" to the  grub menu for the Dom0

Now you can start your DomU:

bash-3.2# xm create -c /export/xen-images/minimalsol10/./xvm/embedded64_ram.cfg
# ### in the DomU
Using config file "/export/xen-images/minimalsol10/./xvm/embedded64_ram.cfg".
Started domain embedded
Loading kmdb...
v3.0.4-1-xvm chgset 'Mon Nov 12 23:09:42 2007 -0800 13228:ed897008a4c9'
SunOS Release 5.11 Version snv_78 64-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Hostname: dhcppc29
Reading ZFS config: done.

dhcppc29 console login: root
Password:
Last login: Sat Jan 19 18:52:25 on console
Jan 19 20:11:23 dhcppc29 login: ROOT LOGIN /dev/console
Sun Microsystems Inc.   SunOS 5.11      snv_78  October 2007
# bash

Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0d0s0       350994  266578   49317    85%    /
/devices                   0       0       0     0%    /devices
/dev                       0       0       0     0%    /dev
ctfs                       0       0       0     0%    /system/contract
proc                       0       0       0     0%    /proc
mnttab                     0       0       0     0%    /etc/mnttab
swap                  344408     488  343920     1%    /etc/svc/volatile
objfs                      0       0       0     0%    /system/object
sharefs                    0       0       0     0%    /etc/dfs/sharetab
/usr/lib/libc/libc_hwcap3.so.1
                      350994  266578   49317    85%    /lib/libc.so.1
fd                         0       0       0     0%    /dev/fd
swap                  343920       0  343920     0%    /tmp
swap                  343928       8  343920     1%    /var/run
bash-3.2# svcs -x
bash-3.2#

bash-3.2# ls -l /dev/*dsk/c0d0s0
lrwxrwxrwx   1 root     root          23 Jan 19 19:58 /dev/dsk/c0d0s0 -> ../../devices/ramdisk:a
lrwxrwxrwx   1 root     root          27 Jan 19 19:58 /dev/rdsk/c0d0s0 -> ../../devices/ramdisk:a,raw
bash-3.2#



To use the ramdisk for a Dom0 just follow the instructions printed by the script.

Note that I could not boot the ramdisk in a Dom0 on  a machine with only 1 GB until now.



[08.04.08 Solaris snv_85]


The instructions above to create a minimal DomU that boots from a ramdisk also work in Solaris snv_85 (which is based on Xen 3.1)


How to add Xen / xVM DomU support to a Solaris Live Distribution


[15.11.08 Solaris snv_101]

If fairly simple to add xVM DomU support to an existing Solaris installation :

Just install the packages SUNWcakr.i and SUNWcakrx.i and correct the configuration for the boot device.

A cookbook for doing this is here

Adding xVM DomU support to a Solaris Live Distribution [15.11.08] 



How to check if a machine supports HVM DomUs

[11.12.07 Solaris  snv_75]
 
Use virt-install:

bash-3.2# virt-install --hvm
Can't do --hvm to this system: HVM guest is not supported by your CPU or enabled in your BIOS




Can I start a 32 Bit DomU in a 64 Bit Dom0 or vice versa?

[07.08.06 snv_43 Xen 07_2006]

No, you can't. All DomUs must be the same architecture as the Dom0

[06.04.08 Solaris snv_85]

In Solaris snv_85 and newer 32 Bit PV DomUs in 64 Bit Dom0s are supported



Where is the config file for Xen?

[20.07.07 Xen 07_2007]

In Xen 07/2007, all of the properties from xend-config.sxp have been put into SMF xctl/xend (config/*).

e.g.

bash-3.00# svcprop  -p config xctl/xend
config/default-nic astring ""
config/dom0-cpus integer 0
config/dom0-min-mem integer 196
config/enable-dump boolean true
config/stability astring Unstable
config/xend-relocation-address astring 127.0.0.1
config/xend-relocation-hosts-allow astring \^localhost$
config/xend-relocation-server boolean true
config/xend-unix-server boolean true

See the xend man page [28.07.07] for a description of these properties.

Examples for changing the config values (copied from the xend man page [28.07.07])

EXAMPLE 1 Modifying an Existing Property

Use the following sequence of commands to modify an existing xend property.

# svccfg -s xctl/xend listprop
# svccfg -s xctl/xend setprop config/dom0-cpus = 1
# svcadm refresh xctl/xend

EXAMPLE 2 Creating a New Property

The following sequence creates a new property.

# svccfg -s xctl/xend setprop config/testprop = astring: \"TestProperty\"
# svcadm refresh xctl/xend
# svcadm restart xend
# svcprop xctl/xend


[25.10.07 Solaris snv_75]

In Solaris snv_75 the name of the SMF services for Xen changed to "svc:/system/xvm/<service>:default". Therefor the Xen properties are now

bash-3.2# svcprop  -p config xvm/xend
config/default-nic astring ""
config/dom0-cpus integer 0
config/dom0-min-mem integer 196
config/enable-dump boolean true
config/stability astring Unstable
config/xend-relocation-address astring 127.0.0.1
config/xend-relocation-hosts-allow astring \^localhost$
config/xend-relocation-server boolean true
config/xend-unix-server boolean true



Where are the logfiles from Xen?

[29.07.07  Xen 07_2007]

The log files for Xen are in the directory /var/log/xen:

bash-3.00# ls -l /var/log/xen/
total 1128
-rwxr-xr-x   1 root     root        3517 Jul 29 10:15 xend-debug.log
-rw-r--r--   1 root     root      429861 Jul 29 10:26 xend.log
-rw-r--r--   1 root     root      122527 Jul 29 10:26 xpvd-event.log


see also Contents of the log files




Contents of the log files

[13.12.07 Solaris snv_75]

LogFile
Content
Comment
xend.log
logging and back traces from the long running daemon

xpvd-event.log
logs from the backend device creation and removal, etc

xend-debug.log


domain-builder-ng.log

[06.04.08] found in snv_85
qemu-dm.$$.log
log of the qemu part of xVM (which is only used for HVM DomUs)
$$ is unique number

see also Where are the log files?



The Xen Webserver (localhost:8000) only shows two links to himself

[15.09.06 snv_46 Xen 08_2006]

Looks like there is a more or less hidden http interface; use

http://localhost:8000/xend

to get the http interface of Xen

Source: http://lists.xensource.com/archives/html/xen-users/2006-03/msg00020.html [15.09.06]

Note that you must activate the webserver in the Xen configuration and restart xend to get it to work. In Solaris 10 this is the property config/xend-unix-server which must be set to true to activate the web server.



How to view information about the installed Xen version

[21.07.07 Xen 07_2007]

Use xm info; the output of this command looks like:

#bash-3.00# xm info
host                   : dhcppc0
release                : 5.11
version                : xen-nv66-2007-06-24
machine                : i86pc
nr_cpus                : 1
nr_nodes               : 1
sockets_per_node       : 1
cores_per_socket       : 1
threads_per_core       : 1
cpu_mhz                : 1989
hw_caps                : 078bfbff:e3d3fbff:00000000:00000010:00000001:00000001:00000001
total_memory           : 1022
free_memory            : 33
xen_major              : 3
xen_minor              : 0
xen_extra              : .4-1-sun
xen_caps               : xen-3.0-x86_32p
xen_pagesize           : 4096
platform_params        : virt_start=0xf5800000
xen_changeset          : Mon Jun 25 06:41:06 2007 -0700 13212:6d81d051701c
cc_compiler            : gcc version 3.4.3 (csl-sol210-3_4-20050802)
cc_compile_by          : xen-discuss
cc_compile_domain      : opensolaris.org
cc_compile_date        : Mon Jun 25 06:44:38 PDT 2007
xend_config_format     : 3

[25.10.07 Solaris snv_75]


In Solaris snv_75 the output is:

bash-3.2# xm info
host                   : dhcppc2
release                : 5.11
version                : snv_75
machine                : i86pc
nr_cpus                : 1
nr_nodes               : 1
sockets_per_node       : 1
cores_per_socket       : 1
threads_per_core       : 1
cpu_mhz                : 1989
hw_caps                : 078bfbff:e3d3fbff:00000000:00000010:00000001:00000001:00000001
total_memory           : 1022
free_memory            : 62
xen_major              : 3
xen_minor              : 0
xen_extra              : .4-1-xvm
xen_caps               : xen-3.0-x86_64
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : Mon Oct 01 23:11:42 2007 -0700 13222:2c0bad8f5d7a
cc_compiler            : gcc version 3.4.3 (csl-sol210-3_4-20050802)
cc_compile_by          : xen-discuss
cc_compile_domain      : opensolaris.org
cc_compile_date        : Mon Oct  1 23:12:24 PDT 2007
xend_config_format     : 3



[06.04.08 Solaris snv_85]

In Solaris snv_85 the output is:

bash-3.2# xm info
host                   : dhcppc2
release                : 5.11
version                : snv_85
machine                : i86pc
nr_cpus                : 1
nr_nodes               : 1
sockets_per_node       : 1
cores_per_socket       : 1
threads_per_core       : 1
cpu_mhz                : 1989
hw_caps                : 078bfbff:e3d3fbff:00000000:00000010:00000001:00000001:00000001
total_memory           : 1022
free_memory            : 0
xen_major              : 3
xen_minor              : 1
xen_extra              : .2-xvm
xen_caps               : xen-3.0-x86_32p
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xf5800000
xen_changeset          : Mon Mar 03 23:05:33 2008 -0800 15630:a1a16c966b70
cc_compiler            : gcc version 3.4.3 (csl-sol210-3_4-20050802)
cc_compile_by          : xen-discuss
cc_compile_domain      : opensolaris.org
cc_compile_date        : Mon Mar  3 23:10:11 PST 2008
xend_config_format     : 4






How to view the Xen kernel messages

[28.07.07  Xen 07_2007]


bash-3.00# xm dmesg
 __  __            _____  ___  _  _      _
 \ \/ /___ _ __   |___ / / _ \| || |    / |   ___ _   _ _ __
  \  // _ \ '_ \    |_ \| | | | || |_ __| |__/ __| | | | '_ \
  /  \  __/ | | |  ___) | |_| |__   _|__| |__\__ \ |_| | | | |
 /_/\_\___|_| |_| |____(_)___(_) |_|    |_|  |___/\__,_|_| |_|

 http://www.cl.cam.ac.uk/netos/xen
 University of Cambridge Computer Laboratory

 Xen version 3.0.4-1-sun (xen-discuss@opensolaris.org) (gcc version 3.4.3 (csl-sol210-3_4-20050802)) Mon Jun 25 06:44:38 PDT 2007
 Latest ChangeSet: Mon Jun 25 06:41:06 2007 -0700 13212:6d81d051701c

(XEN) Command line: /boot/xen.gz
(XEN) Physical RAM map:
...
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen).

Example output of xm dmesg


Example output of xm dmesg from Solaris snv_85 using Xen 3.1



How to check if a we're running in a Xen Domain (either Dom0 or DomU)

[19.07.07  Xen 07_2007]

Beginning with Xen 07_2007 you can use the uname command to do that

# uname -i
i86xpv

i86xpv is the platform for Solaris Xen Domains.



How to check if we're running in a Solaris Xen Dom0

[19.07.07 Xen 07_2007]

Use cat /dev/xen/domcaps.

In a Dom0 the result is

bash-2.05# cat /dev/xen/domcaps
control_d

In a DomU the result is


bash-2.05# cat /dev/xen/domcaps


If Xen is not running at all the result is

bash-3.00# cat /dev/xen/domcaps
cat: cannot open /dev/xen/domcaps: No such file or directory


[03.08.07 Xen 07_2007]

Another test:

if [ ! -c /dev/xen/privcmd ]; then
                echo "Not running domain 0: disabling Xen services"
fi

Source: /lib/svc/method/xenconsoled

[03.02.08 Solaris snv_81]

You can also use the function not_dom0 form the script /lib/svc/share/xvm_include.sh to check if running a Dom0 or DomU



How to check the amount of free space available for DomUs

[30.07.07 Xen 07/2007]

Check the field free_memory in the output of xm info.



How to check the type of a running DomU



To check if a running DomU is a HVM or a PV DomU you can use the following code

printf "Enter the ID or the name of the DomU:  "; read DOMID
xm list ${DOMID} | grep kernel | grep hvmloader >/dev/null
if [ $? -eq 0 ] ; then
  printf "The DomU ${DOMID}  is a HVM DomU\n"
else
  printf "The DomU ${DOMID}  is a PV DomU\n"
fi




How to access the xenstore


[05.08.07 Xen 07/2007]

Use xenstore-list, xenstore-read, xenstore-rm, xenstore-write, and xenstore-ls
(In Linux Xen implementations xenstore-ls is named xsls).

Note that you should check with xenstore-exists that the xenstore is running before using these tools, e.g.

if  ./xenstore-exists -s /local/domain ; then  
    echo "xenstore is runnig "
else
    echo "xenstore is not running "
fi


The other xenstore-* commands may hang if the xend Daemon is not running at all or not accessable.

bash-3.00# /usr/lib/xen/bin/xenstore-list /local/domain/0
vm
cpu
memory
name
console
domid

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   621     1     r-----     54.5
centos.5-0                                 2   255     1     -b----      1.7
solaris_10_July_07                             340     1                26.2
xen-centos1                                1   127     1     -b----      9.1

bash-3.00# /usr/lib/xen/bin/xenstore-list /local/domain/2
vm
device
device-misc
console
name
domid
cpu
memory
store

bash-3.00# /usr/lib/xen/bin/xenstore-list /local/domain/1
vm
device
device-misc
console
name
domid
cpu
memory
store

bash-3.00# /usr/lib/xen/bin/xenstore-read /local/domain/1/vm
/vm/6b096cb9-26b1-20a3-d09a-3c9a4c434a6b

bash-3.00# /usr/lib/xen/bin/xenstore-read /local/domain/1/domid
1

bash-3.00# /usr/lib/xen/bin/xenstore-ls
tool = ""
 xenstored = ""
vm = ""
 c0a1e2be-9608-534d-70c0-7aadc555944f = ""
  image = "(linux (kernel /space/xen-centos1/vmlinuz-2.6-xen) (args 'root=..."
...
  nic = "vnic901"
  hotplug-status = "connected"


Example output of xenstore-ls



How to snoop the network adapter of a DomU

[27.05.08 Solaris snv_89]

Use xenstore-ls got get the network adapter for the DomU, example:

bash-3.2# /usr/lib/xen/bin/xenstore-ls /local/domain/0/backend/vif
1 = ""
 0 = ""
  domain = "domu-test"
  handle = "0"
  uuid = "3ded8458-84d9-21b9-8bde-91321d2b77f4"
  script = "/usr/lib/xen/scripts/vif-vnic"
  state = "4"
  frontend = "/local/domain/1/device/vif/0"
  mac = "00:16:3e:3a:5f:fd"
  online = "1"
  frontend-id = "1"
  feature-no-csum-offload = "0"
  feature-rx-copy = "1"
  feature-rx-flip = "0"
  SUNW-need-promiscuous = "1"
  nic = "vnic1"
  hotplug-status = "connected"

bash-3.2# snoop -rd vnic1
Using device vnic1 (promiscuous mode)
192.168.1.250 -> (broadcast)  ARP C Who is 192.168.1.161, 192.168.1.161 ?
192.168.1.14 -> 239.255.255.250 UDP D=1900 S=1900 LEN=327
192.168.1.14 -> 239.255.255.250 UDP D=1900 S=1900 LEN=327
192.168.1.14 -> 239.255.255.250 UDP D=1900 S=1900 LEN=285
192.168.1.14 -> 239.255.255.250 UDP D=1900 S=1900 LEN=285
192.168.1.161 -> 192.168.1.255 UDP D=631 S=631 LEN=159
192.168.1.14 -> 239.255.255.250 UDP D=1900 S=1900 LEN=277
192.168.1.14 -> 239.255.255.250 UDP D=1900 S=1900 LEN=277
192.168.1.161 -> 192.168.1.255 UDP D=631 S=631 LEN=162
192.168.1.14 -> 239.255.255.250 UDP D=1900 S=1900 LEN=319
192.168.1.14 -> 239.255.255.250 UDP D=1900 S=1900 LEN=319
192.168.1.170 -> (broadcast)  ARP C Who is 192.168.1.1, 192.168.1.1 ?
 192.168.1.1 -> 192.168.1.170 ARP R 192.168.1.1, 192.168.1.1 is 0:13:49:ee:80:1b
192.168.1.170 -> 192.168.1.1  ICMP Echo request (ID: 51974 Sequence number: 1)
 192.168.1.1 -> (broadcast)  ARP C Who is 192.168.1.170, 192.168.1.170 ?
192.168.1.170 -> 192.168.1.1  ARP R 192.168.1.170, 192.168.1.170 is 0:16:3e:3a:5f:fd
192.168.1.170 -> 192.168.1.1  ICMP Echo request (ID: 51974 Sequence number: 2)
 192.168.1.1 -> 192.168.1.170 ICMP Echo reply (ID: 51974 Sequence number: 2)
192.168.1.170 -> 192.168.1.1  ICMP Echo request (ID: 51974 Sequence number: 3)
 192.168.1.1 -> 192.168.1.170 ICMP Echo reply (ID: 51974 Sequence number: 3)
^Cbash-3.2#




How to send a break to the Dom0

[13.12.07 Solaris snv_75]

To send a break to the Dom0 type '^A^A^A' (three times ctrl-a) on the Dom0 console.

Note: As far as I know this is only possible if the console of the Dom0 is on the serial port


How to use bridged networking

[22.11.07 Solaris snv_75]

The default type of a virtual NIC for a DomU is para-virtualized. To use a network interface bridged to the the Dom0's network adapter use

vif = [ 'type=ioemu,bridge=nge0,mac=xx:xx:xx:xx:xx:xx' ]



What is the default console for a Dom0

[21.05.08 Solaris snv_85]

By default Solaris detects what xen is using for it's console device and uses the same thing (you can of course override that with the -B or an entry in bootenv.rc, if you want the console to go to different devices.

(Source: This thread on the OpenSolars Discussion list [21.05.08])




General DomU HowTos



How to install new guest domains?

[28.07.07 Xen 07_2007]

In Xen 07/07 there are two new commands to create new DomUs:

virt-install [24.10.07] (cli) and virt-manager (gui)

Note that I did not test them until now.



How to use the PV framebuffer

[07.08.07 Xen 07_2007]

To use the PV framebuffer for a paravirtualized DomU add

vfb=[ "type=sdl" ]

to the DomU config file


To use a framebuffer for HVM DomU add

sdl=1

to the DomU config file (not tested yet).


Note that to use the PV framebuffer for a paravirtualized DomU it must be supported by the DomU also. See below for an example usage.

Note also the PV framebuffer is not very stable at this time (at least in my tests) - you should only use it if really neccessary.

(see also this message [07.08.07])



How to auto start a DomU at system boot time

[28.07.07 Xen 07_2007]

Add the line

on_xend_start = "start"

to the DomU config file and register the DomU with the command

xm new <your_domu_config_file>

see How to work with Xend managed domains for details

(see also http://www.opensolaris.org/os/community/xen/docs/sysadmin.html [28.07.07]).



How to get a graphical login for a DomU

[07.08.06 snv_43 Xen 07_2006]

Install and start VNC server inside the DomU (if not already installed) and use the VNC viewer to connect to the DomU, e.g.

	vncview 192.168.178.18:5900

[21.07.07 Xen 07_2007]


If you don't have a vncviewer installed, you can use the one which is part of vino (remote desktop). Here's what I have on some of my systems.

$ cat `which vncviewer`
#!/bin/sh
exec java -jar /usr/share/gnome/vino/vino-client.jar  ${1+"$@"}
(Source:  http://blogs.sun.com/mrj/entry/the_latest_solaris_on_xen [21.07.07])


[28.07.07 Xen 07_2007]


See here for how to install a VNC Server in a Solaris DomU

[13.12.07 Solaris snv_75]

see Hints for using VNC session for DomU  for hints using a VNC session

[05.02.08 Solaris snv_81]

There's another blog entry about how to configure a DomU for a graphical login:

Set Up Vnc to provide Solaris domU graphical login [05.02.08]

Note that I did not test this until now.



Do I need to disable checksum offload?

[03.08.07 Xen 07_2007]

In this release of Xen for Solaris it's not neccessary anymore to disable the checkum offload in the DomUs (ethtool -K eth0 tx off) anymore.

Source: http://www.opensolaris.org/jive/thread.jspa?threadID=36061&tstart=0 [30.07.07]

[03.02.08 Solaris snv_81]

See also this entry if you're running a Solaris snv_81 Dom0.

[06.04.08 Solaris snv_85]

In DomUs runnning in a Solaris snv_85 Dom0 checksum offload must be disabled again.


How to pause/unpause a DomU

[28.07.07 Xen 07_2007]

use "xm pause" and "xm unpause" to pause or resume a DomU, e.g.:

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   601     1     r-----    110.0
solaris_10_July_07                             368     1                 6.0
xen-centos1                                1   255     1     -b----     11.0

bash-3.00# xm pause xen-centos1

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   601     1     r-----    110.4
solaris_10_July_07                             368     1                 6.0
xen-centos1                                1   255     1     --p---     11.0

bash-3.00# xm unpause xen-centos1

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   601     1     r-----    111.2
solaris_10_July_07                             368     1                 6.0
xen-centos1                                1   255     1     -b----     11.1




How to work with Xend managed domains

[28.07.07 Xen 07_2007]

Xend managed domains are necessary if you want to suspend and resume Domains. Also the auto start feature of Xen works only for Xend managed domains.
(see also this blog entry : http://blogs.sun.com/levon/entry/automatic_start_stop_of_xen [04.08.07])

To create a Xend managed domains create the DomU config file as usual and then register the domain with the command

xm new <your_domu_config file>

e.g.

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   517     1     r-----    267.9
solaris_10_July_07                             368     1                 6.0

bash-3.00# cat xen-centos1.py
kernel = "/export/xen-images/centos1/vmlinuz-2.6-xen"
memory = 256
name = "xen-centos1"
disk = ['file:/export/xen-images/centos1/rootfs.img,sda1,w']
vif = [ '' ]
root = "/dev/sda1 ro"

bash-3.00# xm new xen-centos1.py
Using config file "./xen-centos1.py".

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   517     1     r-----    268.4
solaris_10_July_07                             368     1                 6.0
xen-centos1                                    256     1                 0.0


To start a Xend managed domain use

xm start <domname>

e.g.

bash-3.00# xm start xen-centos1

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   517     1     r-----    269.6
solaris_10_July_07                             368     1                 6.0
xen-centos1                                7   255     1     -b----      0.3


To suspend a Xend managed domain use

xm suspend <domname|domid>

e.g.

bash-3.00# xm suspend xen-centos1

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   517     1     r-----    285.1
solaris_10_July_07                             368     1                 6.0
xen-centos1                                      1     1                 8.8

Note:

Suspended Domains are saved in the directory /var/lib/xend/domains:

bash-3.00# du -ks  /var/lib/xend/domains/*
260779  /var/lib/xend/domains/492e7ac5-3792-e717-218f-96955fe7308f
3       /var/lib/xend/domains/c331ac38-437c-567f-279e-655e161ddaa6


Make sure that there is enough free space in this directory for the suspended Domains. In this version of Xen the directory used for the suspended Domains is fixed (but you can replace /var/lib/xend/domains with a symbolic link).

To resume a Xend managed domain use:

xm resume <domname>


e.g.

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   517     1     r-----    287.7
solaris_10_July_07                             368     1                 6.0
xen-centos1                                      1     1                 8.8

bash-3.00# xm resume xen-centos1

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   517     1     r-----    290.5
solaris_10_July_07                             368     1                 6.0
xen-centos1                                9   255     1     -b----      0.0



To change the configuration of a Xend managed domains that is not running add the UID of the domain to the DomU config file, change the entry in the config file, and reregister the DomU.,

e.g.

bash-3.00# xm list -l xen-centos1
(domain
    (domid 9)
    (on_crash restart)
    (memory 256)
    (uuid 492e7ac5-3792-e717-218f-96955fe7308f)
    (bootloader_args )
 
...
bash-3.00# echo 'uuid = "492e7ac5-3792-e717-218f-96955fe7308f"' >>xen-centos1.py

# we will change the auto start property of the DomU
#
bash-3.00# xm list -l xen-centos1 | grep on_xend
    (on_xend_start ignore)
    (on_xend_stop shutdown)

bash-3.00# echo 'on_xend_start = "start"' >>xen-centos1.py

bash-3.00# xm new -f xen-centos1.py
Using config file "./xen-centos1.py".

bash-3.00# xm list -l xen-centos1 | grep on_xend
    (on_xend_start start)
    (on_xend_stop shutdown)



And finally to unregister a Xend managed domain use

xm delete <domname>

e.g.

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   517     1     r-----    303.3
solaris_10_July_07                             368     1                 6.0
xen-centos1                                    256     1                 0.0

bash-3.00# xm delete xen-centos1

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   517     1     r-----    303.7
solaris_10_July_07                             368     1                 6.0





How to save and restore a DomU

[21.07.07 Xen 07_2007]

In Xen 07/07 use the command xm with the parameter save and restore to save and restore DomUs.

e.g.

bash-3.00# xm save xen-centos1 ./xen_checkpoint1

bash-3.00# ls -l
total 2525538
-r--r--r--   1 root     root     1024001024 Jul 28 21:34 rootfs.img
-r--r--r--   1 root     root     1439981 Jul 28 21:34 vmlinuz-2.6-xen
-rw-r--r--   1 root     root         256 Jul 28 23:32 xen-centos1.py
-rwxr-xr-x   1 root     root     266959757 Jul 28 23:48 xen_checkpoint1

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   517     1     r-----    313.3
solaris_10_July_07                             368     1                 6.0

bash-3.00# xm restore   ./xen_checkpoint1

bash-3.00# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   517     1     r-----    316.4
solaris_10_July_07                             368     1                 6.0
xen-centos1                               11   255     1     -b----      0.0


(see also How to work with Xend managed domains)

Note:

[15.01.08 Solaris snv_78]

Save and restore is not yet supported for HVM domains
(see this blog entry [15.01.08])



How to enable Live Migration

[29.07.07 Xen 07_2007]

By default, xend listens only on the loopback address for requests from the localhost. If you want to allow other machines to live migrate to the machine, you must do the following:

  • Listen on all addresses (or you can specify a particular interface IP)
    # svccfg -s xend setprop config/xend-relocation-address = \"\"
  • Create list of hosts from which to accept migrations:
    # svccfg -s xend setprop config/xend-relocation-hosts-allow = \"^flax$ ^localhost$\"
  • Update the config:
    # svcadm refresh xend && svcadm restart xend


(Source:  http://www.opensolaris.org/os/community/xen/docs/sysadmin.html [29.07.07])




Is there a limit for file based disk images like in Linux Dom0s?

[08.08.06 snv_43 Xen 07_2006]

There's no limit for file based disk images in Solaris Dom0

(Note: By default, Linux only allows up to 8 loop-back devices to be active. You can increase this number by setting max_loop=32 (etc) on the domain 0 kernel command line in Grub. You also need to create new loop[n] device nodes in /dev).

Solaris uses lofi Devices for file based disk images. Therefor you can use lofiadm to check which file based disk images are currently in use, e.g.:

bash-3.00# lofiadm
Block Device             File
/dev/lofi/1              /export/xen-images/centos1/rootfs.img
/dev/lofi/2              /export/xen-images/datadisk.img
/dev/lofi/3              /export/xen-images/mydomU1/root.file
/dev/lofi/4              /export/xen-images/soldatadisk.img




How to convert a DomID to a DomName and vice versa

[28.07.07 Xen 07_2007]

Use "xm domid" and "xm domname" to convert a DomID to a DomName and vice versa, e.g.

bash-3.00# xm list
Name                              ID Mem(MiB) VCPUs State  Time(s)
Domain-0                           0      512     1 r-----   823.9
mydomU1                            6      276     1 ------    14.9
xen-centos1                        1      128     1 ------    17.2

bash-3.00# xm domid xen-centos1
1

bash-3.00# xm domname 1
xen-centos1

bash-3.00# xm domname 0
Domain-0




How to increase the memory of a running DomU

[28.07.07 Xen 07_2007]

You can decrease the memory of a running DomU and you can increase it again.

But you can not increase the memory of a DomU behind the size of the memory while booting the DomU.

see also: http://blogs.sun.com/rscott/entry/balloon_thread_code [30.07.07].




How to attach a disk image or disk device in read/write mode

[08.08.06 snv_43 Xen 07_2006]

Use the "w" for the mode parameter of "xm block-attach" to attach a disk image or disk device in read/write mode; use "r" to attach in read-only mode.  xend in Solaris only looks at the first chracter of the mode parameter.

see this thread in the Xen discussion on Opensolaris.org



How to list the settings of a running DomU

[28.07.07 Xen 07_2007]

bash-3.00# xm list xen-centos1 --long
(domain
    (domid 1)
    (on_crash restart)
    (memory 275)
    (uuid c0a1e2be-9608-534d-70c0-7aadc555944f)
    (bootloader_args )
    (name xen-centos1)
    (maxmem 300)
    (on_reboot restart)
    (on_poweroff destroy)
    (localtime 0)
    (vcpus 1)
    (bootloader )
    (shadow_memory 0)
    (cpu_weight 256)
    (cpu_cap 0)
    (features )
    (on_xend_start ignore)
    (on_xend_stop shutdown)
    (start_time 1185630917.31)
    (cpu_time 10.1572804)
    (online_vcpus 1)
    (image
        (linux
            (kernel /space/xen-centos1/vmlinuz-2.6-xen)
            (args 'root=/dev/sda1 ro ')
            (root '/dev/sda1 ro')
        )
    )
    (status 2)
    (memory_dynamic_min 255)
    (memory_dynamic_max 256)
    (state -b----)
    (store_mfn 255309)
    (console_mfn 255305)
    (device
        (vif
            (mac 00:16:3e:26:59:19)
            (uuid 08641e1b-38e6-431d-7906-4a84845236a2)
        )
    )
    (device
        (vbd
            (uname file:/space/xen-centos1/rootfs.img)
            (driver paravirtualised)
            (mode w)
            (dev sda1)
            (uuid e375aea2-1213-bc9e-ec23-f28b8d21c2ed)
        )
    )
)



How to start a DomU from a logical partition

[2006 snv_43 Xen 07_2006]

Solaris does not support Logical Partitions - therefor it's difficult to start a DomU from a logical partition. One method is to give the DomU access to the whole disk, e.g. the following Xen DomU config file works:


kernel = "/export/xen-images/centos1/vmlinuz-2.6.16.13-xen"
memory = 128
name = "ubuntu6"
disk = [ 'phys:/dev/dsk/c0d0p0,hda,r' ]
vif = [ 'mac=00:16:3E:00:00:21' ]
root = "/dev/hda5 ro"


But be aware that this is a very (!) dangerous method! You should only use this on test systems!



How to create a disk image file for a DomU

[2006 snv_43 Xen 07_2006]

The easiest way to create a disk image for a DomU is to use qemu-img. qemu-img creates a sparse file . E.g.

bash-3.00# qemu-img create -f raw Solaris10_xen0707.raw 10G
Formating 'Solaris10_xen0707.raw', fmt=raw, size=10485760 kB

bash-3.00# ls -l Solaris10_xen0707.raw
-rw-r--r--   1 root     root     10737418240 Jul 22 13:03 Solaris10_xen0707.raw

bash-3.00# du -ks Solaris10_xen0707.raw
24      Solaris10_xen0707.raw



see also How to copy a DomU image file created as sparse file

[06.04.08 Solaris snv_85]

If you do not have qemu installed use either mkfile with the parameter -n or dd with the seek parameter to create a sparse file for a disk image, e.g:

# Using mkfile:

bash-3.2# mkfile -n 5g disk1.img

bash-3.2# ls -l disk1.img
-rw------T   1 root     root     5368709120 Apr  6 13:13 disk1.img

bash-3.2# du -ks disk1.img
134     disk1.img


# Using dd:

bash-3.2# dd if=/dev/zero of=./disk2.img bs=1 seek=5368709120  count=1
1+0 records in
1+0 records out

bash-3.2# ls -l disk2.img
-rw-r--r--   1 root     root     5368709121 Apr  6 13:14 disk2.img

bash-3.2# du -ks disk2.img
134     disk2.img





How to copy a DomU image file created as sparse file

[21.07.07 Xen 07_2007]

To copy a sparse file from one machine to another first tar the file with gnu tar (otherwise you loose the holes in the sparse file). The target filesystem must support sparse files to make this work, of course.

Thanks to  John Levon for the hint  [21.07.07].

Example:

# example gtar command line:

bash-3.2# gtar --sparse -cvf -  . | ( cd /pool/xen-images/; gtar --sparse -xvf - )

Sample results:


# on the source machine runnning Solaris
#
bash-3.00# ls -l Solaris10_xen0707.raw
-rw-r--r--   1 root     root     10737418240 Jul 21 23:50 Solaris10_xen0707.raw

bash-3.00# du -ks Solaris10_xen0707.raw
1351176 Solaris10_xen0707.raw

bash-3.00# ls -l sol10xenimg.tar
-rw-r--r--   1 root     root     590704640 Jul 22 08:44 sol10xenimg.tar



# on the target machine running Linux (the filesystem type is ext3):
#
root@t30:/data/incoming# ls -l sol10xenimg.tar
-rw-r--r-- 1 xtrnaw7 xtrnaw7 590704640 2007-07-22 08:53 sol10xenimg.tar

root@t30:/test# ls -l export/xen-images/Solaris10_xen0707.raw ;
-rw-r--r-- 1 root root 10737418240 2007-07-21 23:50 export/xen-images/Solaris10_xen0707.raw

root@t30:/test# du -ks export/xen-images/Solaris10_xen0707.raw
603908  export/xen-images/Solaris10_xen0707.raw


How to use a dedicated network adapter in a DomU

[11.12.07 Solaris snv_75]

Use the vnic configuration

vif= ['bridge=skge0,mac=00:a:b:c:d:e,script=vif-dedicated']

Where "skge0" is the network adapter and "00:a:b:c:d:e" is replaced with the actual MAC address of your network adapter to use a dedicated network adapter in a DomU.

Source:  Message from Dave Edmondson in the OpenSolaris xVM Forum [11.12.07]

Example:


# ### in the Dom0
#
bash-3.2# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
bge0: flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS> mtu 1500 index 2
        inet 192.168.1.6 netmask ffffff00 broadcast 192.168.1.255
        ether 0:c0:9f:f4:6a:3c
iwi0: flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS> mtu 1500 index 3
        inet 192.168.1.7 netmask ffffff00 broadcast 192.168.1.255
        ether 0:15:0:45:d1:5f


bash-3.2# cat Solaris10_xen0707_test.phy
bootloader = "/usr/lib/xen/bin/pygrub"
name = "solaris_10_July_07"
memory = "368"
vcpus = "1"
disk = [ 'file:/export/xen-images/Solaris10_xen0707/Solaris10_xen0707.raw,0,w' ]
root = "/dev/dsk/c0d0s0"
vif = [ 'bridge=bge0,mac=0:c0:9f:f4:6a:3c,script=vif-dedicated' ]
on_shutdown = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'


bash-3.2# xm create -c Solaris10_xen0707_test.phy
Using config file "./Solaris10_xen0707_test.phy".
Started domain solaris_10_July_07

# ### in the DomU

SunOS Release 5.11 Version xen-nv66-2007-06-24 32-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
WARNING: Found xen v3.0.4-1-xvm but need xen v3.0.4-1-sun
WARNING: The kernel may not function correctly
ip: joining multicasts failed (4) on xnf0 - will use link layer broadcasts for multicast
Hostname: dhcppc1

dhcppc1 console login: root
Password:
Last login: Thu Nov 22 21:10:30 from localhost
Dec 11 20:07:35 dhcppc1 login: ROOT LOGIN /dev/console
Sun Microsystems Inc.   SunOS 5.11      xen-nv66-2007-06-24     October 2007
# bash
bash-3.2# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
xnf0: flags=201005843<UP,BROADCAST,RUNNING,MULTICAST,MULTI_BCAST,DHCP,IPv4,CoS> mtu 1500 index 2
        inet 192.168.1.6 netmask ffffff00 broadcast 192.168.1.255
        ether 0:c0:9f:f4:6a:3c
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128

bash-3.2#

# ### Dom0

# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   635     1     r-----     58.3
solaris_10_July_07                         1   367     1     ------     15.8
#

# It looksl like the network adapter used in the DomU is still visible in the Dom0 and ifconfig commands
# for this adapter are possible but do not change the configuration of the adapter.


# ifconfig bge0
bge0: flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS> mtu 1500 index 2
        inet 192.168.1.6 netmask ffffff00 broadcast 192.168.1.255
        ether 0:c0:9f:f4:6a:3c

bash-3.2# ifconfig bge0 down

bash-3.2# ifconfig bge0
bge0: flags=201000842<BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu 1500 index 2
        inet 0.0.0.0 netmask 0
        ether 0:c0:9f:f4:6a:3c

bash-3.2# ifconfig bge0 192.168.1.8

bash-3.2# ifconfig bge0
bge0: flags=201000842<BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu 1500 index 2
        inet 192.168.1.8 netmask ffffff00 broadcast 192.168.1.255
        ether 0:c0:9f:f4:6a:3c
bash-3.2# ping 192.168.1.8
^C



How to send a break to a DomU

[13.12.07 Solaris snv_75]

Use

xm sysrq <domain> b

to send a  break to a DomU

(see also How to start a Solaris DomU in debug mode)



How to pass parameter to the kernel of a DomU

[11.12.07 Solaris snv_75]

Use the "extra" field in the DomU config file, e.g

extra = "-m verbose"

see How to start a Solaris DomU in debug mode for an example



Hints for using a VNC session for DomUs


[13.12.07 Solaris snv_75]

You must the VNC password property in the SMF configuration before using VNC (mostly used for HVM domains). E.g.

svccfg -s xvm/xend setprop config/vncpasswd = astring: \"passwordvalue\"
svcadm refresh xvm/xend
svcadm restart xvm/xend


For remote access to the VNC session you must set the vnc-listen property (in the default configuration the builtin VNC server only listens on localhost). E.g.

svccfg -s xvm/xend setprop config/vnc-listen = astring: \"0.0.0.0\"
svcadm refresh xvm/xend
svcadm restart xvm/xend




How do I see that a DomU is running as paravirtualized


[30.10.2008 Solaris snv_101]

Use virsh for example

virsh dominfo

Look for "OS Type". If it says 'linux' that means PV, or it could say 'hvm'.

(Source: This message [30.10.2008])




Solaris DomU HowTos



How to create a Solaris DomU

[21.07.07 Xen 07_2007]

Install the DomU from the Solaris Xen installation DVD. The documentation about how to do this on a Solaris Dom0 is here: http://www.opensolaris.org/os/community/xen/docs/install-solaris-domu-iso.htm  [28.07.07].

See this message [28.07.07] in the Xen Discussion list on OpenSolaris or here for how to install a Solaris DomU running under Linux Dom0.


Installing Solaris snv_75 in a DomU running in Linux Dom0

[24.10.07 Solaris snv_75]

You can not install Solaris snv_75 in a DomU running under a Linux Dom0 by just booting the installation DVD (image).

Xen starts the DomU and will load the grub from the DVD but fails loading the kernel because there is no grub entry for loading the Solaris Xen Kernel.

Example output:


root@t30:/data/xen/sol10_snv66# xm create -c Solaris10_xen0707_install.phy



    pyGRUB  version 0.5
 ┌────────────────────────────────────────────────────────────────────────┐
 │ Solaris Express Developer Edition                                      │
 │ Solaris Express                                                        │
 │ Solaris Express Serial Console ttya                                    │
 │ Solaris Express Serial Console ttyb (for lx50, v60x and v65x)          │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 │                                                                        │
 └────────────────────────────────────────────────────────────────────────┘
     Use the ^ and v keys to select which entry is highlighted.
     Press enter to boot the selected OS. 'e' to edit the
     commands before booting, 'a' to modify the kernel arguments
     before booting, or 'c' for a command line.






root@t30:/data/xen# Error: (2, 'Invalid kernel', 'elf_xen_note_check: ERROR: Will only load images built for the generic loader or Linux images')


root@t30:/data/xen#

Therefor you still need to copy the kernel and the boot archive from the DVD to the Linux filesystem to boot the DVD in a DomU running in a Linux Dom0:

e.g.

root@t30:/data/xen# sudo mount -o loop /data/download/test1/sol-nv-b75a.iso /mnt

root@t30:/data/xen# mkdir sol10_snv75
root@t30:/data/xen# cd sol10_snv75

#copy the kernel
root@t30:/data/xen# cp /mnt/boot/platform/i86xpv/kernel/unix ./sol10_snv75_i86xpv_kernel

# copy the ramdisk
root@t30:/data/xen#  cp /mnt/boot/x86.miniroot .

root@t30:/data/xen# umount /mnt

# the DomU configuration file should look like this:
#
root@t30:/data/xen# cat sol10_snv75_installation.phy
name = "solaris_snv75"
memory = "512"
vcpus = "1"
disk = [ 'file:/home/xtrnaw7/data/download/test1/sol-nv-b75a.iso,6:cdrom,r','file:/data/xen/sol10_snv75/sol10snv75.img,0,w' ]
vif = [ 'mac=00:0e:0c:3e:18:cd'  ]
on_shutdown = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'
kernel = "/data/xen/sol10_snv75/sol10_snv75_i86xpv_kernel/"
ramdisk = "/data/xen/sol10_snv75/x86.miniroot"
rootdisk = "/dev/dsk/c0d0s0"
extra = '/platform/i86xpv/kernel/unix  -B install_media=cdrom'

# use this command to start the installation:
#
root@t30:/data/xen# xm create -c data/xen/sol10_snv75_installation.phy


Then choose the menu entry 4 in the installation menue


 4.     Solaris Interactive Text (Console session)



Using this approach the installation works flawless.


boot_archive handling

[10.08.07 Xen 07_2007]

If running a Solaris DomU in a non-Solaris Dom0 the boot_archive used to boot a Solaris DomU is always the boot archive in the non-Solaris Dom0.

Therefor please do not forget to copy the boot_archive from the DomU to the Dom0 after every change of this file!

If you omnit this step, the changes in the boot_archive will not be active after rebooting the DomU

The boot archives are:

for 32 Bit Solaris:  /platform/i86pc/boot_archive
for 64 Bit Solaris:  /platform/i86pc/amd64/boot_archive

To be sure to use the correct boot_archive you should always update the boot_archive manually with the command


# boot-adm update-archive


after changing one of the system files in a DomU and copy the new created boot_archive to the Dom0.





How to install VNC Server in a Solaris DomU

[07.08.06 snv_43 Xen 07_2006]

see Xvnc with Solaris on Xen [03.08.06] .

[28.07.07 Xen 07_2007]


or here [28.07.07] for another solution.

[13.12.07 Solaris snv_75]

see Hints for using VNC session for DomU  for hints using a VNC session

[23.05.08 Solaris snv_89]

Another blog entry with instructions for setting up VNC in a DomU : http://blogs.sun.com/darren/entry/vnc_for_opensolaris_2008_05 [23.05.08]



How to mount a Solaris DomU disk image in the Dom0

[21.07.07 Xen 07_2007]

In Xen 07/07 the disk images are partitioned disk images. Therefor you can not simply mount the image files with lofiadm.

[24.10.07 Solaris snv_75]

You  can use my script split_cdrom_isoimage.html ( http://home.arcor.de/bnsmb/public/htdocs/split_cdrom_isoimage.html) to split the disk image into slices. Then you can lofi mount the slice . In theory it should also be possible to concenate the vtoc and the slices to a disk image again but I did not test this yet.

Another method that should work to access the disk images:

Temporary add the disk as second disk to another Solaris DomU and change the files in the image from within that DomU.



How to attach another network adapter to a running Solaris DomU

[08.08.06 snv_43 Xen 07_2006]

Use "xm network-list <domname>" to list the currently attached network adapter of a DomU, e.g.

bash-3.00# xm network-list xen-centos1
Idx BE     MAC Addr.     handle state evt-ch tx-/rx-ring-ref BE-path
0   0  00:16:3E:00:00:15    0     4      8     522  /523     /local/domain/0/backend/vif/1/0


Use

network-attach domain-id [script=scriptname] [ip=ipaddr] [mac=macaddr] [bridge=bridge-name] [backend=bedomain-id]

to attach another network adapter to a domain; use

network-detach domain-id devid

to detach a network adapter from a domain

[15.12.2007 Solaris snv_75]

Example for attaching a network adapter to a domain:

# ### in the Dom0
#
bash-3.2# cat Solaris10_xen0707_no_network.phy
bootloader = "/usr/lib/xen/bin/pygrub"
name = "solaris_10_July_07"
memory = "368"
vcpus = "1"
disk = [ 'file:/export/xen-images/Solaris10_xen0707/Solaris10_xen0707.raw,0,w' ]
root = "/dev/dsk/c0d0s0"
on_shutdown = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'

bash-3.2# xm create -c Solaris10_xen0707_no_network.phy
Using config file "./Solaris10_xen0707_no_network.phy".
Started domain solaris_10_July_07

# ### in the DomU
#

SunOS Release 5.11 Version xen-nv66-2007-06-24 32-bit
Copyright 1983-2007 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
WARNING: Found xen v3.0.4-1-xvm but need xen v3.0.4-1-sun
WARNING: The kernel may not function correctly
Failed to plumb IPv4 interface(s): xnf0
Failed to configure IPv4 DHCP interface(s): xnf0
Dec 15 15:06:44 svc.startd[7]: svc:/network/physical:default: Method "/lib/svc/method/net-physical" failed with exit status 96.
Dec 15 15:06:44 svc.startd[7]: network/physical:default misconfigured: transitioned to maintenance (see 'svcs -xv' for details)
Hostname: unknown

unknown console login: root
Password:
Last login: Sat Dec 15 14:41:46 on console
Dec 15 15:07:50 unknown login: ROOT LOGIN /dev/console
Sun Microsystems Inc.   SunOS 5.11      xen-nv66-2007-06-24     October 2007
# bash
bash-3.2# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128



# ### in the Dom0
#
bash-3.2# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   635     1     r-----     84.5
solaris_10_July_07                         2   368     1     -b----     15.1

bash-3.2# xm network-attach 2 bridge=bge0

bash-3.2# xm network-list 2
Idx BE     MAC Addr.     handle state evt-ch tx-/rx-ring-ref BE-path
0   0  00:16:3e:2c:85:e1    0     4      6     521  /522     /local/domain/0/backend/vif/2/0 


# ### in the DomU
#
bash-3.2# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
xnf0: flags=201000842<BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu 1500 index 2
        inet 0.0.0.0 netmask 0
        ether 0:16:3e:2c:85:e1
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128

bash-3.2# svcs -x
svc:/network/physical:default (physical network interfaces)
 State: maintenance since Sat Dec 15 15:06:44 2007
Reason: Start method exited with $SMF_EXIT_ERR_CONFIG.
   See: http://sun.com/msg/SMF-8000-KS
   See: ifconfig(1M)
   See: /etc/svc/volatile/network-physical:default.log
Impact: 4 dependent services are not running.  (Use -v for list.)

svc:/network/physical:nwam (physical network interface autoconfiguration)
 State: disabled since Sat Dec 15 15:06:37 2007
Reason: Disabled by an administrator.
   See: http://sun.com/msg/SMF-8000-05
   See: nwamd(1M)
   See: http://opensolaris.org/os/projects/nwam/
   See: http://opensolaris.org/os/projects/nwam/phase0/
Impact: 4 dependent services are not running.  (Use -v for list.)


bash-3.2# svcadm clear svc:/network/physical:default

bash-3.2# svcs -x

bash-3.2# ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
xnf0: flags=201005843<UP,BROADCAST,RUNNING,MULTICAST,MULTI_BCAST,DHCP,IPv4,CoS> mtu 1500 index 2
        inet 192.168.1.10 netmask ffffff00 broadcast 192.168.1.255
        ether 0:16:3e:2c:85:e1
lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL> mtu 8252 index 1
        inet6 ::1/128



How to attach a disk image file to a running Solaris DomU

[02.02.08 Solaris snv_78]

Note: In the DomU in this example is Solaris snv_81 running


# ### in the DomU

# before attaching the disk image file
#
bash-3.2# ls /dev/dsk
c0d0p0   c0d0p3   c0d0s1   c0d0s12  c0d0s15  c0d0s4   c0d0s7
c0d0p1   c0d0p4   c0d0s10  c0d0s13  c0d0s2   c0d0s5   c0d0s8
c0d0p2   c0d0s0   c0d0s11  c0d0s14  c0d0s3   c0d0s6   c0d0s9


# ### in the Dom0
#

# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   403     1     r-----    660.7
solaris_10_snv81                           4   367     1     -b----     21.7

# xm block-list 4
Vdev  BE handle state evt-ch ring-ref BE-path
0      0    0     4      5      8     /local/domain/0/backend/vbd/4/0 

# xm block-attach 4 file://export/xen-images//Solaris10_xen0707/Solaris10_xen0707.raw 1 w

# xm block-list 4
Vdev  BE handle state evt-ch ring-ref BE-path
0      0    0     4      5      8     /local/domain/0/backend/vbd/4/0 
1      0    0     4      7      587   /local/domain/0/backend/vbd/4/1 


# ### in the DomU
#
bash-3.2# ls /dev/dsk
c0d0p0   c0d0s1   c0d0s15  c0d0s7   c0d1p3   c0d1s12  c0d1s4
c0d0p1   c0d0s10  c0d0s2   c0d0s8   c0d1p4   c0d1s13  c0d1s5
c0d0p2   c0d0s11  c0d0s3   c0d0s9   c0d1s0   c0d1s14  c0d1s6
c0d0p3   c0d0s12  c0d0s4   c0d1p0   c0d1s1   c0d1s15  c0d1s7
c0d0p4   c0d0s13  c0d0s5   c0d1p1   c0d1s10  c0d1s2   c0d1s8
c0d0s0   c0d0s14  c0d0s6   c0d1p2   c0d1s11  c0d1s3   c0d1s9

bash-3.2# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0d0 <DEFAULT cyl 1304 alt 0 hd 255 sec 63>
          /xpvd/xdf@0
       1. c0d1 <DEFAULT cyl 1304 alt 0 hd 255 sec 63>
          /xpvd/xdf@1
Specify disk (enter its number): 1
selecting c0d1
[disk formatted, no defect list found]


FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        fdisk      - run the fdisk program
        repair     - repair a defective sector
        show       - translate a disk address
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
        quit
format> p


PARTITION MENU:
        0      - change `0' partition
        1      - change `1' partition
        2      - change `2' partition
        3      - change `3' partition
        4      - change `4' partition
        5      - change `5' partition
        6      - change `6' partition
        7      - change `7' partition
        select - select a predefined table
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit
partition> p
Current partition table (original):
Total disk cylinders available: 1304 + 0 (reserved cylinders)

Part      Tag    Flag     Cylinders        Size            Blocks
  0       root    wm      67 -  321        1.95GB    (255/0/0)   4096575
  1        var    wm     322 -  449     1004.06MB    (128/0/0)   2056320
  2     backup    wm       0 - 1301        9.97GB    (1302/0/0) 20916630
  3       swap    wu       1 -   66      517.72MB    (66/0/0)    1060290
  4 unassigned    wm       0               0         (0/0/0)           0
  5 unassigned    wm       0               0         (0/0/0)           0
  6 unassigned    wm       0               0         (0/0/0)           0
  7 unassigned    wm       0               0         (0/0/0)           0
  8       boot    wu       0 -    0        7.84MB    (1/0/0)       16065
  9 unassigned    wm       0               0         (0/0/0)           0

partition>  ^d

bash-3.2# mount /dev/dsk/c0d1s0 /mnt

bash-3.2# ls /mnt
bin         devices     kernel      net         sbin        var
boot        etc         lib         opt         system
cdrom       export      lost+found  platform    tmp
dev         home        mnt         proc        usr

bash-3.2# df -k /mnt
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0d1s0      1986446  537691 1389162    28%    /mnt
bash-3.2# umount /mnt


Note:

In snv_43 Xen 07_2006 this procedure was a little different:

c1 was used instead of 1 for the xm block-attach command and a devfsadm call was necessary in the DomU to see the new cdrom



How to attach an ISO image file to running Solaris DomU

[02.02.08 Solaris snv_78]

Note: The DomU in this example was running Solaris snv_81.


# ### in the DomU
#

# before attaching the ISO image
#
bash-3.2# ls /dev/dsk
c0d0p0   c0d0p3   c0d0s1   c0d0s12  c0d0s15  c0d0s4   c0d0s7
c0d0p1   c0d0p4   c0d0s10  c0d0s13  c0d0s2   c0d0s5   c0d0s8
c0d0p2   c0d0s0   c0d0s11  c0d0s14  c0d0s3   c0d0s6   c0d0s9


# ### in the Dom0
#

# ls -l /export/cdimg/iso/sol-nv-b81.iso
-rw-r--r--   1 root     root     3943628800 Feb  2 11:05 /export/cdimg/iso/sol-nv-b81.iso

# xm block-attach 3 file:/export/cdimg/iso/sol-nv-b81.iso 1 r

# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
0      0    0     4      5      8     /local/domain/0/backend/vbd/3/0 
1      0    0     4      7      748   /local/domain/0/backend/vbd/3/1 



# in the DomU
#

bash-3.2# ls /dev/dsk
c0d0p0   c0d0s1   c0d0s15  c0d0s7   c0d1p3   c0d1s12  c0d1s4
c0d0p1   c0d0s10  c0d0s2   c0d0s8   c0d1p4   c0d1s13  c0d1s5
c0d0p2   c0d0s11  c0d0s3   c0d0s9   c0d1s0   c0d1s14  c0d1s6
c0d0p3   c0d0s12  c0d0s4   c0d1p0   c0d1s1   c0d1s15  c0d1s7
c0d0p4   c0d0s13  c0d0s5   c0d1p1   c0d1s10  c0d1s2   c0d1s8
c0d0s0   c0d0s14  c0d0s6   c0d1p2   c0d1s11  c0d1s3   c0d1s9

# fstyp /dev/rdsk/c0d1s0                          
hsfs

# mount -o ro -F hsfs /dev/dsk/c0d1s0 /mnt        

# ls /mnt
Copyright                    Sun_HPC_ClusterTools
DeveloperTools               autorun.inf
JDS-THIRDPARTYLICENSEREADME  autorun.sh
License                      boot
README.txt                   installer
Solaris_11                   sddtool

 
# detach  the ISO file


# ### in the DomU
#
# umount /mnt


# ### in the Dom0
#
# xm block-detach 3 1

# xm block-list 3
Vdev  BE handle state evt-ch ring-ref BE-path
0      0    0     4      5      8     /local/domain/0/backend/vbd/3/0 


# ### in the DomU
#
bash-3.2# ls /dev/dsk
c0d0p0   c0d0s1   c0d0s15  c0d0s7   c0d1p3   c0d1s12  c0d1s4
c0d0p1   c0d0s10  c0d0s2   c0d0s8   c0d1p4   c0d1s13  c0d1s5
c0d0p2   c0d0s11  c0d0s3   c0d0s9   c0d1s0   c0d1s14  c0d1s6
c0d0p3   c0d0s12  c0d0s4   c0d1p0   c0d1s1   c0d1s15  c0d1s7
c0d0p4   c0d0s13  c0d0s5   c0d1p1   c0d1s10  c0d1s2   c0d1s8
c0d0s0   c0d0s14  c0d0s6   c0d1p2   c0d1s11  c0d1s3   c0d1s9

bash-3.2# devfsadm -C

bash-3.2# ls /dev/dsk
c0d0p0   c0d0p3   c0d0s1   c0d0s12  c0d0s15  c0d0s4   c0d0s7
c0d0p1   c0d0p4   c0d0s10  c0d0s13  c0d0s2   c0d0s5   c0d0s8
c0d0p2   c0d0s0   c0d0s11  c0d0s14  c0d0s3   c0d0s6   c0d0s9


Note:

In snv_43 Xen 07_2006 this procedure was a little different:

c1 was used instead of 1 for the xm block-attach command and a devfsadm call was necessary in the DomU to see the new cdrom




How to attach the physical CDROM drive to a running Solaris DomU

[02.02.08 Solaris snv_78]


# #### in the DomU

# before attaching the CDROM
#
bash-3.2# ls /dev/dsk
c0d0p0   c0d0p3   c0d0s1   c0d0s12  c0d0s15  c0d0s4   c0d0s7
c0d0p1   c0d0p4   c0d0s10  c0d0s13  c0d0s2   c0d0s5   c0d0s8
c0d0p2   c0d0s0   c0d0s11  c0d0s14  c0d0s3   c0d0s6   c0d0s9



# ### in the Dom0
#

# Note: Stop the volume management if it's running

# xm list
Name                                      ID   Mem VCPUs      State   Time(s)
Domain-0                                   0   403     1     r-----    714.1
solaris_10_snv81                           4   367     1     -b----     32.9

# xm block-list 4
Vdev  BE handle state evt-ch ring-ref BE-path
0      0    0     4      5      8     /local/domain/0/backend/vbd/4/0 

# xm block-attach 4 phy://dev/dsk/c1t0d0p0 6 r

# xm block-list 4
Vdev  BE handle state evt-ch ring-ref BE-path
0      0    0     4      5      8     /local/domain/0/backend/vbd/4/0 
6      0    0     4      7      855   /local/domain/0/backend/vbd/4/6 



# ### in the DomU
#
bash-3.2#  ls /dev/dsk
c0d0p0   c0d0s1   c0d0s15  c0d0s7   c0d6p3   c0d6s12  c0d6s4
c0d0p1   c0d0s10  c0d0s2   c0d0s8   c0d6p4   c0d6s13  c0d6s5
c0d0p2   c0d0s11  c0d0s3   c0d0s9   c0d6s0   c0d6s14  c0d6s6
c0d0p3   c0d0s12  c0d0s4   c0d6p0   c0d6s1   c0d6s15  c0d6s7
c0d0p4   c0d0s13  c0d0s5   c0d6p1   c0d6s10  c0d6s2   c0d6s8
c0d0s0   c0d0s14  c0d0s6   c0d6p2   c0d6s11  c0d6s3   c0d6s9

bash-3.2# fstyp /dev/rdsk/c0d6s0
unknown_fstyp (no matches)

bash-3.2# fstyp /dev/rdsk/c0d6s2
unknown_fstyp (no matches)

bash-3.2# fstyp /dev/rdsk/c0d6p0
hsfs

bash-3.2# mount -o ro -F hsfs /dev/dsk/c0d6p0 /mnt

bash-3.2# df -k /mnt
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0d6p0      3851160 3851160       0   100%    /mnt

bash-3.2# ls -l /mnt
total 944
-r--r--r--   1 root     root        7024 Jan  4 00:44 Copyright
dr-xr-xr-x   6 root     root        2048 Dec 21 22:24 DeveloperTools
-r--r--r--   1 root     root      460262 Jan  4 00:37 JDS-THIRDPARTYLICENSEREADME
dr-xr-xr-x   2 root     root        2048 Jan 15 21:30 License
-r--r--r--   1 root     root        1540 Jan  8 20:00 README.txt
dr-xr-xr-x   7 root     root        2048 Jan 15 21:31 Solaris_11
dr-xr-xr-x   4 root     root        2048 Jan 15 21:32 Sun_HPC_ClusterTools
-r-xr-xr-x   1 root     root          50 Jan  4 00:37 autorun.inf
-r-xr-xr-x   1 root     root         322 Jan  4 00:37 autorun.sh
dr-xr-xr-x   5 root     root        2048 Jan 15 21:31 boot
-r-xr-xr-x   1 root     root         257 Jan 15 21:06 installer
dr-xr-xr-x   3 root     root        2048 Jan 15 21:32 sddtool


Note:

I do not know if this is the right way to attach the physical CDROM to a DomU - but it works ....

In previous releases of Solaris/Xen the method to attach a CDROM to a DomU was different, see below


[08.08.06 snv_43 Xen 07_2006]

# ### in the Dom0
#

# stop the Volume Management daemon
#
/etc/init.d/volmgt stop


bash-3.00# xm list
Name                              ID Mem(MiB) VCPUs State  Time(s)
Domain-0                           0      512     1 r-----  1404.1
xen-centos1                        1      128     1 -b----    37.9

bash-3.00# xm block-attach mydomU1  phy://dev/rdsk/c1t0d0s0 c3  r

bash-3.00# xm block-list mydomU1
Vdev  BE handle state evt-ch ring-ref BE-path
0      0    0     4      5      8     /local/domain/0/backend/vbd/10/0
195    0    0     1      -1     -1    /local/domain/0/backend/vbd/10/195

# ### in the Solaris DomU
#
bash-3.00# ls /dev/dsk
c0d0s0  c0d0s1  c0d0s2  c0d0s3  c0d0s4  c0d0s5  c0d0s6  c0d0s7

bash-3.00# devfsadm

bash-3.00# ls /dev/dsk
c0d0s0    c0d0s2    c0d0s4    c0d0s6    c0d195s0  c0d195s2  c0d195s4  c0d195s6
c0d0s1    c0d0s3    c0d0s5    c0d0s7    c0d195s1  c0d195s3  c0d195s5  c0d195s7

bash-3.00# mount -o ro -F hsfs /dev/dsk/c0d195s0 /mnt

bash-3.00# ls /mnt
README.diskdefines  dists               pool                start.ini
autorun.inf         install             preseed             ubuntu
bin                 isolinux            programs            ubuntu.ico
casper              md5sum.txt          start.bmp
disctree            pics                start.exe

# to deattach


# ### in the Solaris DomU

bash-3.00# umount /mnt

# ### in the Dom0
#
bash-3.00# xm block-detach mydomU1 c3

bash-3.00# xm block-list mydomU1
Vdev  BE handle state evt-ch ring-ref BE-path
0      0    0     4      5      8     /local/domain/0/backend/vbd/10/0


# ### in the Solaris DomU
#
bash-3.00# devfsadm -C

bash-3.00# ls /dev/dsk
c0d0s0  c0d0s1  c0d0s2  c0d0s3  c0d0s4  c0d0s5  c0d0s6  c0d0s7


Note:

If the vold is running, replace the block-attach command with

xm block-attach mydomU1 pyh://vol/dev/rdsk/c1t0d0/ubuntu6.06i386  c3 r


How to attach a USB disk to a running Solaris DomU

[22.11.07 Solaris snv_75]


# physically connect the USB disk

# ### in the Dom0

# check the USB disk contents
#
bash-3.00# mount | grep c2t
/media/Ab on /dev/dsk/c2t0d0p0:1 read/write/nosetuid/nodevices/hidden/nofoldcase/clamptime/noatime/timezone=-3600/dev=c81050 on Thu Nov 22 21:10:00 2007

bash-3.2# ls /media/Ab
1st-boot.bat  dsl-vhd.bat   german.kbd    linux24       MyDSL         qemu_v082
boot.msg      f2            KNOPPIX       logo.16       pendrive.bat  readme.txt
dsl-base.bat  f3            ldlinux.sys   minirt24.gz   QEMU          syslinux.cfg

# umount the USB disk in the Dom0
#
bash-3.2# umount /media/Ab

# attach the USB disk to the DomU Number 1
#
bash-3.2# xm block-attach 1 phy://dev/dsk/c2t0d0p0 c3 w

# check the block devices of the DomU
#
bash-3.2#  xm block-list 1
Vdev  BE handle state evt-ch ring-ref BE-path
0      0    0     4      5      8     /local/domain/0/backend/vbd/1/0 
195    0    0     4      7      838   /local/domain/0/backend/vbd/1/195 


# ### in the DomU:

# check the messages:
#
bash-3.2# tail /var/adm/messages
Nov 22 21:14:51 dhcppc15 xpvd: [ID 395608 kern.info] xdf@c3, xdf1
Nov 22 21:14:51 dhcppc15 genunix: [ID 936769 kern.info] xdf1 is /xpvd/xdf@c3
Nov 22 21:14:51 dhcppc15 genunix: [ID 408114 kern.info] /xpvd/xdf@c3 (xdf1) online
Nov 22 21:14:52 dhcppc15 xdf: [ID 523634 kern.info] xdf@c3: 256000 blocks

# search the device for the new block device (should be *d195*)
#
bash-3.2# ls -l /dev/dsk/*s2 | grep xdf@c3
lrwxrwxrwx   1 root     root          27 Nov 22 21:14 /dev/dsk/c0d195s2 -> ../../devices/xpvd/xdf@c3:c

bash-3.2# fdisk /dev/rdsk/c0d195p0

             Total disk size is 125 cylinders
             Cylinder size is 2048 (512 byte) blocks

                                               Cylinders
      Partition   Status    Type          Start   End   Length    %
      =========   ======    ============  =====   ===   ======   ===
          1                 Win95 FAT32       0   124     125    100


SELECT ONE OF THE FOLLOWING:
   1. Create a partition
   2. Specify the active partition
   3. Delete a partition
   4. Change between Solaris and Solaris2 Partition IDs
   5. Exit (update disk configuration and exit)
   6. Cancel (exit without updating disk configuration)
Enter Selection:  6



# mount the USB disk
#
bash-3.2# mount -F pcfs  /dev/dsk/c0d195p1 /mnt

bash-3.2# ls /mnt
1st-boot.bat  boot.msg      f3            logo.16       readme.txt
KNOPPIX       dsl-base.bat  german.kbd    minirt24.gz   syslinux.cfg
MyDSL         dsl-vhd.bat   ldlinux.sys   pendrive.bat
QEMU          f2            linux24       qemu_v082




How to turn off checksum offloading in a Solaris DomU

[25.07.07 Xen 07_2007]

Add

set xnf:xnf_cksum_offload = 0

to /etc/system and update the boot-archive. See also here and here.



How to boot Solaris xVM off a ZFS root filesystem

[23.10.07 Solaris snv_75]

This is documented here:  http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual  [23.10.07].
See also the blog entry with an additional hint here:  http://blogs.sun.com/yongsun/entry/boot_solaris_xvm_off_a [23.10.07].



How to convert 2008.05 to a UFS based installation


[13.05.09 Solaris snv_85]



If you need to use pygrub, an alternative is to convert 2008.05 to UFS:

1. create installed 2008.05 ZFS VM with additional device
2. newfs and mount this device on /ufs
3. /usr/bin/find -H . -depth -mount -print | /usr/bin/cpio -pdmPu /ufs
note: this only takes stuff mounted on /
4. mount -F lofs -o nosub / /mnt
(cd /mnt; tar cvf - devices dev ) | (cd /ufs; tar xvf -)
umount /mnt
5. fix the device names in /ufs/dev/dsk and /ufs/dev/rdsk:
for i in *; do mv "$i" "`echo $i | sed -e 's/c4/c0/'`"; done
6. make the missing dirs w/correct perms (/ufs/tmp, /ufs/proc, etc - there is a script for this here: http://www.opensolaris.org/os/community/zfs/boot/zfsboot-manual/create_dirs/)
7. edit /etc/vfstab to use /dev/dsk/c0d0s0 for / and swap for /tmp
8. bootadm update-archive -R /ufs
9. umount /ufs

Shutdown and it's ready to go
(Source:  http://www.opensolaris.org/jive/thread.jspa?messageID=234105&#234105 12.05.08 [13.05.08])




Linux DomU HowTos


[07.08.06 snv_43 Xen 07_2006]

see also the Documentation links below



How to create sample Linux DomUs without installing Linux

[07.08.06 snv_43 Xen 07_2006]

see http://www.dme.org/log/2006/07/17/solaris-on-xen-a-linux-domu-without-installing-linux/ [25.07.06].

or download a Linux image with Xen support from http://jailtime.org (or one of the other sources mentioned in the Links section below)

see also DomU Images tested



Which Linux Kernel is necessary for Xen 3.0 Domains?

[07.08.06 snv_43 Xen 07_2006]

At the time of writing Xen 3.0 is not (yet?) ported to the Linux Kernel 2.4.x. Therefor only Linux distributions with the Kernel 2.6.x will work in a Xen 3.0 domain.

Distributions based on Linux 2.4.x  should boot in Xen 3.0 Dom0s with Full Virtualization support.



How to get the Network working in a Linux DomU

[03.08.07  Xen 07_2007]

In the 07/2007 drop of Xen for Solaris disabling of the TX checksumming feature to get a reliable network connection is NOT necessary anymore.

Therefor you should not execute the command

   ethttool -K eth0 tx off

in a Linux Dom0 anymore.



How to mount a Linux DomU disk image in the Solaris Dom0

[07.08.06 snv_43 Xen 07_2006]

Due to the missing ext2/ext3 support in Solaris you can not mount a disk image from a Linux DomU in a Solaris Dom0.

To change the contents of the disk image of a Linux Dom0 mount the image file as second disk in another  Linux Dom0, e.g


kernel = "/export/xen-images/centos1/vmlinuz-2.6.16.13-xen"
memory = 128
name = "xen-centos1"
disk = ['file:/export/xen-images/centos1/rootfs.img,sda1,w','file:/export/xen-images/other_rootfs.img,sda2,w']
vif = [ 'mac=00:16:3E:00:00:15' ]
root = "/dev/sda1 ro"



[09.09.06 snv_46 Xen 08_2006]

Download the new packages with Miscellaneous Filesystem Support (NTFS, Ext2Fs) for OpenSolaris  from the Belenix Homepage [09.09.06].  These packages contain the binaries for read-only support of ext2, ext3, and ntfs filesystems in Solaris.


How to access NTFS partitions from Solaris

[28.01.08 Solaris snv_78]

Either download the miscellaneous Filesystem support packages from the Belenix Homepage [09.09.06] or use mount-ntfs from sourceforge: http://mount-ntfs.sourceforge.net/ [28.01.08].



How to attach a disk image file to a running Linux DomU

[07.08.06 snv_43 Xen 07_2006]

# ### in the Dom0
#
# Liste the block devices of the Linux DomU (info only!)
#
bash-3.00# xm block-list xen-debian
Vdev  BE handle state evt-ch ring-ref BE-path
2049    0    0     4      6      8     /local/domain/0/backend/vbd/10/2049

# attach another image file to the DomU
#
bash-3.00# xm block-attach xen-debian file:/export/xen-images/datadisk.img sda2 w

# list the block devices of the Linux DomU
#
bash-3.00# xm block-list xen-debian
Vdev  BE handle state evt-ch ring-ref BE-path
2049    0    0     4      6      8     /local/domain/0/backend/vbd/10/2049
2050    0    0     4      8      546   /local/domain/0/backend/vbd/10/2050

# ### in the Linux DomU mount the new block device (after issuing mkfs, of course)
#
localhost:~# mount /dev/sda2 /mnt
localhost:~# ls /mnt
ethtool  lost+found

# umount the device again
#
umount /dev/sda2



# ### in the Dom0
#
# detach the image file from the Linux DomU
#
bash-3.00# xm block-detach xen-debian sda2

# list the attached block devices again
#
bash-3.00# xm block-list xen-debian
Vdev  BE handle state evt-ch ring-ref BE-path
2049    0    0     4      6      8     /local/domain/0/backend/vbd/10/2049






How to attach an ISO image file to a running Linux DomU

[08.08.06 snv_43 Xen 07_2006]


# ### in the Dom0
#
bash-3.00# xm block-attach xen-centos1 file://export/iso/hwb.iso /dev/hdc r

bash-3.00# xm block-list xen-centos1
#Vdev  BE handle state evt-ch ring-ref BE-path
2049    0    0     4      6      8     /local/domain/0/backend/vbd/1/2049
2050    0    0     4      7      9     /local/domain/0/backend/vbd/1/2050
5632    0    0     4      9      547   /local/domain/0/backend/vbd/1/5632

# ### in the Linux DomU

mount -o ro /dev/hdc /mnt


# ### in the Dom0 use the following commands to detach the ISO image
#
bash-3.00# xm block-detach xen-centos1 5632

bash-3.00# xm block-list xen-centos1
Vdev  BE handle state evt-ch ring-ref BE-path
2049    0    0     4      6      8     /local/domain/0/backend/vbd/1/2049
2050    0    0     4      7      9     /local/domain/0/backend/vbd/1/2050




How to attach the physical CDROM drive to a running Linux DomU

[08.08.06 snv_43 Xen 07_2006]

Stop the Volume Management in the Dom0:

/etc/init.d/volmgt stop

and attach the drive to the Linux DomU:

xm block-attach xen-centos1 phy://dev/rdsk/c1t0d0s0 /dev/sda3 r

In the Linux DomU use

mount -o ro /dev/sda3 /mnt

to mount the drive and

umount /mnt

to umount the drive.


To detach the drive isssue in the Dom0:

xm block-detach xen-centos1 /dev/sda3


If vold is running, replace the attach command with

xm block-attach xen-centos1 pyh://vol/dev/rdsk/c1t0d0/ubuntu6.06i386 /dev/sda3 r



How to resize a Linux DomU disk file image

[08.08.06 snv_43 Xen 07_2006]

see here



back to top

Other DomU HowTos




How to install windows in a DomU

[24.10.07 Solaris snv_75]

Note: Due to missing hardware I could not install Windows or any other OS in a HVM domain yet.

Anyway, here are some links to documents talking about installing Windows in a HVM domain:

Instant Windows—Recipe for Running Windows as a Guest on Solaris xVM [24.10.07]

Installing windows DomU for xVM on Nevada 75a [24.10.07]


[30.10.2008 Solaris snv_101]

Windows PV drivers for 32bit Guests ("Sun xVM Guest Additions" ) are now available, see this message [30.10.2008]



back to top

Files


This is a list of files and scripts for Xen on Solaris I put on my website that maybe useful.

To access the directory with the Xen related files directly use this link.

File
Description

centos1.phy
Xen configuration file for the Centos image from the Xen Demo Disk:

kernel = "/export/xen-images/centos1/vmlinuz-2.6.16.13-xen"
memory = 128
name = "xen-centos1"
disk = ['file:/export/xen-images/centos1/rootfs.img,sda1,w']
vif = [ 'mac=00:16:3E:00:00:15' ]
root = "/dev/sda1 ro"


[27.07.06 snv_43 Xen 07_2006]
start_xen_centos1.sh
Sample script to start a Xen DomU with the Centos image from the Xen Demo Disk:
sol9:/export/install/sol-nv-b89-x86-dvd
#!/usr/bin/ksh

DOMAIN_NAME="centos1"
DOMAIN_IP="192.168.178.115"

echo "Starting the Xen Domain \"${DOMAIN_NAME}\" ..."
gnome-terminal --title "Xen - ${DOMAIN_NAME} console" --command "xm create -c  /export/xen-images/${DOMAIN_NAME}.phy"

echo "Waiting for the domain to come up ..."
while [ 0 = 0 ] ; do
  echo ".\c"
  ping ${DOMAIN_IP}
  [ $? -eq 0 ] && break
  sleep 1
done
sleep 5
echo ""
echo "Starting the VNC viewer for \"${DOMAIN_IP}\" ..." 
/opt/sfw/bin/vncviewer ${DOMAIN_IP}:5900 &


[27.07.06 snv_43 Xen 07_2006]
start_xen.sh
General kornshell script to start a Xen DomU and/or attach a console and/or run the vncviewer for the DomU. There's no documentation for the script right now - so please check the source code. The important part is the part with the configuration variables at the start of the script
[14.09.06 snv_46 Xen 08_2006]
solaris10_0707_inst_on_SolarisDom0.phy Xen configuration file for installing a Solaris 10 Xen 07/07 Solaris DomU on Solaris 10 Xen 07/07 Dom0

name = "solaris_10_July_07"
memory = "368"
vcpus = "1"
disk = [ 'file:/data/cdtemp/sol10_xen.iso,6:cdrom,r','file:/test/Solaris10_xen0707.raw,0,w' ]
vif = [ 'mac=00:0e:0c:3e:18:cd'  ]
on_shutdown = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'


solaris10_0707_run_on_SolarisDom0.phy
Xen configuration file for running a Solaris 10 Xen 07/07 Solaris DomU on Solaris 10 Xen 07/07 Dom0

name = "solaris_10_July_07"
memory = "368"
vcpus = "1"
disk = [ 'file:/export/xen-images/Solaris10_xen0707.raw,0,w' ]
root = "/dev/dsk/c0d0s0"
vif = [ 'mac=00:0e:0c:3e:18:cd' ]
on_shutdown = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'





Solaris10_0707_inst_on_LinuxDom0.phy
Xen configuration file for installing Solaris 10 Xen 07/07 DomU on a Linux Dom0:

name = "solaris_10_July_07_install"
memory = "368"
vcpus = "1"
disk = [ 'file:/data/cdtemp/sol10_xen.iso,6:cdrom,r','file:/data/xen/Solaris10_xen0707_1.raw,0,w' ]
vif = [ 'mac=00:0e:0c:3e:18:cd'  ]
on_shutdown = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'
kernel = "/data/xen/Solaris10_xen0707.kernel"
ramdisk = "/data/xen/x86.miniroot"
rootdisk = "/dev/dsk/c0d0s0"
extra = '/platform/i86xpv/kernel/unix  -B install_media=cdrom'


Solaris10_0707_run_on_LinuxDom0.phy
Xen configuration file for running Solaris 10 Xen 07/07 DomU on a Linux Dom0:

name = "solaris_10_July_07"
memory = "368"
vcpus = "1"
disk = [ 'file:/data/xen/Solaris10_xen0707.raw,0,w' ]
vif = [ 'mac=00:0e:0c:3e:18:cd'  ]
on_shutdown = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'
kernel = "/data/xen/Solaris10_xen0707.kernel"
ramdisk = "/data/xen/boot_archive1"
rootdisk = "/dev/dsk/c0d0s0"
extra = '/platform/i86xpv/kernel/unix -B bootpath=/xpvd/xdf@0:a'



xen_explorer.sh Script to collect Xen related informations for trouble shooting, see below




back to top

xen_explorer.sh

xen_explorer.sh is a kornshell script to collect all Xen related information from a Dom0 for trouble shooting. The usage of the script is:

bash-3.2# /var/tmp/xen_explorer.sh -h
[11.02.2008 23:38:02] xen_explorer.sh started on Mon Feb 11 23:38:02 CET 2008 
[11.02.2008 23:38:02] No config file ("xen_explorer.conf") found (use -C to create a default config file)
  xen_explorer.sh v0.0.4 - collect information about the Xen environment

  Usage: xen_explorer.sh [-T] [-v|+v] [-q|+q] [-h] [-l logfile|+l] [-y|+y] [-n|+n]
                         [-D|+D] [-a|+a] [-O|+O] [-f|+f] [-C] [-H] [-S n] [-V]
                         [-c command] [-i configfile] [-o outputfile-name] [-N n]

 
[11.02.2008 23:38:02] Use "-v -h" or "+h" for a long help text
[11.02.2008 23:38:02] The log file used was "/tmp/xen_explorer.sh.6050.TEMP" 
[11.02.2008 23:38:02] xen_explorer.sh ended on Mon Feb 11 23:38:02 CET 2008.
[11.02.2008 23:38:02] The RC is 1.

 

see here for the long usage help and an example



Sample HTML files created by xen_explorer.sh v0.0.3


HTML file generated in Solaris snv_75 Dom0 with no DomU running (xen_explorer.sh v0.0.3)

The command to generate this file was:

bash-3.2# /mnt/xen_explorer.sh  -o /mnt/dom0_no_domu_xen_explorer_v0_0_3.html -c "xm list" -c "cat /var/lib/xend/storage/uuid" -i /etc/hosts -i /etc/resolv.conf

HTML file generated in Solaris snv_75 Dom0 with no DomU with -v running (xen_explorer.sh v0.0.3)

The command to generate this file was:

bash-3.2# ./xen_explorer.sh  -o /mnt/dom0_no_domu_xen_explorer_v0_0_3.html -c "xm list" -c "cat /var/lib/xend/storage/uuid" -i /etc/hosts -i /etc/resolv.conf -v



Sample HTML files created by xen_explorer.sh v0.0.2


HTML file generated in Solaris Xen 07/07 Dom0 with no DomU running (xen_explorer.sh v0.0.2)
HTML file generated in Solaris Xen 07/07 Dom0 with two DomUs running (xen_explorer.sh v0.0.2)
HTML file generated in Solaris Xen 07/07 DomU (xen_explorer.sh v0.0.2)
HTML file generated on Solaris without Xen (xen_explorer.sh v0.0.2)



Download link for xen_explorer.sh


You can download xen_explorer.sh here.



back to top

Links




General

Xen Homepage [01.01.08]

Xen Server (Citrix Homepage) [01.0.08]

Xen Demo Download [01.01.08]

[28.07.07] 

There is no Demo CD for the current version of OpenSource Xen; the Xen Demo CD for Xen 3.0.3 is here:

http://www.xensource.com/download/index_3.0.3.html [28.07.07]

The DomU Images from the Demo CD for Xen 3.0.3 work with a Solaris Xen 07/07 Dom0.

[19.04.08]

The download page for the Demo CD with Xen 3.0.3 mentioned above is not available anymore. But can still download the ISO image of the demo CD here: http://bits.xensource.com/oss-xen/release/3.0.3-0/iso/livecd-xen-3.0.3-0.iso



How to build Xen 3.2 on Ubuntu 7.10 x86_84 (this a is a *very* draft document)



Documentation

New Xen Community Related Website [01.01.08]

Communitiy Documentation (Xen Wiki) [01.01.08]

Xen HowTos [01.01.08]

Xen FAQ [01.01.08]

Small Xen Howto [01.01.08]

Xen Networking [01.01.08]

Xen Security [10.08.06]

Xen Documentation (Manual) [30.10.08]

rpath Xen DomU Guide [09.08.07]

Xen Summit 2007 Presentations [11.12.07] 

Xen Summits [30.10.08]

Xen Mailing Lists [08.11.08]



man pages

Links to the man pages can be found on the Xen Documentation page [28.07.07]. For your convenience I added them here also:

The man page for the DomU config files is here:
Note that this man page is for the config files used on Linux DomUs - please check also the Solaris Xen Documentation at http://www.opensolaris.org/os/community/xen/docs/install-solaris-domu-iso.htm [28.07.07] for the differences in the Xen config files.


Xen and OpenSolaris


Xen on OpenSolaris [25.07.07]

Xen Discussion at OpenSolaris  [25.07.07]

Xen Release Notes [01.11.08]


xVM Blueprint   Solaris Operating System Hardware Virtualization Product Architecture [07.12.07]

xVM BluePrint: Understanding the Sun xVM Hypervisor Architecture [21.05.08]

System Administration Guide: Virtualization Using the Solaris Operating System [09.02.08]

Setting up Nexenta Xen Dom0 server [13.02.08]

Beginning with snv_75 on 22.10.2007 Xen (now called xVM) is included in Solaris Express. You can download the ISO installation images of Solaris Express including xVM here: http://www.opensolaris.org/os/downloads/ [23.10.07]

Free NIC drivers for Solaris from Masayuki Murayama [24.12.07]

Cluster Agent for Solaris xVM [04.04.08]

BigAdmin xVM Hub [09.05.08]

Xen Crash Dumps on Solaris [21.05.08]

OpenSolaris 2008.11 as a para-virtual Xen guest   [11.12.08]

OpenSolaris 2008.11 guest domain on a Linux dom0 [11.12.08]



Blog entries, Wiki pages, etc


Search machine for Xen mailing lists [19.08.04]

blog.xen.org [19.08.04]

Xen (July 2007, based on Xen 3.0.4 and build 66 of Nevada) announcement [19.07.07]

Xen for dummies [31.07.06]

Open Solaris on Xen - some internals [31.07.06]

Live migration of Solaris instances [31.07.06]

Xvnc with Solaris on Xen [03.08.06]

Known Issues (bugs) with Xen on Solaris [04.02.08]

GRUB menu.lst entries if using Xen [24.07.06]

Hints for Xen drop 07/2007  [19.07.07]

A installation documentation for a Solaris DomU under a Linux Dom0 [04.10.07]

Another blog entry with hints for using Xen on Solaris [04.10.07]

Automatic start/stop of Xen Domains [02.08.07]

Blog with Xen and Solaris experiences [30.11.07]
(e.g. "Install Windows XP HVM at SXDE 76 Dom0")

Marvell_Yukon ethernet and xvm [24.12.07]

FreeBSD /Xen HowTo [02.01.08]

virt-install demo [14.01.08]

xVM weblog [23.01.08]

DTrace on xenstored [01.02.08]

Virtual Switching in Solaris
(NAT etc) [04.04.08


xVM Under the Hood: seg_mf [19.04.08]

Ubuntu 8.04 and Xen fully virtualised guest [03.05.08]

Installing OpenSolaris on Xen [06.05.08]

How to create domU in OpenSolaris 2008.05 [08.05.08]

Getting xVM to work in Opensolaris 2008.05 [09.05.08]

VNC OpenSolaris Settings [09.05.08]

Debugging an xVM Panic [21.05.08]

How to build the Xen hypervisor on Solaris [21.05.08]

How to install snv_87 in a Ubuntu Dom0 with Xen 3.2 (64bit) [23.05.08]

xVM PV of Debian Distros  [03.08.08]

How to to install Ubuntu Hardy DomU under OpenSolaris [30.10.08]

Windows PV drivers are now available [30.10.08]

How to add Xen / xVM DomU support to a Solaris Live Distribution [15.11.08]

OpenSolaris 2008.11 as a dom0 [28.01.09]

Create a fully virtualized ubuntu-9.04 DomU on Sun xVM Hypervisor [28.05.09]

How to create domU in OpenSolaris 2008.05 [28.05.09]

Installing OpenSolaris 2008.11 RC2 domU in a Linux (RedHat/Centos) [03.06.09]

OpenSolaris 2009.06 guest domain on a Linux dom0
[03.06.09]



Sun xVM Ops Center


Sun xVM Ops Center [23.01.08]

Sun xVM Ops Center FAQ [23.01.08]

Sun xVM information center (wiki) [23.01.08]

Sun xVM Ops Center Discussion forum [23.01.08]

Ops Center 1.0 Resource (forum entry) [23.01.08]




Xen DomU Images and utils

Note that I did not yet test most of the DomU images listed here so I do not know if they will work in Xen for Solaris.


Solaris DomU Images

VNRP - Virtual Network Router Appliance Project [23.01.08]
This is a Live CD with Indiana and Xen Support

Creating Solaris domU virtual disk images at OpenSolaris.org [03.08.06]

Ready to use Solaris 10 domU image [31.08.06]
(Download link) [20.11.06]

[28.07.07] Note:

As of 28.07.07 the DomU linked here is a DomU created with the previous Xen Release for Solaris and will not work with Xen 07/07 or newer for Solaris.





Linux DomU Images


Xen - a Linux DomU without Linux [24.07.06]

Xenoppix 5.1.1 Xen3.0.4 QEMU/KVM HTTP-FUSE (http, ftp, and bittorent) [28.07.07]

see here for how to use the ISO image in a Solaris DomU


VMKNOPPIX for x86(20080213) (Live CD with Xen 3.2) [13.04.08]

see here for how to use the ISO image in a Solaris DomU


jailtime.org - OS Images with Xen Support [30.10.08]

As of 30.10.2008 here are these images:



These images are not listed on the web page but still accessable via the direct link:


www.xen-get.org - OS Images with Xen Support [01.01.08: The domain is not valid anymore]

The images described on that site (at the time it was online) can be downloaded from this site:

ftp://mirror.lost-oasis.fr/xen-get/ [01.01.08]

As of 28.07.2007 here are these images:
File: FedoraCore3.tar.bz2 289639 KB 13/06/05 00:00:00
File: FedoraCore3.tar.bz2.md5 1 KB 14/06/05 00:00:00
File: debian-31.tar.bz2 37010 KB 09/06/05 00:00:00
File: debian-31.tar.bz2.md5 1 KB 14/06/05 00:00:00
File: gentoo.tar.bz2 233783 KB 15/11/05 00:00:00
File: gentoo.tar.bz2.md5 1 KB 15/11/05 00:00:00
File: ttylinux-dns.tar.bz2 13120 KB 17/06/05 00:00:00
File: ttylinux-dns.tar.bz2.md5 1 KB 17/06/05 00:00:00
File: ttylinux-mysql-full.tar.bz2 10610 KB 24/06/05 00:00:00
File: ttylinux-mysql-full.tar.bz2.md5 1 KB 24/06/05 00:00:00
File: ttylinux-mysql-light.tar.bz2 3845 KB 24/06/05 00:00:00
File: ttylinux-mysql-light.tar.bz2.md5 1 KB 24/06/05 00:00:00
File: ubuntu-hoary.tar.bz2 109883 KB 15/11/05 00:00:00
File: ubuntu-hoary.tar.bz2.md5 1 KB 15/11/05 00:00:00
File: ubuntu-warty.tar.bz2 125786 KB 15/11/05 00:00:00
File: ubuntu-warty.tar.bz2.md5


http://www.suse.de/~garloff/linux/xen/images/ttylinux/ [01.01.08]

Various Linux DomU Images; as of 01.01.2008 here are these images:
 ttylinux-5.1.tar.gz     03-Sep-2006 23:55   1.8M  GZIP compressed docume>
ttylinux.image 12-Oct-2005 10:18 32.0M
ttylinux.tgz 11-Oct-2005 17:14 1.7M GZIP compressed tar ar>

http://www.suse.de/~garloff/linux/xen/images/suse/ [14.01.08]  SUSE Linux 10.1 images

http://cdprojekte.mattiasschlenker.de/Public/Xen-Images/ [01.01.08]

Various Linux DomU Images; as of 01.01.2008 here are these images:
       opensuse101-desktop-i386-20060514.tbz  14-May-2006 14:34  904M  
opensuse101-minimal-amd64-20061106.tbz 06-Nov-2006 10:18 180M
opensuse101-minimal-i386-20061106.tbz 06-Nov-2006 13:18 185M
ubuntu606-desktop-i386-20060603.tbz 03-Jun-2006 13:07 562M
ubuntu606-minimal-amd64-20060723.tbz 23-Jul-2006 23:56 55M
ubuntu606-minimal-i386-20060723.tbz 24-Jul-2006 00:11 55M
ubuntu610-minimal-i386-20070330.tbz 30-Mar-2007 21:20 109M
ubuntu704-minimal-i386-20070331.tbz 31-Mar-2007 11:01 170M
uclibcroot-i386-20060515.tbz 15-May-2006 08:55 28M

Note:  The descriptions of the images (in German) are here  http://news.mattiasschlenker.de/2006/07/27/neue-tutorials-und-xen-images/ [01.01.08]

Foresight Linux Xen DomU image [01.01.08], Installation instructions are here

Fedora Installation DVD ISO Image [01.01.08], Installation instructions are here


Installing Centos5 on Solaris-Xen  [30.10.08] 

DomU Images at rpath.com [01.01.08]

rpath Linux DomU image [01.01.08]

Virtual Appliances for Xen and other VM solutions [02.01.08] Note: This is a Webpage in German language

Xen Virtual Machines on Ubuntu [01.01.08]



FreeBSD and NetBSD DomU Images


FreeBSD Xen Image (thanks to Mark Johnson for the link) [01.01.08]


NetBSD/Xen HowTo (thanks to Mark Johnson for the link) [01.01.08]
Note: As of 10.08.2006 the NetBSD domU is not working but that's a NetBSD problem - not a Solaris problem

Note: As of 20.12.2007 NetBSD now supports Xen. But unfortunately there are only non-PAE kernels on the i386 installation cdrom for NetBSD at http://www.netbsd.org/mirrors/ [20.12.07] that do not run in a Solaris 10 Dom0.

[01.01.08 Solaris snv_78]

NetBSD 4.0 64 Bit installation images download site

http://www.netbsd.org/mirrors [01.01.08]

Note:  Use the amd64 ISO image for installing a 64 Bit DomU, e.g.

ftp://iso.netbsd.org/pub/NetBSD/iso/4.0/amd64cd-4.0.iso [01.01.08]


NetBSD 4.0 64 Bit Xen Kernel for installing a DomU

ftp://iso2.de.netbsd.org/pub/NetBSD-daily/HEAD/200712300002Z/amd64/binary/kernel/netbsd-INSTALL_XEN3_DOMU.gz [01.01.08]

NetBSD 4.0 64 Bit Xen Kernel for running a DomU

ftp://iso2.de.netbsd.org/pub/NetBSD-daily/HEAD/200712300002Z/amd64/binary/kernel/netbsd-XEN3_DOMU.gz [01.01.08]

NetBSD 4.0 64 Bit packages for the kernel above:

http://ftp.netbsd.org/pub/NetBSD/NetBSD-daily/HEAD/200712300002Z/amd64/binary/sets/ [01.01.08]


Note:

It looks like 200712300002 is the variable part in the URL above - so if the URLs above does not exist anymore; check the directory
http://ftp.netbsd.org/pub/NetBSD/NetBSD-daily/HEAD [01.01.08]  for the current sub directories.

see here and  here for instructions to install a NetBSD DomU.

Booting NetBSD under HVM (an error description and solution) [01.01.08]


Other DomU Images

Netware installation image download [12.02.08]



Xen/XVM GUIs & Tools


Xen GUI (enomalism, Webinterface) [01.01.08]

Belenix Homepage (contains Solaris packages with ext2, ext3, and ntfs support) [09.09.06]

Sloggi Homepage [01.01.08]

Note: A compiled binary for Solaris 10 is available on my homepage. in the download section.

VNC OpenSolaris/xVM Settings [17.04.08]



Books

The Book of Xen [23.10.09]

Xen 3 Handbook in German  [01.01.08]



Qemu Websites


Qemu Home page [30.10.08]

Qemu Project at OpenSolaris [27.10.07]

qemu OS images (mostly without Xen!) [28.07.07]

list of keys for the qemu command sendkeys [31.10.08]



kvm Websites


kvm Wiki [30.10.2008]

kvm FAQ [30.10.2008]

xenner -- run Xen DomUs in kvm  [30.10.2008]



VirtualBox Websites


VirtualBox Download page [02.05.08]



How to build VirtualBox [12.02.08]

VirtualBox Homeage [12.02.08]

32 bit Virtualbox and binary install help [13.02.08]

VirtualBox on Solaris - Virtualization Software - Installing VirtualBox on Solaris 10  [16.02.08]

Converting VMware images to Virtualbox format using qemu and vditool [16.02.08]

VirtualBox on OpenSolaris Hosts Forum [16.02.08]

How to use VirtualBox in a (labeled) Zone [08.04.08]

Ready to use VirtualBox images [31.10.08]



German Websites


The following links all point to German Webpages

Webpage with links to OS Images with Xen Support [30.10.08]

German Xen Forum [01.01.08]

Blog Entry: Einige Erfahrungen mit Sun xVM [03.03.08]

Xen Installation Documentation for Linux [30.10.08]

Xen 3 Handbook in German  [01.01.08]

Xen 3 (very good book about Xen in german) [01.01.08]

Wiki mit Xen Tips [10.04.08]

Gute Beschreibung von Hyper-V (Windows) [23.04.08]

QEMU/KVM Buch [31.10.08]



back to top

Credits

Mark Johnson - infos about his experiences with Xen on Solaris and the link to the FreeBSD Xen Image

And everyone else mentioned above, of course.



back to top

History


Date
Comment
24.10.2009
New: Books

03.06.2009
Update: Blog entries, Wiki pages, etc.
28.05.2009
Update: Blog entries, Wiki pages, etc.
28.01.2009
Update: Blog entries, Wiki pages, etc.
11.12.2008
Update:  Xen and OpenSolaris
15.11.2008
New: How to add Xen / xVM DomU support to a Solaris Live Distribution
New: Which packages are necessary for a DomU?
New:  A DomU starts but there is no access to the console fo the DomU
Update:  Xen Packages
Update:  What SMF services are used in the Dom0 for Xen?
08.11.2008
New:  Trouble Shooting non-Solaris issues
Update: Xen 3.2 and Solaris DomU
31.10.2008
Update: German Websites
Update: Qemu Websites
Update: VirtualBox Websites
30.10.2008
New: kvm Websites
Update:  blktap not yet supported
New: VirtualBox and Xen
Update: Blog entries, Wiki pages, etc
Update: How to install windows in a DomU
New: How do I see that a DomU is running as paravirtualized
Update: Linux DomU Images
Update: Cleanup of the web links on this page
03.08.2008
Update: Blog entries, Wiki pages, etc
31.05.2008
Update for German Readers: Neue Auflage des Xen Buchs erschienen
27.05.2008
New: How to snoop the network adapter of a DomU
23.05.2008
Update: Using ZFS in a Dom0
New: Centos 5, network installation via http
New: Centos 5.1, network installation via http
Update: How to install VNC Server in a Solaris DomU
22.05.2008
New: Using file images with Xen 3.2
21.05.2008
Update: Xen and OpenSolaris
Update: Xen Packages
New: What is the default console for a Dom0
13.05.2008
New: How to convert 2008.05 to a UFS based installation
09.05.2008
Update: Blog entries, Wiki pages, etc
Update: Unable to install domU's on Indiana preview 2
Update: Xen and OpenSolaris
08.05.2008
Update: Blog entries, Wiki pages, etc
06.05.2008
Update: Blog entries, Wiki pages, etc
03.05.2008
Update: Blog entries, Wiki pages, etc
02.05.2008
Update: VirtualBox
24.04.2008
Update: Xen 3.2 and Solaris DomU
New: Known bugs in snv_87
23.04.2008
Update: German Websites
New: lucreate does not work in a Dom0
19.04.2008
Update: Blog entries, Wiki pages, etc
Update: Xen Demo Download
Update: Documentation links
17.04.2008
Update: Xen/XVM GUIs & Tools
13.04.2008
Update: Linux DomU Images
New: VMKnoppix Livecd with Xen 3.2
New: How to check the type of a running DomU
10.04.2008
Update:  German Websites
08.04.2008
Update: VirtualBox Links
Update: How to create a minimal Solaris DomU or Dom0
Update: How to create a Solaris DomU or Dom0 that boots from a RAM disk
07.04.2008
Update: Xen 3.2 and Solaris DomU
Update: Known Bug in snv_85
06.04.2008
New: Xen 3.2 and Solaris DomU
Update:  Running 32 Bit DomUs in a 64 Bit Dom0
New: FreeBSD
Update: How to vi[10.04.08]ew information about the installed Xen version
Update: Contents of the log files
Update: Can I start a 32 Bit DomU in a 64 Bit Dom0 or vice versa?
Update: How to create a disk image file for a DomU
New: Solaris snv85
New: Known Bug in snv_85
05.04.2008
Update: Typos corrected
Update: Tested DomU images with Solaris snv_85
04.04.2008
Update: Blog entries, Wiki pages, etc
Update: Linux_DomU_Images
03.04.2008
Update: Fedora 8 (FC8)
29.03.2008
Update: Netware
New: Netware installation instructions
28.03.2008
Update: Xen packages
Update: Files and Directories used by Xen
22.03.2008
Update: Not supported network adapter
10.03.2008
Update: Update: VirtualBox
03.03.2008
Update: German Websites 
18.02.2008
New: This version of Solaris xVM does not support this hardware
16.02.2008
Update: Virtual Box Websites
13.02.2008
Update: Xen and OpenSolaris
Update: VirtualBox
12.02.2008
New: VirtualBox
New: ERROR Internal error: Couldn't map p2m_frame_list_list (errno 14) (14 = Bad address)
11.02.2008
New: Which packages are neccessary for a Dom0?
New: Unable to install domU's on Indiana preview
Update: xen_explorer.sh updated to version 0.0.4
Correction: Removed still existing parts talking about xnf:xnf_cksum_offload to the /etc/system of the Dom0 because this entry is useless in a Dom0.
09.02.2008
Update: Xen and OpenSolaris
Update: Netware
07.02.2008
Correction:
Removed all parts talking about adding xnf:xnf_cksum_offload to the /etc/system of the Dom0 because this entry is useless in a Dom0.
05.02.2008
New: Fedora 8 (FC8)
New: Other DomU Images
Update: How to get a graphical login for a DomU
03.02.2008
New: Known bugs in snv_81
Update: Files and directories used by Xen
New: TCP checksum must be disabeled in snv_81
Update: How to check if we're running in a Solaris Xen Dom0
02.02.2008
Update: How to attach an ISO image file to running Solaris DomU
Update: How to attach a disk image file to a running Solaris DomU
Update: How to attach the physical CDROM drive to a running Solaris DomU
01.02.2008
Update: Blog entries, Wiki pages, etc
Maintenance: Manual corrected the HTML code created by Mozilla Composer
31.01.2008
Update: Xen and OpenSolaris
28.01.2008
New: How to access NTFS partitions from Solaris
27.01.2008
New: How to enable the serial console for the GRUB menu
23.01.2008
Update: Blog entries, Wiki pages, etc.
New:  Sun xVM Ops Center links
20.01.2008
New: WARNING: xnb_alloc_page: Cannot allocate memory to transfer packets to peer
19.01.2008
New: Cannot mount root path
New: Creating the boot-archive failed in a DomU
New: How to create a minimal Solaris DomU or Dom0
New: How to create a Solaris DomU or Dom0 that boots from a RAM disk
16.01.2008
Update: Blogs entries and Wiki Entries
Update: How to save and restore a DomU
New: Error: Unknown device type: console
Update: GUIs for Xen
Update: What Solaris Installation cluster is necessary to install Xen?
New: Can not start a 64 Bit Solaris in a HVM
New: How to use kernel debugger in the Dom0
New: Can not change the default NIC for Xen
New: Error: HVM guest support unavailable..
Update: Restructured the html page
09.01.2008
Update: How to enable the serial console for Dom0 
02.01.2008
Update: Xen DomU Images and Utils
Update: Blog Entries, Wikis, etc
01.01.2008
New: Intsall a NetBSD 4.0 DomU from the ISO image
New:  Install a NetBSD 4.0  DomU from the ftp server
Update: Xen DomU Images and Utils
Update: Links checked  and Link section updated
24.12.2007
Update: Supported network adapter
Update: Xen and OpenSolaris Links
20.12.2007
Update: NetBSD and Xen
15.12.2007
Update: How to attach another network adapter to a running Solaris DomU
Update: Files and Directories used by Xen
New: How to start a Solaris DomU in debug mode
New: How to pass parameter to the kernel of a DomU
13.12.2007
New:  Contents of the log files
New: How to send a break to the Dom0
New: How to send a break to a DomU
New: How to dump the image of a guest domain
New: Hints for using a VNC session for DomU sessions
New: How to enable the serial console for the Dom0
11.12.2007
New: How to use a dedicated network adapter in a DomU
New: How to check if a machine supports HVM DomUs
New: Is there a way to define VLAN tags on VNICs for xVM?
Update: Documentation Links
07.12.2007
Update: Xen and OpenSolaris
30.11.2007
Update: Blog entries and Wiki pages
New: Windows DomU and Networking
New: Using ZFS in a Dom0
22.11.2007
New: How to attach a USB disk to a running Solaris DomU
New: How to use bridged networking
30.10.2007
New: Booting DomUs on Solaris
28.10.2007
Update:  Qemu
27.10.2007
New: Xen and other Virtualization Solutions
New: Qemu
Update: DomU Images tested
26.10.2007
Update: What SMF services are used in the Dom0 for Xen?
Update: What Solaris Installation cluster is necessary to install Xen?
25.10.2007
Update: Xen Packages
Update: How to install Xen on Solaris
Update: What SMF services are used in the Dom0 for Xen?
Update: Where is the config file for Xen?
Update: How to view information about the installed Xen Version
Update: New version v0.0.3 of xen_explorer.sh now supports Solaris snv_75
24.10.2007
New: Installing Solaris snv_75 in a DomU
New: Known bug in snv_75
Update: Xen and Solaris Links
New: Error creating a windows HVM
New: How to install windows in DomU
New:  Error: (2, 'Invalid kernel', 'elf_xen_note_check: ERROR: Will only load images built for the generic loader or Linux images')
Update:  How to mount a Solaris DomU disk image
23.10.2007
New:  How to boot Solaris xVM off a ZFS root
Update: Links to the man pages
22.10.2007
New: Solaris Express snv_75 with xVM is available!
04.10.2007
Update: Links
20.09.2007
Update: Links
22.08.2007
Update: Xen DomU Imaes and Utils
New: GUIs for Xen
13.08.2007
New: blktap not yet supported
Corrected: solaris10 0707 inst on SolarisDom0.phy
10.08.2007
New: Full Network support
Corrected: boot archive handling
09.08.2007
Update: Links
08.08.2007
Update: Corrected various spelling errors
07.08.2007
New: DomU Images tested: Fedora 7 (FC7)
New: How to use the PV framebuffer
05.08.2007
New: How to access the xenstore
New: Network adapters
04.08.2007
New: xen_explorer.sh
03.08.2007
Update: How to check if we are running in a Dom0
Update: DomU Images tested Foresight
Corrected: How to get the Network working in a Linux DomU
Update: How to attach another network adapter to a running Solaris DomU
02.08.2007
Update: Links
30.07.2007
New: How to slow down ballooning
New: How to check the amount of free space available for DomUs
New: Do I need to disable checksum offload?
29.07.2007
New: How to enable Live Migration
Update: DomU Images tested
Update: Where are the logfiles from Xen
New: Xen Packages
New: How to boot Xenoppix 5.1.1 in a Solaris DomU
28.07.2007
Update: Xen Demo CD Download link
Update: Links to Xen DomU Images
Update: DomU Images tested
New: Running 32 Bit DomUs in a 64 Bit Dom0
Update: Files
New: Error: (22, 'Invalid argument')
Update: How to install VNC Server in a Solaris
New:  How to check if we're running in a Solaris Xen Dom0
New: How to install new guest domains?
Update: How to increase the memory of a running DomU
Update: How to install Xen on Solaris
New: How to auto start a DomU at system boot time
New:  How to work with xend managed domains
New: Files and Directories used by Xen
27.07.2007
New: Succesfully bootet a Ubuntu Feisty 7.04 DomU
25.07.2007
New: boot_archive handling
New: My changes to /etc/system are not persistent
New: The Network connection of a Solaris DomU does not work
24.07.2007
Second release of this Webpage; now only covering Xen 07/07 and newer Xen Releases. The page about the previous Xen Releases for Solaris is here.