On Wed, Dec 22, 2021 at 05:29:34PM +0100, Tilo Stritzky wrote:
> (With an MBR disk you could force feed a handcrafted disklabel but
> that won't work here because on a GPT disk without OpenBSD partition
> the disklabel and the primary GPT share a physical sector and that
> won't work.)

That is incorrect.

At one time, the disklabel program would try to write it to the second block, 
I.E. the sector after the MBR.  This would indeed fail if a GPT was already 
there.

However, if you test this on OpenBSD 7.0-release, you will see that the 
disklabel will happily be written elsewhere:

# dd if=/dev/zero of=/tmp/vd bs=1m count=512
# vnconfig vnd0 /tmp/vd
# fdisk -e vnd0 # Create a non-OpenBSD GPT partition
# disklabel -E vnd0 # Write the disklabel to the media
# hexdump -C /tmp/vd

00000000  ea 05 00 c0 07 8c c8 8e  d0 bc fc ff 8e d8 b8 a0  |................|
00000010  07 8e c0 31 f6 31 ff b9  00 02 fc f3 a4 ea 22 00  |...1.1........".|
00000020  a0 07 1e 07 0e 1f b4 02  cd 16 a8 03 74 0d b0 07  |............t...|
00000030  e8 de 00 67 80 0d b4 01  00 00 01 f6 c2 80 75 08  |...g..........u.|
00000040  be 49 01 e8 bf 00 b2 80  be be 01 b9 04 00 8a 04  |.I..............|
00000050  3c 80 74 0f 83 c6 10 e2  f5 be 7d 01 e8 a6 00 fb  |<.t.......}.....|
00000060  f4 eb fc 88 d0 24 0f 04  30 a2 3a 01 b0 34 28 c8  |.....$..0.:..4(.|
00000070  a2 47 01 56 be 2d 01 67  f6 05 b4 01 00 00 01 75  |.G.V.-.g.......u|
00000080  01 46 e8 80 00 5e 26 67  c7 05 fe 01 00 00 00 00  |.F...^&g........|
00000090  67 f6 05 b4 01 00 00 01  75 34 88 14 bb aa 55 b4  |g.......u4....U.|
000000a0  41 cd 13 8a 14 72 27 81  fb 55 aa 75 21 f6 c1 01  |A....r'..U.u!...|
000000b0  74 1c b0 2e e8 5a 00 66  8b 4c 08 67 66 89 0d 25  |t....Z.f.L.gf..%|
000000c0  01 00 00 56 b4 42 be 1d  01 cd 13 5e 73 1a b0 3b  |...V.B.....^s..;|
000000d0  e8 3e 00 8a 74 01 8b 4c  02 b8 01 02 31 db cd 13  |.>..t..L....1...|
000000e0  73 06 be 65 01 e9 74 ff  be 90 01 e8 17 00 26 67  |s..e..t.......&g|
000000f0  81 3d fe 01 00 00 55 aa  75 05 ea 00 7c 00 00 be  |.=....U.u...|...|
00000100  74 01 e9 57 ff 50 fc ac  84 c0 74 0f e8 02 00 eb  |t..W.P....t.....|
00000110  f6 50 53 b4 0e bb 01 00  cd 10 5b 58 c3 10 00 01  |.PS.......[X....|
00000120  00 00 00 c0 07 00 00 00  00 00 00 00 00 21 55 73  |.............!Us|
00000130  69 6e 67 20 64 72 69 76  65 20 58 2c 20 70 61 72  |ing drive X, par|
00000140  74 69 74 69 6f 6e 20 59  00 4d 42 52 20 6f 6e 20  |tition Y.MBR on |
00000150  66 6c 6f 70 70 79 20 6f  72 20 6f 6c 64 20 42 49  |floppy or old BI|
00000160  4f 53 0d 0a 00 0d 0a 52  65 61 64 20 65 72 72 6f  |OS.....Read erro|
00000170  72 0d 0a 00 4e 6f 20 4f  2f 53 0d 0a 00 4e 6f 20  |r...No O/S...No |
00000180  61 63 74 69 76 65 20 70  61 72 74 69 74 69 6f 6e  |active partition|
00000190  0d 0a 00 90 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001b0  00 00 00 00 00 00 4f 78  00 00 00 00 00 00 00 ff  |......Ox........|
000001c0  ff ff ee ff ff ff 01 00  00 00 ff ff ff ff 00 00  |................|
000001d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200  45 46 49 20 50 41 52 54  00 00 01 00 5c 00 00 00  |EFI PART....\...|
00000210  65 43 91 cc 00 00 00 00  01 00 00 00 00 00 00 00  |eC..............|
00000220  ff ff 0f 00 00 00 00 00  22 00 00 00 00 00 00 00  |........".......|
00000230  de ff 0f 00 00 00 00 00  f2 63 79 02 b9 99 39 48  |.........cy...9H|
00000240  99 97 2e 77 79 98 35 f5  02 00 00 00 00 00 00 00  |...wy.5.........|
00000250  80 00 00 00 80 00 00 00  a7 be 55 7f 00 00 00 00  |..........U.....|
00000260  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000400  a2 a0 d0 eb e5 b9 33 44  87 c0 68 b6 b7 26 99 c7  |......3D..h..&..|
00000410  41 60 b8 b5 2b 54 10 41  ba 44 ee f8 3e 55 7b 50  |A`..+T.A.D..>U{P|
00000420  22 00 00 00 00 00 00 00  de ff 0f 00 00 00 00 00  |"...............|
00000430  00 00 00 00 00 00 00 00  66 00 6f 00 6f 00 00 00  |........f.o.o...|
00000440  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*

vvv BSD disklabel here vvv

00004600  57 45 56 82 0c 00 00 00  76 6e 64 20 64 65 76 69  |WEV.....vnd devi|
00004610  63 65 00 00 00 00 00 00  66 69 63 74 69 74 69 6f  |ce......fictitio|
00004620  75 73 00 00 00 00 00 00  00 02 00 00 64 00 00 00  |us..........d...|
00004630  01 00 00 00 f5 28 00 00  64 00 00 00 00 00 10 00  |.....(..d.......|
00004640  38 88 61 0e cf 69 90 5f  00 00 00 00 00 00 00 00  |8.a..i._........|
00004650  22 00 00 00 df ff 0f 00  00 00 00 00 00 00 00 00  |"...............|
00004660  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00004670  00 00 01 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00004680  00 00 00 00 57 45 56 82  97 e8 10 00 00 20 00 00  |....WEV...... ..|
00004690  00 00 01 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000046a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000046b0  00 00 00 00 00 00 10 00  00 00 00 00 00 00 00 00  |................|
000046c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00004710  00 00 00 00 bd ff 0f 00  22 00 00 00 00 00 00 00  |........".......|
00004720  08 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00004730  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

^^^ BSD disklabel here ^^^

*
1fffbe00  a2 a0 d0 eb e5 b9 33 44  87 c0 68 b6 b7 26 99 c7  |......3D..h..&..|
1fffbe10  41 60 b8 b5 2b 54 10 41  ba 44 ee f8 3e 55 7b 50  |A`..+T.A.D..>U{P|
1fffbe20  22 00 00 00 00 00 00 00  de ff 0f 00 00 00 00 00  |"...............|
1fffbe30  00 00 00 00 00 00 00 00  66 00 6f 00 6f 00 00 00  |........f.o.o...|
1fffbe40  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
1ffffe00  45 46 49 20 50 41 52 54  00 00 01 00 5c 00 00 00  |EFI PART....\...|
1ffffe10  61 46 22 48 00 00 00 00  ff ff 0f 00 00 00 00 00  |aF"H............|
1ffffe20  01 00 00 00 00 00 00 00  22 00 00 00 00 00 00 00  |........".......|
1ffffe30  de ff 0f 00 00 00 00 00  f2 63 79 02 b9 99 39 48  |.........cy...9H|
1ffffe40  99 97 2e 77 79 98 35 f5  df ff 0f 00 00 00 00 00  |...wy.5.........|
1ffffe50  80 00 00 00 80 00 00 00  a7 be 55 7f 00 00 00 00  |..........U.....|
1ffffe60  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
20000000

Reply via email to