Mboot.c32

From Syslinux Wiki
Jump to: navigation, search


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.