Ian Smith
2016-Oct-22 03:36 UTC
boot0cfg on does not set default selection on gmirror device
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
Patrick M. Hausen
2016-Oct-23 13:53 UTC
boot0cfg on does not set default selection on gmirror device
Hi, Ian,> Am 22.10.2016 um 05:36 schrieb Ian Smith <smithi at nimnet.asn.au>: > [...] > I wonder two things: > > Do 'boot0cfg -v ada0' and 'boot0cfg -v ada1' both report the same?OK, situation before I try to change anything: root at hd45:~ # boot0cfg -v mirror/m0 [...] default_selection=F1 (Slice 1) root at hd45:~ # boot0cfg -v ada0 [...] default_selection=F1 (Slice 1) root at hd45:~ # boot0cfg -v ada1 [...] default_selection=F1 (Slice 1) Now try to change it to F2 through the mirror device: root at hd45:~ # boot0cfg -s 2 mirror/m0 # No error message or other indication that something went wrong! root at hd45:~ # boot0cfg -v mirror/m0 [...] default_selection=F1 (Slice 1) root at hd45:~ # boot0cfg -v ada0 [...] default_selection=F1 (Slice 1) root at hd45:~ # boot0cfg -v ada1 [...] default_selection=F1 (Slice 1)> 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 ..Well ... root at hd45:~ # boot0cfg -B mirror/m0 root at hd45:~ # boot0cfg -s 2 mirror/m0 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=2.0 drive=0x80 mask=0xf ticks=182 bell=# (0x23) options=packet,update,nosetdrv volume serial ID b100-808f default_selection=F2 (Slice 2) root at hd45:~ # boot0cfg -v ada0 [...] default_selection=F2 (Slice 2) root at hd45:~ # boot0cfg -v ada1 [...] default_selection=F2 (Slice 2) Revert the change: root at hd45:~ # boot0cfg -s 1 mirror/m0 root at hd45:~ # boot0cfg -v mirror/m0 [...] default_selection=F1 (Slice 1) That did it! These machines have been in production for some time starting with FreeBSD 8.x and have been upgraded via NanoBSD style dd followed by reboot all the time up to 10.3, now. Hence I never touched the bootcode. Actual reboot of this production machine in two weeks when we run our regular updates. But I expect that to "just work". Patrick -- punkt.de GmbH * Kaiserallee 13a * 76133 Karlsruhe Tel. 0721 9109 0 * Fax 0721 9109 100 info at punkt.de http://www.punkt.de Gf: J?rgen Egeling AG Mannheim 108285