boot0cfg on does not set default selection on gmirror device

Ian Smith smithi at nimnet.asn.au
Sat Oct 22 03:37:06 UTC 2016


On Fri, 21 Oct 2016 20:47:20 +0200, Patrick M. Hausen wrote:

Again, trouble quoting your message properly, so quotes by hand ..

 > I set the flag, then tried to change the slice from 1 to 2.
 > Result:
[..]
 > root at hd45:~ # boot0cfg -v mirror/m0
 > #   flag     start chs   type       end chs       offset         size
 > 1   0x80      1:  0: 1   0xa5   1022:254:63        16065     16418430
 > 2   0x00   1023:  0: 1   0xa5   1020:254:63     16434495     16418430
 > 3   0x00   1021:  0: 1   0xa5    768:254:63     32852925   1920667140
 >
 > version=1.0  drive=0x80  mask=0xf  ticks=182  bell=  (0x7)
 > options=packet,update,nosetdrv
 > default_selection=F1 (Slice 1)
 >
 > So again, no change.

In my previous message I said that the boot selection would be stored in 
0x1b5.  That was ASSuming we'd be looking at a version=2.0 boot0, which 
from the above is not the case.  For version=1.0 that byte is at 0x1b9.

Discombobulating the dump:

0x1b0: 66 bb 44 72 69 76 65 20 b1 01 80 8f b6 00 80 00
                      v2          v1             ^active
0x1c0: 01 01 a5 fe ff fe c1 3e 00 00 7e 86 fa 00 00 00
0x1d0: c1 ff a5 fe ff fc 3f c5 fa 00 7e 86 fa 00 00 00
0x1e0: c1 fd a5 fe ff 00 bd 4b f5 01 04 0e 7b 72 00 00
0x1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa

So 0x1b9 = 1, +1 = 2 (for F2).  It appears correct in the dump but not 
in what boot0cfg then reports.

I wonder two things:

 Do 'boot0cfg -v ada0' and 'boot0cfg -v ada1' both report the same?

 Might it work properly if you upgraded the boot sectors to version 2, 
which is what you should get if you reinstall from current boot0cfg, 
presumably without touching the MBR data, but you'll have backups ..

Only noticing because I made a memstick with boot0 the other day from 
FreeBSD 9.3 and it showed version=2.0 with a (dummy) volume serial ID, 
the same time as finding that setting active with gpart had no effect.

cheers, ian


More information about the freebsd-stable mailing list