Warner -- thanks...

On Sun, Dec 31, 2023 at 5:07 PM Warner Losh <imp@bsdimp.com> wrote:


Except I can't find any of this in our V7m or ultrix-11 that we have. This is 2.1. And there all the device drivers still have the fixed tables:
....

and the ultrix-11 3.1 sources we have are similar, but move all of the above into /usr/sys/conf/dksizes.c.
I remember dksizes.c -- I'll take your word for it being 3.X, not 2.X; I'm pretty sure that was the start of the work in Merrimack by Fred Cantor to make things more independent. Shannon would have been aware of all of it, and before he went to Sun, he and Jean were working with the folks at CSRG (Sam, in particular), moving some of the DEC I/O support into BSD.   Bill Munson convinced his management that it was worth it for DEC to at least make sure the DEC peripherals were being well handled and in mostly the same manner.  IIRC Jean spent 6-9 months embedded in the CSRG working on much of that.



The early disktab stuff encoded the default tables into a text file to make it easier to cope with all the different types of disks, but didn't affect what we know as bsdlabels until after 4.3BSD.
Right.

 
The naming convention was there, but the 'write bits to the disk to describe partitioning' I couldn't find at all in ultrix. I think you may be confusing that stuff (which was a very clever way to cope with all these disks that have different partitioning in a increasingly generic way) with disk labeling which I think.
Quite possible.

The key is that partitioning the disk to allow its use for different things and disk geometry support get all mixed together in the different schemes.   As we discussed, it often happens in multiple places (since the ROMs, like the PC's BIOS, need at least some of the info at boot), and the loaded OS (particularly ones with multiple OSs on them) might want to do something completely different.     This is why Grant's question is a little hard to answer directly - as I said, it is a long, slow trip.

UNIX Partitioning, like what Dennis did, came first.  If you look at PDP-11 and later Vaxen, the "disk support" for booting is pretty crude and built into the ROM -- i.e., boot RP0 or RK0 -- the "disk geometry" is hidden in the Boot ROM.   But when so many disks start to show up using the same controllers, the ROM needs to be smarter.  So, some way to encode geometry is needed.  But Partitioning for the OS is still something that is handy and so often got put into the same support (such as the PC's BIOS tables - which were a good idea, poorly executed).

 


 
Sun was first to market with.
To be fair, Masscomp's "disk geometry" code that Paul Cantrell wrote pre-dated Sun by at least a year or more.  I did not include it in my history, as it is private to their boot ROM.  Nice scheme, actually - but proprietary, and I don't think any of the ideas went anywhere else - other than later Sun ROMs supported a similar functionality, and they would have at least seen them at customers and known about it, particularly since Sun picked up the Xylogic disk and tape controllers that they developed for Masscomp originally (Paul spent many hours at Xylogics helping with their Microcode).    The point is, by that time, the proliferation of different disk manufacturers -- something to make the boot ROMs and OS's more independent was forced on the different systems providers if they were going to have any chance of being able to be flexible in the market/field.

 

Maybe you can help me find it?
I'll see what I can dig up.
 

I did find the SunOS 0.x images (UniSoft V7 port) didn't appear have a disk partition, but 1.0 (post 4BSD pre 4.1BSD) and later did. That puts it at 1982. Although based off BSD, the disk label stuff wasn't in BSD for another 5 years when the BSD folks started the Tahoe port.
Right, this is all of the MK0, CSRG, and Sun connection via Fred, Bill, and Sam.  At a minimum, they knew what the other was doing/had done, and some of it definitely migrated.

WRT to OpenFW, my memory is that Larry points out that Sun was the primary driver.   But a lot of the Motorola club got interested in using it, too, during the "JAWS" timeframe.  I am pretty sure that there were versions for 68K, 88K, and PPC, as well as the SPARC version from Sun.   Somewhere I have early source distribution.