Xen 3.3.2/xVM: OpenSolaris snv_121

| | Comments (2) | TrackBacks (0)
After having passed some hours to

  • Install OpenSolaris 09.06 ( snv_111)
  • image-update it to snv_118 (pkg.opensolaris.org/dev/)
  • BFU it to snv_121
I am now able to use the Xen Version of OpenSolaris (named Sun xVM) and OpenSolaris as Dom0.

(NB: if you're looking for a DomU install example, here's one:
Installing SLES 11 in a xVM/Xen DomU
and here is another.
Installing Redhat Enterprise Server 5 in a xVM/Xen DomU).

Beginning with Build 121, the xen Version has been taken from 3.1.4 to 3.3.2. Hardware virtualization (HVM) has got some performance gains and paravirtualized machines are much simplier to install.

If you want to try it out, here are the steps to get a working test and play setup:

(Children don't try this at home. Using developer versions and - even more - BFU'd systems is never adviseable in production environments. You have been warned!).

  1. Install OpenSolaris 09.06.
    It is available as an ISO image here (at the opensolaris.org website)

  2. Update to the developer tree by typing:

    # pkg set-publisher -O http://pkg.opensolaris.org/dev/ opensolaris.org
    # pkg image-update

  3. reboot
  4. Create a new boot environment and activate it:

    # beadm create bfu_121
    # beadm activate bfu_121
    # reboot

  5. BFU to version 121:

    Install the SUN ON Building tools for Version 121. They're downloadable from the Download Center from Sun:


    Their name is "SUNWonbld.i386.tar.bz2".

  6. Do the following:

    # wget http://dlc.sun.com/osol/on/downloads/b121/SUNWonbld.i386.tar.bz2
    # bzcat SUNWonbld.i386.tar.bz2 | tar xf -
    # wget http://dlc.sun.com/osol/on/downloads/b121/on-bfu-nightly-osol-nd.i386.tar.bz2
    # bzcat on-bfu-nightly-osol-nd.i386.tar.bz2 | tar xf -
    # pkgadd -d onbld

  7. Login on the console (never use a remote connection for the next steps). Type:

    # svcadm disable gdm
       (get rid of the graphics, do a "su" first to become root)

    Login again on the text window. Do a "su" to root.

    Type (assuming that the directory where you downloaded the files mentioned above is '/export/home/pascal'):

    # export BFULD=/opt/onbld/bin/i386/bfuld
    # export FASTFS=/opt/onbld/bin/i386/fastfs
    # export GZIPBIN=/usr/bin/gzip

    # bfu /export/home/pascal/archives-nightly-osol-nd/i386

    Many many text will appear and it will update your ON/NV to Build 121. There will be many conflicts but with a standard OpenSolaris installation (fresh 09.06) which was upgraded to a snv_118 developer (see above) I did not get a negative result.
    After BFU has finished, you'll get a local bfu shell, type reboot.

  8. You're ready, after reboot the system will say to you:

    Sun Microsystems Inc.   SunOS 5.11      snv_121 October 2007
    bfu'ed from /export/home/pascal/archives-nightly-osol-nd/i386 on 2009-08-26
    Sun Microsystems Inc.   SunOS 5.11      snv_118 November 2008

  9. Install the Sun Studio 12 compiler. Download it from opensolaris.org. To install, create a directory named


    change to it and unpack the contents of the downloaded tar.gz file above into it.

  10. Now you're ready to compile xVM. Install the needed packages:

    # pkg install SUNWgcc
    # pkg install SUNWmercurial
    # pkg install SUNWgmake
    # pkg install SUNWbcc
    # pkg install SUNWlibtool
    # pkg install SUNWgnome-common-devel
    # pkg install SUNWgnu-automake-110
    # pkg install SUNWaconf
    # pkg install SUNWxwinc
    # pkg install SUNWgit

  11. Create a new .hgrc file in your home directory with the following content:


  12. Get the XVM source:

    # mkdir xvm-3.3
    # cd xvm-3.3
    # wget http://dlc.sun.com/osol/on/downloads/b121/xvm-src.tar.bz2
    # bzcat xvm-src.tar.bz2 | tar xf -

  13. Begin your Deathmatch:

    # export XVM_WS=`pwd`
    # export EMAIL=...your mail address ...
    # export EDITOR=vi
    # wget http://ftp.gnu.org/pub/gnu/readline/readline-5.2.tar.gz
    # ./sunos.hg/bin/build-all

    ... wait some time, get some coffee ...
    Hopefully, the following message will appear:

    ---- Build in /export/home/pascal/xvm-3.3/ completed 2009-08-26 09:39 CEST ---- 

  14. Remove two packages:

    # pkg uninstall SUNWxvmipa
    # pkg uninstall SUNWxvmdom

    # cd packages-debug
    # pkgadd -d . SUNWxvmdomr
    # pkgadd -d . SUNWxvmr
    # pkgadd -d . SUNWxvmu
    # pkgadd -d . SUNWxvmhvm
    # pkgadd -d . SUNWlibvirtr
    # pkgadd -d . SUNWlibvirt
    # pkgadd -d . SUNWvdisk
    # pkgadd -d . SUNWvirtinst

  15. Finally, alter

    /rpool/boot/grub/menu.lst, add these lines:

    title Solaris Development snv_121 BFU xVM
    findroot (pool_rpool,0,a)
    bootfs rpool/ROOT/bfu_121
    kernel$ /boot/$ISADIR/xen.gz
    module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS
    module$ /platform/i86pc/$ISADIR/boot_archive

  16. Ready! Reboot!

  17. After reboot, uname should read:

    pascal@schall:~$ uname -a
    SunOS schall 5.11 snv_121 i86pc i386 i86xpv Solaris

    "i86xpv" means that the XEN version of the Solaris kernel is loaded and the hypervisor is running.

  18. Look for xvm services running:

    pascal@schall:~$ svcs|grep xvm
    online         15:29:40 svc:/system/xvm/store:default
    online         15:29:46 svc:/system/xvm/xend:default
    online         15:29:46 svc:/system/xvm/console:default
    online         15:29:46 svc:/system/xvm/virtd:default
    online         15:29:46 svc:/system/xvm/domains:default

  19. You're ready to go! Congratulations for your new Xen 3.3.2/OpenSolaris playing machine!

0 TrackBacks

Listed below are links to blogs that reference this entry: Xen 3.3.2/xVM: OpenSolaris snv_121.

TrackBack URL for this entry: http://southbrain.com/mt/mt-tb.cgi/84


It's possible to run an SxVM-3.3 OpenSolaris Dom0 and assign PCI devices to a linux DomU?

I don't know that yet, I admit. With Linux and BSD there's the pciback resp. pcihide functionality for that.

December 2015

Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    


This blog is owned by:

Pascal Gienger
J├Ągerstrasse 77
8406 Winterthur

Google+: Profile
YouTube Channel: pascalgienger