2009-12-05 19:29:10 +03:00
|
|
|
.\" $NetBSD: kloader.4,v 1.3 2009/12/05 16:29:11 pooka Exp $
|
2004-04-03 06:33:40 +04:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 2004 Valeriy E. Ushakov
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Neither the name of the author nor the names of any
|
|
|
|
.\" contributors may be used to endorse or promote products derived
|
|
|
|
.\" from this software without specific prior written permission.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS
|
|
|
|
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
|
|
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
|
|
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
|
|
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
|
|
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
|
|
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
|
|
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
|
|
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
|
|
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
|
|
.\" POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
.\"
|
|
|
|
.Dd April 3, 2004
|
|
|
|
.Dt KLOADER 4
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm kloader
|
|
|
|
.Nd in-kernel bootloader
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Cd options KLOADER
|
|
|
|
.Cd options KLOADER_KERNEL_PATH="\e"/netbsd\e""
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
is the in-kernel bootloader for platforms that do not have a proper
|
|
|
|
firmware.
|
|
|
|
.Pp
|
|
|
|
Some platforms supported by
|
|
|
|
.Nx
|
2004-04-03 19:19:49 +04:00
|
|
|
do not have a firmware that can boot the
|
2004-04-03 06:33:40 +04:00
|
|
|
.Nx
|
|
|
|
kernel.
|
2009-12-05 19:29:10 +03:00
|
|
|
Examples are game consoles (dreamcast port), and
|
2004-04-03 06:33:40 +04:00
|
|
|
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
|
|
|
|
.Nx
|
|
|
|
is a lengthy process of booting into the native OS first,
|
|
|
|
launching the bootloader program, and finally booting
|
|
|
|
.Nx
|
|
|
|
again.
|
|
|
|
This problem is addressed by
|
|
|
|
.Nm ,
|
2004-04-03 19:19:49 +04:00
|
|
|
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.
|
2004-04-03 06:33:40 +04:00
|
|
|
.Pp
|
|
|
|
When
|
|
|
|
.Nm
|
|
|
|
is configured into the kernel, a call to
|
|
|
|
.Xr reboot 2
|
|
|
|
causes the
|
|
|
|
.Nm
|
|
|
|
to load the new kernel into memory, and arrange for control to be
|
|
|
|
passed to the new kernel \(em just like a standalone bootloader does.
|
2004-04-03 19:19:49 +04:00
|
|
|
The new kernel then boots in the ordinary manner.
|
2004-04-03 06:33:40 +04:00
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr reboot 2 ,
|
|
|
|
.Xr boot 8 ,
|
|
|
|
.Xr reboot 8
|
|
|
|
.Sh HISTORY
|
|
|
|
.Nm
|
|
|
|
first appeared in
|
|
|
|
.Nx 1.6 .
|
|
|
|
.Sh BUGS
|
|
|
|
.Nm
|
|
|
|
ignores
|
|
|
|
.Fa howto
|
|
|
|
and
|
|
|
|
.Fa bootstr
|
|
|
|
arguments passed to the
|
|
|
|
.Xr reboot 2
|
2004-04-03 19:19:49 +04:00
|
|
|
system call, and reboots the system with the previous boot settings.
|
2004-04-03 06:33:40 +04:00
|
|
|
.Pp
|
|
|
|
.Nm
|
|
|
|
doesn't support booting compressed kernels.
|
|
|
|
.Pp
|
|
|
|
The hpcarm port doesn't support
|
|
|
|
.Nm
|
|
|
|
yet.
|