f16408dfb0
This patch implements support for Multiboot on x86 for -kernel. Multiboot is a "new" approach to get rid of different bootloaders, providing a unified interface for the kernel. It supports command line options and kernel modules. The two probably best known projects using multiboot are Xen and GNU Hurd. This implementation should be mostly feature-complete. It is missing VBE extensions, but as no system uses them currently it does not really hurt. To use multiboot, specify the kernel as -kernel option. Modules should be given as -initrd options, seperated by a comma (,). -append also works. Please bear in mind that grub also does gzip decompression, which qemu does not do yet. To run existing images, please ungzip them first. The guest multiboot loader code is implemented as option rom using int 19. Parts of the work are based on efforts by Rene Rebe, who originally ported my code to int 19. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> |
||
---|---|---|
.. | ||
bios-pq | ||
keymaps | ||
optionrom | ||
vgabios-pq | ||
bamboo.dtb | ||
bamboo.dts | ||
bios.bin | ||
Makefile | ||
mpc8544ds.dtb | ||
mpc8544ds.dts | ||
ohw.diff | ||
openbios-ppc | ||
openbios-sparc32 | ||
openbios-sparc64 | ||
petalogix-s3adsp1800.dtb | ||
ppc_rom.bin | ||
pxe-e1000.bin | ||
pxe-ne2k_pci.bin | ||
pxe-pcnet.bin | ||
pxe-rtl8139.bin | ||
README | ||
vgabios-cirrus.bin | ||
vgabios.bin | ||
video.x |
- The PC BIOS comes from the Bochs project (http://bochs.sourceforge.net/). The patches in bios-pq have been applied. The binary is based on the revision in bios-pq/HEAD with the patches in bios-pq/series applied. The git repo that HEAD refers to is located at git://git.kernel.org/pub/scm/virt/bochs/bochs.git To build these use the following instructions: using guilt: $ export QEMUSRC=/path/to/qemu/svn $ git clone git://git.kernel.org/pub/scm/virt/bochs/bochs.git $ cd bochs $ git checkout -b qemu-bios $(cat $QEMUSRC/pc-bios/bios-pq/HEAD) $ mkdir -p .git/patches $ ln -s $QEMUSRC/pc-bios/bios-pq .git/patches/qemu-bios $ touch .git/patches/qemu-bios/status $ guilt push -a $ ./configure $ cd bios $ make $ cp BIOS-bochs-latest $QEMUSRC/pc-bios/bios.bin or alternatively (after the git checkout): $ for p in $(cat $QEMUSRC/pc-bios/bios-pq/series); do git am $p; done $ ./configure $ make bios - The VGA BIOS and the Cirrus VGA BIOS come from the LGPL VGA bios project (http://www.nongnu.org/vgabios/). The binary is based on the revision in vgabios-pq/HEAD with the patches in vgabios-pq/series applied. The git repo that HEAD refers to is located at git://git.kernel.org/pub/scm/virt/vgabios/vgabios.git - The PowerPC Open Hack'Ware Open Firmware Compatible BIOS is available at http://perso.magic.fr/l_indien/OpenHackWare/index.htm. - video.x is a PowerMac NDRV compatible driver for a VGA frame buffer. It comes from the Mac-on-Linux project (http://www.maconlinux.org/). - OpenBIOS (http://www.openbios.org/) is a free (GPL v2) portable firmware implementation. The goal is to implement a 100% IEEE 1275-1994 (referred to as Open Firmware) compliant firmware. The included images for Sparc32, Sparc64 and PowerPC (for 32 and 64 bit PPC CPUs) are built from OpenBIOS SVN revision 482. - The PXE roms come from Rom-o-Matic etherboot 5.4.2. pcnet32:pcnet32 -- [0x1022,0x2000] ns8390:winbond940 -- [0x1050,0x0940] rtl8139:rtl8139 -- [0x10ec,0x8139] http://rom-o-matic.net/