On Sat, Sep 03, 2022 at 06:12:16PM +0000, Klemens Nanni wrote: > The current text is badly formatted and incomplete as to which optional > parts can be omitted in which way > > The file specification used is of the form: > promdev:partition/filename options > where: ???promdev??? is an optional Open Firmware device name (such as > ???hd??? > or ???ide???) and ???partition??? is an optional disk partition number. > Normal > line editing characters can be used when typing the file specification. > > 1. 'partition' seems like an artifact that is not at all parsed as such, > see sys/arch/macppc/stand/ ofwdev.c and main.c where the double colon is > parsed; the comments confirm this with > * this function is passed [device specifier]:[kernel] > and > * if the kernel image specified contains a ':' it is > * [device]:[kernel], so separate the two fields. > > Manual tests confirm this. > > 2. if promdev is given, the double-colon MUST exist.
double colon? > 'boot hd' tries to boot the kernel "hd" > 'boot hd:' tries to boot the kernel "hd:" > 'boot hd:/bsd' does what it says > 'boot hd:bsd' is equivalent to the previous line since ofwboot prepends > trailing slashes; don't document to keep it simple > > 3. no vertical spacing makes the manual harder to read. > > We could zap the entire specification and rely on wording, similar to what > boot_sparc64(8) does, but I prefer fixing the specification by removing > partition from it and adding proper markup, yielding: > > The file specification used is of the form: > > [promdev:]filename [-acds] > > where promdev is an optional Open Firmware device name (such as hd or > ide). Normal line editing characters can be used when typing the file > specification. > > That should be much clearer. > > gkoehler greatly helped in confirming/testing various lines on his hardware. > > Feedback? Objection? OK? > ok by me, but you probably want a technical ok as well. jmc > NB: boot(8/macppc) also mentions this, but some parts are plain wrong... > I suggest fixing that in a separate diff. > > > Index: share/man/man8/man8.macppc/boot_macppc.8 > =================================================================== > RCS file: /cvs/src/share/man/man8/man8.macppc/boot_macppc.8,v > retrieving revision 1.21 > diff -u -p -r1.21 boot_macppc.8 > --- share/man/man8/man8.macppc/boot_macppc.8 14 Feb 2014 12:18:27 -0000 > 1.21 > +++ share/man/man8/man8.macppc/boot_macppc.8 3 Sep 2022 18:08:42 -0000 > @@ -93,16 +93,15 @@ If the special line > is entered, the bootloader will attempt to restart the machine. > .Pp > The file specification used is of the form: > -.Dl promdev:partition/filename options > -where: > -.Dq promdev > +.Pp > +.Dl Oo Ar promdev : Oc Ns Ar filename Op Fl acds > +.Pp > +where > +.Ar promdev > is an optional Open Firmware device name (such as > .Dq hd > or > -.Dq ide ) > -and > -.Dq partition > -is an optional disk partition number. > +.Dq ide ) . > Normal line editing characters can be used when typing the file > specification. > .Pp > Index: sys/arch/macppc/stand//ofdev.c > =================================================================== > RCS file: /cvs/src/sys/arch/macppc/stand/ofdev.c,v > retrieving revision 1.26 > diff -u -p -r1.26 ofdev.c > --- sys/arch/macppc/stand//ofdev.c 11 Mar 2021 11:16:59 -0000 1.26 > +++ sys/arch/macppc/stand//ofdev.c 3 Sep 2022 17:45:13 -0000 > @@ -55,7 +55,6 @@ char opened_name[256]; > > /* > * this function is passed [device specifier]:[kernel] > - * however a device specifier may contain a ':' > */ > static int > parsename(char *str, char **file) >
