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 port), 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) system 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.