Differences between revisions 35 and 36
Revision 35 as of 2013-07-25 02:31:44
Size: 1946
Editor: GeoffSimmons
Comment: Remove unnecessary inequality symbol.
Revision 36 as of 2017-04-25 17:43:06
Size: 2246
Editor: ?FlorianSchroen
Comment: added "find correct pygrub binary"
Deletions are marked like this. Additions are marked like this.
Line 61: Line 61:

 * find correct pygrub binary if {{{/usr/lib/xen-default/bin/pygrub}}} is missing
{{{
# show current xen version (use xl or xm)
$ xl info | grep xen_version
xen_version : 4.4.1

# find available pygrub binaries
$ find /usr/lib/xen* -name pygrub
/usr/lib/xen-4.4/bin/pygrub
}}}

Using pyGRUB on Wheezy to boot a domU kernel

Using pyGRUB from xen-utils-4.0, each domU can boot with its own kernel instead of using the dom0 kernel, which makes life easier for updates and multi distribution Xen installs. You need to have first a working domU. The domU FileSystem needs to be ext[234].

On the dom0

  • You need to have the system partition as the first partition listed in your domU.cfg disklist.

Config snippet:

root        = '/dev/xvda2 ro'
disk        = [
                  'phy:/dev/vg05/test2.openforce.com-disk,xvda2,w',
                  'phy:/dev/vg05/test2.openforce.com-swap,xvda1,w',
              ]

On the domU

  • Make sure /etc/fstab refers to the mount points /dev/xvda{1,2}

  • Install a standard linux-image-amd64 kernel (since Xen support is in mainline Linux since Linux 2.6.37)

mkdir /boot/grub
apt-get install linux-image-amd64

You don't need to install grub, you just need to create a simple grub config file which will be read by pygrub on the Dom0.

  • Create first /boot/grub/menu.lst based on the content of /boot/.

cat > /boot/grub/menu.lst << EOF

default         0
timeout         2

title           Debian GNU/Linux
root            (hd0,0)
kernel          /vmlinuz root=/dev/xvda2 ro
initrd          /initrd.img

title           Debian GNU/Linux (recovery mode)
root            (hd0,0)
kernel          /vmlinuz root=/dev/xvda2 ro single
initrd          /initrd.img

EOF

On the dom0

  • Check that grub was properly installed on the domU with

/usr/lib/xen-default/bin/pygrub /dev/vg02/my_domU-disk

which should great with the familiar grub menu, and then abort

  • Replace the kernel and ramdisk parameters in the domU config file with the following line.

bootloader      = '/usr/lib/xen-default/bin/pygrub'
  • find correct pygrub binary if /usr/lib/xen-default/bin/pygrub is missing

# show current xen version (use xl or xm)
$ xl info | grep xen_version
xen_version            : 4.4.1

# find available pygrub binaries
$ find /usr/lib/xen* -name pygrub
/usr/lib/xen-4.4/bin/pygrub