On Sat, Oct 26, 2013 at 01:41:46PM -0500, Adam Thompson wrote:
> I recently followed the most up-to-date guidance I could find on booting
> OpenBSD off softraid(4), and *everything* I found showed that I needed
> the kernel on a separate slice so boot(8) could find it.
>
> For that matter, boot(8), boot_amd64(8) and biosboot(8) all fail to
> mention the special behaviour of installboot(8) on softraid(4), so I
> have - AFAIK - no way of discovering that OpenBSD can boot directly off
> a softraid(4) root partition.
>
> Yeah, I know - submit a patch. I'm having trouble figuring out
> precisely what to say where. I'm hoping it's obvious to someone else...
>
> <whine>I know OpenBSD borrows useful concepts from Linux from time to
> time, but not keeping the manpages up to date isn't a "feature" I'd like
> to see brought over to the BSD world. One of the fundamentals of OpenBSD
> has historically been correct documentation.</whine>
As of 5.4 the softraid(4) man page has a related paragraph in
the CAVEATS section:
softraid has boot support only for the CRYPTO and RAID 1
disciplines, and only on amd64 and i386 platforms.
This diff makes this notice more prominent and adds some details
and cross references. Good enough?
Index: share/man/man4/softraid.4
===================================================================
RCS file: /cvs/src/share/man/man4/softraid.4,v
retrieving revision 1.31
diff -u -p -r1.31 softraid.4
--- share/man/man4/softraid.4 12 Mar 2013 14:00:57 -0000 1.31
+++ share/man/man4/softraid.4 27 Oct 2013 12:51:07 -0000
@@ -107,6 +107,21 @@ discipline.
It writes data to each chunk in sequence to provide increased capacity.
CONCAT does not provide redundancy.
.El
+.Pp
+.Xr installboot 8
+may be used to install
+.Xr boot 8
+in
+.Nm
+volume meta data to allow booting from the volume.
+Boot support is currently limited to the CRYPTO and RAID 1 disciplines
+on amd64 and i386 platforms.
+At the
+.Xr boot 8
+prompt, softraid volumes have names beginning with
+.Sq sr
+and can be booted from like a normal disk device.
+CRYPTO volumes will require a decryption passphrase or keydisk at boot time.
.Sh EXAMPLES
An example to create a 3 chunk RAID 1 from scratch is as follows:
.Pp
@@ -153,11 +168,26 @@ The RAID volume is now ready to be used
See
.Xr bioctl 8
for more information on configuration of RAID sets.
+.Pp
+Install
+.Xr boot 8
+on the RAID volume:
+.Bd -literal -offset indent
+# /usr/mdec/installboot /boot /usr/mdec/biosboot sd0
+.Ed
+.Pp
+At the
+.Xr boot 8
+prompt, load the /bsd kernel from the RAID volume:
+.Bd -literal -offset indent
+boot> boot sr0a:/bsd
+.Ed
.Sh SEE ALSO
.Xr bio 4 ,
.Xr bioctl 8 ,
.Xr disklabel 8 ,
.Xr fdisk 8 ,
+.Xr installboot 8 ,
.Xr newfs 8
.Sh HISTORY
The
@@ -177,10 +207,6 @@ The RAID 4 and 5 disciplines do not init
This is due to the scrub functionality not being currently implemented.
.Pp
Currently there is no automated mechanism to recover from failed disks.
-.Pp
-.Nm
-has boot support only for the CRYPTO and RAID 1 disciplines,
-and only on amd64 and i386 platforms.
.Pp
Sparc hardware needs to use fstype
.Dq 4.2BSD
Index: sys/arch/amd64/stand/boot/boot.8
===================================================================
RCS file: /cvs/src/sys/arch/amd64/stand/boot/boot.8,v
retrieving revision 1.18
diff -u -p -r1.18 boot.8
--- sys/arch/amd64/stand/boot/boot.8 27 Sep 2012 12:26:28 -0000 1.18
+++ sys/arch/amd64/stand/boot/boot.8 27 Oct 2013 12:35:12 -0000
@@ -138,6 +138,11 @@ attempts to load the kernel executable
.Pa /bsd .
If it fails to find the kernel and no alternative kernel image has
been specified, the system will be unable to boot.
+.Pp
+.Nm
+supports booting from
+.Xr softraid 4
+RAID 1 and CRYPTO volumes.
.Sh COMMANDS
The following commands are accepted at the
.Nm
@@ -377,6 +382,7 @@ option.
.Xr gzip 1 ,
.Xr autoconf 4 ,
.Xr ddb 4 ,
+.Xr softraid 4 ,
.Xr biosboot 8 ,
.Xr boot_amd64 8 ,
.Xr boot_config 8 ,
Index: sys/arch/i386/stand/boot/boot.8
===================================================================
RCS file: /cvs/src/sys/arch/i386/stand/boot/boot.8,v
retrieving revision 1.55
diff -u -p -r1.55 boot.8
--- sys/arch/i386/stand/boot/boot.8 27 Sep 2012 12:26:28 -0000 1.55
+++ sys/arch/i386/stand/boot/boot.8 27 Oct 2013 12:32:54 -0000
@@ -138,6 +138,11 @@ attempts to load the kernel executable
.Pa /bsd .
If it fails to find the kernel and no alternative kernel image has
been specified, the system will be unable to boot.
+.Pp
+.Nm
+supports booting from
+.Xr softraid 4
+RAID 1 and CRYPTO volumes.
.Sh COMMANDS
The following commands are accepted at the
.Nm
@@ -377,6 +382,7 @@ option.
.Xr gzip 1 ,
.Xr autoconf 4 ,
.Xr ddb 4 ,
+.Xr softraid 4 ,
.Xr biosboot 8 ,
.Xr boot_config 8 ,
.Xr boot_i386 8 ,