[Bug 1311870] Re: pygrub on 12.04 don't start 14.04

Fantu fantonifabio at tiscali.it
Thu Jun 12 13:34:19 UTC 2014


These are details for build custom pvgrub2 image I did:

aptitude install autogen libdevmapper-dev libfuse-dev unifont # some are optionals but useful (other requirements if I am not mistaken are included in the preparation of xen and qemu from source)
git clone git://git.sv.gnu.org/grub.git
./autogen.sh
./configure --target=x86_64 --with-platform=xen
make
mkdir -p boot/grub/
cat > boot/grub/grub.cfg <<'EOF'
insmod lvm
insmod ext2
insmod part_msdos
insmod part_gpt
insmod btrfs
insmod xzio

insmod regexp
for dev in (*); do
    # $device: parenthesis removed from $dev
    regexp -s device '\((.*)\)' $dev
    set root=$device
    for file in /boot/vmlinuz-* /boot/linux-*; do
        if test -f $file; then
            set saved_root=$root
        fi
    done
done
set root=$saved_root

if test -f /boot/grub2/grub.cfg ; then
    configfile /boot/grub2/grub.cfg
elif test -f /boot/grub/grub.cfg ; then
    configfile /boot/grub/grub.cfg
fi
EOF
pkgdatadir=. ./grub-mkstandalone --grub-mkimage=./grub-mkimage -o pvgrub2.xen -O x86_64-xen -d grub-core/ boot/grub/grub.cfg
mv pvgrub2.xen /boot


To use it simply set the pvgrub2.xen in kernel parameter of domU's xl cfg.
Note: it works only with domUs that have grub2, old domUs with grub1 must use pygrub instead

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1311870

Title:
  pygrub on 12.04 don't start 14.04

Status in “grub2” package in Ubuntu:
  Invalid
Status in “xen” package in Ubuntu:
  Confirmed

Bug description:
  After I upgrade one of my xen pvm ubnutu 13.10 installations to 14.04, I was not able to boot them any more on my ubutntu 12.04 dom0. Starting them results in following mesage:
  sudo xm create /etc/xen/lisa.cfg 
  Boot loader didn’t return any data!

  Within /var/log/xen/xend.log I found the following messages:
  [2014-04-22 16:12:57 3466] DEBUG (XendDomainInfo:103) XendDomainInfo.create(['vm', ['name', 'lisa'], ['memory', 2048], ['on_xend_start', 'i$
  [2014-04-22 16:12:57 3466] DEBUG (XendDomainInfo:2498) XendDomainInfo.constructDomain
  [2014-04-22 16:12:57 3466] DEBUG (balloon:187) Balloon: 7859516 KiB free; need 16384; done.
  [2014-04-22 16:12:57 3466] DEBUG (XendDomain:476) Adding Domain: 17
  [2014-04-22 16:12:57 3466] DEBUG (XendDomainInfo:2836) XendDomainInfo.initDomain: 17 256
  [2014-04-22 16:12:57 32178] DEBUG (XendBootloader:113) Launching bootloader as ['/usr/lib/xen-4.1/bin/pygrub', '--output=/var/run/xend/boot$
  [2014-04-22 16:12:57 3466] ERROR (XendBootloader:214) Boot loader didn't return any data!
  [2014-04-22 16:12:57 3466] ERROR (XendDomainInfo:488) VM start failed
  Traceback (most recent call last):
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 474, in start
      XendTask.log_progress(31, 60, self._initDomain)
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendTask.py", line 209, in log_progress
      retval = func(*args, **kwds)
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2838, in _initDomain
      self._configureBootloader()
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 3285, in _configureBootloader
      bootloader_args, kernel, ramdisk, args)
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendBootloader.py", line 215, in bootloader
      raise VmError, msg
  VmError: Boot loader didn't return any data!
  [2014-04-22 16:12:57 3466] DEBUG (XendDomainInfo:3071) XendDomainInfo.destroy: domid=17
  [2014-04-22 16:12:57 3466] DEBUG (XendDomainInfo:2406) No device model
  [2014-04-22 16:12:57 3466] DEBUG (XendDomainInfo:2408) Releasing devices
  [2014-04-22 16:12:57 3466] ERROR (XendDomainInfo:108) Domain construction failed
  Traceback (most recent call last):
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 106, in create
      vm.start()
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 474, in start
      XendTask.log_progress(31, 60, self._initDomain)
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendTask.py", line 209, in log_progress
      retval = func(*args, **kwds)
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2838, in _initDomain
      self._configureBootloader()
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 3285, in _configureBootloader
      bootloader_args, kernel, ramdisk, args)
    File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendBootloader.py", line 215, in bootloader
      raise VmError, msg
  VmError: Boot loader didn't return any data!

  After some time of try and error I also found a workaround for this
  issue, by removing the grub2 packages and installing the god old grub
  package within a chroot, as described here: http://0x23.de/2012/05
  /xen-ubuntu-12-04-upgrade-boot-loader-didnt-return-any-data/

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1311870/+subscriptions



More information about the foundations-bugs mailing list