| CPU_ROOTCONF(9) | Kernel Developer's Manual | CPU_ROOTCONF(9) |
cpu_rootconf,
rootconf, setroot —
root file system setup
#include
<sys/types.h>
#include <sys/systm.h>
void
cpu_rootconf(void);
void
rootconf(void);
void
setroot(device_t
bootdv, int
bootpartition);
The
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. cpu_rootconf() provides the global
variables booted_device,
booted_partition,
booted_startblk, booted_nblks,
and bootspec. cpu_rootconf
invokes the machine-independent function rootconf
which calls the function setroot to record the root
device and the root partition information for use in machine-independent
code.
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.
If the bootloader already identified a disk wedge, it passes a non-zero value for booted_nblks, then booted_startblk and booted_nblks specify a disk wedge as the boot device.
setroot evaluates several sources to identify the root device in the following order until a valid device is selected:
RB_ASKNAME. The input uses the same syntax as the
previous sources. Here also the kernel dump device is queried.If a root device cannot be selected, setroot
sets the RB_ASKNAME flag and loops.
Otherwise the kernel dump device is identified in a similar manner from
| November 11, 2014 | NetBSD 11.0 |