KLOADER(4) | Device Drivers 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 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.

April 3, 2004 | NetBSD 9.2