[comp.os.minix] Porting MINIX to non-Atari Machines...

lansd@eecg.toronto.edu (Robert Lansdale) (12/21/88)

	I have read a few messages lately from MINIX gurus attesting to
the long and tedious hours required to port MINIX to other machines. I
am just putting the final touches on a 68000 board to be used as a host for
my DSP multi-processor, and thought it would be a good lesson in O/S
porting if I was to port the Atari code to this machine.

	The machine in question only has a SCSI port and two RS-232
lines, no floppies. For code compilation and development I could use
my Atari-ST and Mark Williams C Version 3.0. 

	What I would like to know is: how much time will I have to
invest to get MINIX 1.3 up and running on the board? Of this time,
what proportion will be spent updating the 1.1 sources to 1.3, looking
for updates, etc.

	While I'm asking, has anyone ported MINIX to the Motel Cypher
68000 computer?

-- 
-------------------------------------------------------------------------
  ____   ____   ____  ____	
 |____| |____| |     |    |   CSNET: lansd%eecg.toronto.edu         
 |____  |____  |____ |____|   ARPA:  lansd%eecg.toronto.edu@relay.cs.net
  			  |   Electrical Engineering Computer Group,

Dickson@pco-multics.hbi.honeywell.com (Paul Dickson) (01/05/89)

>         I have read a few messages lately from MINIX gurus attesting to
>the long and tedious hours required to port MINIX to other machines. I
>am just putting the final touches on a 68000 board to be used as a host for
>my DSP multi-processor, and thought it would be a good lesson in O/S
>porting if I was to port the Atari code to this machine.
>
>         The machine in question only has a SCSI port and two RS-232
>lines, no floppies. For code compilation and development I could use
>my Atari-ST and Mark Williams C Version 3.0. 
>
>         What I would like to know is: how much time will I have to
>invest to get MINIX 1.3 up and running on the board? Of this time,
>what proportion will be spent updating the 1.1 sources to 1.3, looking
>for updates, etc.

I have been spending time in the past 7 months porting the PC Minix to
the Slicer (an 80186 Single board computer), so I do have a little
experience with porting to a slightly different hardware base.  My
friend (Kevin Fleming) and I had Minix mostly up and running within 2
months, only working most weekends.  The major reason it has taken so
much longer is because were waiting for a final version of Minix 1.3.
Right now, we have the commands and libraries converted and compiled to
Turbo C 2.0 and expect to have it running by the end of January (if we
can find the time).  After we get it running on a standard PC, we will
add our changes that are necessary for the Slicer.

Here are list of things you will find that you need and/or want:

          Fast compiler
          Separate development machine
          Listings of kernel files

The listings are fairly important.  They let you see all the code to
figure out the dependencies and what constants you have to change.
Taking a day to read and understand the kernel code will greatly shorten
the porting time.  Besides, once to see the code set on paper, it
doesn't look as difficult as you would think.

In your case your might want to consider hooking the SCSI port directly
to the SCSI bus of your Atari ST (I believe the Atari does have SCSI
port, doesn't it?).  Then write a boot strap ROM code to read the Minix
code directly from the SCSI port.  After you get the code loaded into
memory, take it one procedure at a time in the calling sequence, putting
some kind of output flag to let you know where in the code you are so
you can figure out were to look if it dies.  This is pretty easy since
the code already runs on the CPU/compiler you are using.

Probably the most difficult problem you will face is how to get the
updated code to the target machine.  The faster the better.  Personally,
I wouldn't go through the serial port unless I absolutely had to.  This
is because the worst part is the debugging cycle, which is why it is a
good thing to have a separate machine for editing and compiling the
code.

          -Paul Dickson

Arpanet:    Dickson%pco @ BCO-Multics.HBI.Honeywell.COM