Mboot.c32
Contents
[hide]About
mboot.c32 is a Syslinux module that loads images using the Multiboot specification. A really good use case for this is booting Xen, or any other hypervisor-based virtualization pieces that also require an initrd/initramfs. If your Xen boot doesn't require an initrd, then it is possible to utilize the existing kernel/append method. Another use case for mboot.c32 is to boot FreeBSD ELF kernels with rootfs.
Requirements
- working Syslinux environment
- mboot.c32
Syntax
mboot.c32 stage1 stage1_args --- stage2 stage2_args --- stage3 stage3_args [ --- stageX stageX_args ]
The use of --- (three dashes) to separate the individual files is required.
Examples
Xen
Here is an example pxelinux.cfg file for booting Xen
LABEL xen KERNEL mboot.c32 APPEND xen-3.2.gz dom0_mem=262144 --- vmlinuz-2.6.16-2-xen-686 console=tty0 root=/dev/md1 ro --- initrd.img-2.6.16-2-xen-686
FreeBSD
http://www.syslinux.org/archives/2009-April/012341.html
LABEL freebsd KERNEL mboot.c32 APPEND freebsd_kernel kernel_option kernel_option --- freebsd_initial_ramdisk
NetBSD
http://raw.github.com/Statix/Docs/master/BSD/Netbsd_mulitiboot_with_syslinux.sh
LABEL netbsd COM32 mboot.c32 APPEND /netbsd-INSTALL.gz
Other NetBSD kernels, such as "INSTALL" or "TINY_INSTALL", should also be possible options.