tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Boot wedges
So far, the netbsd kernel supported several methods to determine a
root disk.
1. A literal device denoted by major/minor number in the
kernel configuration.
2. A literal device name in the kernel configuration. The kernel
accepts either a driver+unit string (e.g. "sd0") or the
string "wedge:name-of-wedge" to look up a wedge by name (*).
3. Interactively query the device name on the console. The kernel
accepts the same strings as in 2.
4. Use the boot device and partition number, MD code interprets
information from the boot loader to determine a device (driver/unit)
and partition number.
5. Use the boot device and an offset/size pair, MD code interprets
information from the boot loader to determine a disk device
and partition or a wedge that matches the offset/size.
I have added another option. The bootloader may pass a string
that is interpreted as in 2. or 3. Like the other options, the
data is passed in a global variable from MD to MI code.
Previously defined variables are:
boothowto - boot flags
booted_device - the boot disk and unit
booted_partition - the boot partition
booted_startblk - the offset of the boot partition
booted_nblks - the sizee of the boot partition
Now there is also:
bootspec - the name of the boot device
This allows f.e. the evbarm bootloader to specify a root device
by (wedge-)name.
The x86 multiboot code could also be modified to pass a string
to specify the root device by name. Currently it interprets
the string as a device name and unit only.
(*) The config program currently does not parse wedge names.
Home |
Main Index |
Thread Index |
Old Index