KLOADER(4)              NetBSD Kernel Interfaces Manual             KLOADER(4)

NAME
     kloader -- in-kernel bootloader

SYNOPSIS
     options KLOADER
     options KLOADER_KERNEL_PATH="\"/netbsd\""

DESCRIPTION
     The kloader is the in-kernel bootloader for platforms that do not have a
     proper firmware.

     Some platforms supported by NetBSD do not have a firmware that can boot
     the NetBSD kernel.  Examples are game consoles (dreamcast and playsta-
     tion2 ports), and handhelds (hpcarm, hpcmips, and hpcsh ports).  On such
     platforms the bootloader is usually a host program that runs under the
     native OS.  This means that rebooting NetBSD is a lengthy process of
     booting into the native OS first, launching the bootloader program, and
     finally booting NetBSD again.  This problem is addressed by kloader,
     which allows the currently running kernel to serve as a bootloader for
     the kernel being booted, thus avoiding the burden of booting into the
     native OS first.

     When kloader is configured into the kernel, a call to reboot(2) causes
     the kloader to load the new kernel into memory, and arrange for control
     to be passed to the new kernel -- just like a standalone bootloader does.
     The new kernel then boots in the ordinary manner.

SEE ALSO
     reboot(2), boot(8), reboot(8)

HISTORY
     kloader first appeared in NetBSD 1.6.

BUGS
     kloader ignores howto and bootstr arguments passed to the reboot(2) sys-
     tem call, and reboots the system with the previous boot settings.

     kloader doesn't support booting compressed kernels.

     The hpcarm port doesn't support kloader yet.

NetBSD 5.0_STABLE                April 3, 2004               NetBSD 5.0_STABLE
