Hi, try putting /boot on a separate ext3-formatted partition.  Also, be
careful what options you select when installing Ubuntu.  I recall that
the Ubuntu Cloud Image option in some Ubuntu versions breaks
compatibility with XenServer.  Lastly, it's not clear from your email
how you created the Ubuntu VM, but my suggestion was to create it on a
standalone XenServer, which can be virtualized on VirtualBox if
necessary.  If you are creating a Ubuntu VM directly in VirtualBox,
there will probably be issues getting the VM to work in XenServer.

Best regards,
Kirk

On 09/06/2013 07:22 AM, France wrote:
> After creating VHD using VirtualBox and registering the template with CS
> 4.1.1 (Other PV), creating the VM from that template fails.
> To me it seems that pygroup doesn't find the root. Any help would be
> greatly appreciated. In return i can provide a link to VHD 12.04 LTS
> image i created.
> 
> Here is the error from CS:
> -- 
>            errorInfo: [Using <class 'grub.GrubConf.Grub2ConfigFile'> to
> parse /grub/grub.cfg, WARNING:root:Unknown directive load_video,
> WARNING:root:Unknown directive terminal_output, WARNING:root:Unknown
> directive else, WARNING:root:Unknown directive export,
> WARNING:root:Unknown image directive recordfail, WARNING:root:Unknown
> image directive gfxmode, WARNING:root:Unknown directive submenu,
> Traceback (most recent call last):,   File "/usr/bin/pygrub", line 850,
> in ?,     raise RuntimeError, "Unable to find partition containing
> kernel", RuntimeError: Unable to find partition containing kernel, ]
> -- 
> 
> Here is the actual grub config if i mount that VHD and take a look at it:
> -- 
> #
> # DO NOT EDIT THIS FILE
> #
> # It is automatically generated by grub-mkconfig using templates
> # from /etc/grub.d and settings from /etc/default/grub
> #
> 
> ### BEGIN /etc/grub.d/00_header ###
> if [ -s $prefix/grubenv ]; then
>   set have_grubenv=true
>   load_env
> fi
> set default="0"
> if [ "${prev_saved_entry}" ]; then
>   set saved_entry="${prev_saved_entry}"
>   save_env saved_entry
>   set prev_saved_entry=
>   save_env prev_saved_entry
>   set boot_once=true
> fi
> 
> function savedefault {
>   if [ -z "${boot_once}" ]; then
>     saved_entry="${chosen}"
>     save_env saved_entry
>   fi
> }
> 
> function recordfail {
>   set recordfail=1
>   if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then
> save_env recordfail; fi; fi
> }
> 
> function load_video {
>   insmod vbe
>   insmod vga
>   insmod video_bochs
>   insmod video_cirrus
> }
> 
> insmod lvm
> insmod part_msdos
> insmod ext2
> set root='(ubuntu-vg-root)'
> search --no-floppy --fs-uuid --set=root
> b57488e9-5f29-407c-b3c1-767d37331494
> if loadfont /usr/share/grub/unicode.pf2 ; then
>   set gfxmode=auto
>   load_video
>   insmod gfxterm
>   insmod part_msdos
>   insmod ext2
>   set root='(hd0,msdos1)'
>   search --no-floppy --fs-uuid --set=root
> 770a59b2-6d31-413f-862d-c172a6a042d1
>   set locale_dir=($root)/grub/locale
>   set lang=en_US
>   insmod gettext
> fi
> terminal_output gfxterm
> if [ "${recordfail}" = 1 ]; then
>   set timeout=-1
> else
>   set timeout=2
> fi
> ### END /etc/grub.d/00_header ###
> 
> ### BEGIN /etc/grub.d/05_debian_theme ###
> set menu_color_normal=white/black
> set menu_color_highlight=black/light-gray
> ### END /etc/grub.d/05_debian_theme ###
> 
> ### BEGIN /etc/grub.d/10_linux ###
> function gfxmode {
>     set gfxpayload="${1}"
>     if [ "${1}" = "keep" ]; then
>         set vt_handoff=vt.handoff=7
>     else
>         set vt_handoff=
>     fi
> }
> if [ "${recordfail}" != 1 ]; then
>   if [ -e ${prefix}/gfxblacklist.txt ]; then
>     if hwmatch ${prefix}/gfxblacklist.txt 3; then
>       if [ ${match} = 0 ]; then
>         set linux_gfx_mode=keep
>       else
>         set linux_gfx_mode=text
>       fi
>     else
>       set linux_gfx_mode=text
>     fi
>   else
>     set linux_gfx_mode=keep
>   fi
> else
>   set linux_gfx_mode=text
> fi
> export linux_gfx_mode
> if [ "${linux_gfx_mode}" != "text" ]; then load_video; fi
> menuentry 'Ubuntu, with Linux 3.8.0-30-generic' --class ubuntu --class
> gnu-linux --class gnu --class os {
>     recordfail
>     gfxmode $linux_gfx_mode
>     insmod gzio
>     insmod part_msdos
>     insmod ext2
>     set root='(hd0,msdos1)'
>     search --no-floppy --fs-uuid --set=root
> 770a59b2-6d31-413f-862d-c172a6a042d1
>     linux    /vmlinuz-3.8.0-30-generic root=/dev/mapper/ubuntu--vg-root ro
>     initrd    /initrd.img-3.8.0-30-generic
> }
> menuentry 'Ubuntu, with Linux 3.8.0-30-generic (recovery mode)' --class
> ubuntu --class gnu-linux --class gnu --class os {
>     recordfail
>     insmod gzio
>     insmod part_msdos
>     insmod ext2
>     set root='(hd0,msdos1)'
>     search --no-floppy --fs-uuid --set=root
> 770a59b2-6d31-413f-862d-c172a6a042d1
>     echo    'Loading Linux 3.8.0-30-generic ...'
>     linux    /vmlinuz-3.8.0-30-generic root=/dev/mapper/ubuntu--vg-root
> ro recovery nomodeset
>     echo    'Loading initial ramdisk ...'
>     initrd    /initrd.img-3.8.0-30-generic
> }
> submenu "Previous Linux versions" {
> menuentry 'Ubuntu, with Linux 3.8.0-29-generic' --class ubuntu --class
> gnu-linux --class gnu --class os {
>     recordfail
>     gfxmode $linux_gfx_mode
>     insmod gzio
>     insmod part_msdos
>     insmod ext2
>     set root='(hd0,msdos1)'
>     search --no-floppy --fs-uuid --set=root
> 770a59b2-6d31-413f-862d-c172a6a042d1
>     linux    /vmlinuz-3.8.0-29-generic root=/dev/mapper/ubuntu--vg-root ro
>     initrd    /initrd.img-3.8.0-29-generic
> }
> menuentry 'Ubuntu, with Linux 3.8.0-29-generic (recovery mode)' --class
> ubuntu --class gnu-linux --class gnu --class os {
>     recordfail
>     insmod gzio
>     insmod part_msdos
>     insmod ext2
>     set root='(hd0,msdos1)'
>     search --no-floppy --fs-uuid --set=root
> 770a59b2-6d31-413f-862d-c172a6a042d1
>     echo    'Loading Linux 3.8.0-29-generic ...'
>     linux    /vmlinuz-3.8.0-29-generic root=/dev/mapper/ubuntu--vg-root
> ro recovery nomodeset
>     echo    'Loading initial ramdisk ...'
>     initrd    /initrd.img-3.8.0-29-generic
> }
> }
> ### END /etc/grub.d/10_linux ###
> 
> ### BEGIN /etc/grub.d/20_linux_xen ###
> ### END /etc/grub.d/20_linux_xen ###
> 
> ### BEGIN /etc/grub.d/20_memtest86+ ###
> menuentry "Memory test (memtest86+)" {
>     insmod part_msdos
>     insmod ext2
>     set root='(hd0,msdos1)'
>     search --no-floppy --fs-uuid --set=root
> 770a59b2-6d31-413f-862d-c172a6a042d1
>     linux16    /memtest86+.bin
> }
> menuentry "Memory test (memtest86+, serial console 115200)" {
>     insmod part_msdos
>     insmod ext2
>     set root='(hd0,msdos1)'
>     search --no-floppy --fs-uuid --set=root
> 770a59b2-6d31-413f-862d-c172a6a042d1
>     linux16    /memtest86+.bin console=ttyS0,115200n8
> }
> ### END /etc/grub.d/20_memtest86+ ###
> 
> ### BEGIN /etc/grub.d/30_os-prober ###
> ### END /etc/grub.d/30_os-prober ###
> 
> ### BEGIN /etc/grub.d/30_uefi-firmware ###
> ### END /etc/grub.d/30_uefi-firmware ###
> 
> ### BEGIN /etc/grub.d/40_custom ###
> # This file provides an easy way to add custom menu entries.  Simply
> type the
> # menu entries you want to add after this comment.  Be careful not to
> change
> # the 'exec tail' line above.
> ### END /etc/grub.d/40_custom ###
> 
> ### BEGIN /etc/grub.d/41_custom ###
> if [ -f  $prefix/custom.cfg ]; then
>   source $prefix/custom.cfg;
> fi
> ### END /etc/grub.d/41_custom ###

Reply via email to