summaryrefslogtreecommitdiff
path: root/static/netbsd/man9/cpu_rootconf.9
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man9/cpu_rootconf.9')
-rw-r--r--static/netbsd/man9/cpu_rootconf.9140
1 files changed, 140 insertions, 0 deletions
diff --git a/static/netbsd/man9/cpu_rootconf.9 b/static/netbsd/man9/cpu_rootconf.9
new file mode 100644
index 00000000..85364288
--- /dev/null
+++ b/static/netbsd/man9/cpu_rootconf.9
@@ -0,0 +1,140 @@
+.\" $NetBSD: cpu_rootconf.9,v 1.10 2014/11/26 20:46:46 wiz Exp $
+.\"
+.\" Copyright (c) 2002 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Gregory McGarry.
+.\"
+.\" 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. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 November 11, 2014
+.Dt CPU_ROOTCONF 9
+.Os
+.Sh NAME
+.Nm cpu_rootconf ,
+.Nm rootconf ,
+.Nm setroot
+.Nd root file system setup
+.Sh SYNOPSIS
+.In sys/types.h
+.In sys/systm.h
+.Ft void
+.Fn cpu_rootconf "void"
+.Ft void
+.Fn rootconf "void"
+.Ft void
+.Fn setroot "device_t bootdv" "int bootpartition"
+.Sh DESCRIPTION
+The
+.Fn cpu_rootconf
+is a machine-dependent interface invoked during system bootstrap to
+determine the root file system device and initialize machine-dependent
+file system state.
+.Fn cpu_rootconf
+provides the global variables
+.Fa booted_device ,
+.Fa booted_partition ,
+.Fa booted_startblk ,
+.Fa booted_nblks ,
+and
+.Fa bootspec .
+.Fa cpu_rootconf
+invokes the machine-independent function
+.Fa rootconf
+which calls the function
+.Fa setroot
+to record the root device and the root partition information
+for use in machine-independent code.
+.Pp
+.Fa rootconf
+may adjust the global variables and determines the parameters
+for setroot.
+This is for example used to translate a device
+and partition number provided by the bootloader into a disk
+wedge device covering the same partition.
+.Pp
+If the bootloader already identified a disk wedge, it passes
+a non-zero value for
+.Fa booted_nblks ,
+then
+.Fa booted_startblk
+and
+.Fa booted_nblks
+specify a disk wedge as the boot device.
+.Pp
+.Fa setroot
+evaluates several sources to identify the root device in the
+following order until a valid device is selected:
+.Bl -enum
+.It
+The kernel configuration variable
+.Fa rootspec
+which is set by
+.Xr config 1 .
+The value is the name and unit of the root device, e.g., "sd0" (disk)
+or "dk0" (wedge) or "le0" (network) or the prefix "wedge:" followed
+by the name of the disk wedge.
+For disk devices the partition passed as argument to
+.Fa setroot
+is used.
+.It
+The variable
+.Fa bootspec
+following the same syntax.
+.It
+The result of an interactive query of the root device if
+.Fa boothowto
+has set the flag
+.Dv RB_ASKNAME .
+The input uses the same syntax as the previous sources.
+Here also the kernel dump device is queried.
+.It
+The boot device and partition passed as arguments.
+.El
+.Pp
+If a root device cannot be selected,
+.Fa setroot
+sets the
+.Dv RB_ASKNAME
+flag and loops.
+.Pp
+Otherwise the kernel dump device is identified in a similar
+manner from
+.Bl -enum
+.It
+The result of a previous interactive query.
+See above.
+.It
+The kernel configuration variable
+.Fa dumpspec ,
+if set.
+.It
+The second partition of the root device, if it is a regular disk.
+.It
+The first disk wedge device of type DKW_PTYPE_SWAP.
+.El
+.Sh SEE ALSO
+.Xr config 1 ,
+.Xr dk 4 ,
+.Xr boot 8 ,
+.Xr boothowto 9