Greg Lehey wrote:
To repeat what I said earlier: the hardware-dependent code isn't very
interesting, it's the kernel interfaces. Minix is not UNIX; BSD is.
You'll find it easier to adapt a BSD driver to the Sixth or Seventh
Edition than you will a Minix or Linux driver.
The bits that are "interesting" or "useful" to any particular
person are
the bits which
help to fill in the gaps in their knowledge and are therefore likely to
be different for
different people.
I am inclined to think that *none* of the other operating systems that
have been mentioned
- Linux, Minix, BSD UNIX etc - are of much use *except* as a reference
for how to do
certain things with the hardware (and they probably aren't even very
good for that purpose)
UNIX has come a *long* way since V6 and V7, and a modern BSD device
driver with
support for disk partitioning schemes, bad block mapping and
who-knows-what-else is a
very different beast from the V6 rk11 driver.
To me, at least, the "obvious" way to get a V6 or V7 disk driver working
is to do exactly
what almost everyone used to do when faced with this problem - you start
with
something like the rk11 driver, study it until you understand how it
works (or at least
think that you do ...) and then modify it to talk to your particular
piece of hardware.
From that perspective, what you *really* need is good documentation for
the PC
hardware that you are going to be dealing with - ie interrupt
controller, dma controller,
floppy controller, ide interface etc.