=========
xenpvboot
=========

xenpvboot is a bootloader for Xen paravirtual guests.


Introduction
============

xenpvboot supports getting boot images from the following locations:

 - http://host/path
 - https://host/path
 - ftp://host/path
 - file:///path
 - tftp://host/path
 - nfs:host:/path
 - /path
 - /path/file.iso
 - /path/filesystem.img
 - /dev/hda1
 - nfs+iso:host:/path/file.iso
 - nfs+iso:host:/path/filesystem.img


Usage
=====

Make `xenpvboot` as bootloader for PV guest::

    bootloader = '/usr/bin/xenpvboot'

To get booting images from various location, set the right bootloader arguments. e.g.::

    bootargs = 'http://10.182.120.78/share/iso/el5/u4/i386'
    bootargs = 'ftp://10.182.120.78/share/iso/el5/u4/i386'
    bootargs = 'file:///share/iso/el5/u4/i386'
    bootargs = 'tftp://10.182.120.78/share/iso/el5/u4/i386'
    bootargs = '/share/iso/el5/u4/i386'
    bootargs = '/share/iso/el5/u4/Enterprise-R5-U4-Server-i386-dvd.iso'
    bootargs = 'nfs:10.182.120.78:/share/iso/el5/u4/i386'
    bootargs = 'nfs+iso:10.182.120.78:/share/iso/el5/u4/Enterprise-R5-U4-Server-i386-dvd.iso'
    bootargs = '-q --kernel i386/images/xen/vmlinuz --ramdisk i386/images/xen/initrd.img nfs:10.182.120.78:/share/iso/el5/u4'

If `--kernel` and `--ramdisk` are not specified in `bootargs`, xenpvboot will
search the following places for boot images::

    ('images/xen/vmlinuz', 'images/xen/initrd.img'), # Fedora
    ('boot/i386/vmlinuz-xen', 'boot/i386/initrd-xen'), # Opensuse > 10.2 and sles 10
    ('boot/x86_64/vmlinuz-xen', 'boot/x86_64/initrd-xen'), # Opensuse > 10.2 and sles 10
    ('current/images/netboot/xen/vmlinuz', 'current/images/netboot/xen/initrd.gz'), # Debian


TODO
====

* Add support failover to pygrub (?)


Authors
=======

* Zhigang Wang <zhigang.x.wang@oracle.com>
