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 playstation2 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) 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.