Subject: Re: How to warn about disks with obsolescent MBR id 165?
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Robert V. Baron <rvb@cs.cmu.edu>
List: port-i386
Date: 11/09/1998 12:00:05
Jonathan Stone <jonathan@DSG.Stanford.EDU> writes:

> It's no secret that we're transitioning from the 386bSD MBR-id of 165
> to our very own ID of 169.
> 
> Getting a short, but adequately informative message about the old
> partition is hard.  the 
> 
> 	  printf("WARNING: old BSD partition ID!\n");
> 
> is not working well. One suggestion is:
> 
> "WARNING: MBR ID 165 is obsolete. Please update to 169. See installboot(8)."
> 
> 
> Which I think is fine except for one detail.  If we do this on a
> two-disk system with NetBSD on one disk (with either ID) and with
> FreeBSD on a second disk, the NetBSD kernel will warn about changing
> the _FreeBSD_ dissk' ID to 169.
Why would this happen if netbsd did not read the disk.

> 
> Since this is more-or-less the only way to have FreeBSD and NetBSD
> coexist without tracking -current, that seems like a potential
> problem-- especially since the message doesnt have the device name.
> 
> So I prefer something like
> 
> WARNING: MBR ID 165 for NetBSD is obsolete. See installboot(8) for upgrading.
I like this message.  It is very clear.

> 
> which assumes that installboot(8) says something coherent about 
> 
>   a) updating NetBSD MBR-partition bootblocks, and then
>   b) changing NetBSD MBR IDs (and those only) to 169, and
>   c) the loss of backwards compatiblity with 1.3.2 and earlier kernels.
> 
> 
> Also, I just realized that switching to 169 means that, in this
> two-disks, one-for-each setup, FreeBSD wont be able to read NetBSD
> disks anymore.  Will that cause problems for anyone?
Fraid not.  FreeBSD seems to look for a disklabel rather than the
partition id.  So it (3.0 -current) is forever telling me:
wd0s4: rejecting partition in BSD label: it isn't entirely within the slice
wd0s4: start 5499648, end 7999487, size 2499840
wd0s4d: start 0, end 8007551, size 8007552
wd0s4: rejecting partition in BSD label: it isn't entirely within the slice
wd0s4g: start 63, end 1999871, size 1999809
when it sees my 169 partition