Newsgroups: comp.os.minix
Subject: Re: Porting Minix
References: <10992132.8c574ca1@usw-ex0101-005.remarq.com> <186caed8.99d7fde5@usw-ex0101-005.remarq.com> <slrn8cfadt.cg7.pino+comp_os_minix@mud.stack.nl> <8a8g2o$vh4$1@info.cs.uofs.edu>
Organization: Rochester Institute of Technology, Rochester, NY
From: aje9383@osfmail.isc.rit.edu (Andrew Erickson)
NNTP-Posting-Host: grace.isc.rit.edu
X-Original-NNTP-Posting-Host: grace.isc.rit.edu
Message-ID: <38c7cf68@news.isc.rit.edu>
Date: 9 Mar 2000 11:20:56 -0500
X-Trace: 9 Mar 2000 11:20:56 -0500, grace.isc.rit.edu
Lines: 29
XPident: aje9383
X-Original-NNTP-Posting-Host: 129.21.4.100
XPident: Unknown
Path: news.adfa.oz.au!clarion.carno.net.au!news0.optus.net.au!news1.optus.net.au!optus!intgwpad.nntp.telstra.net!newsfeed.berkeley.edu!newsfeed.nyu.edu!news-nysernet-16.sprintlink.net!news.sprintlink.net!news.isc.rit.edu!aje9383
Xref: news.adfa.oz.au comp.os.minix:34835

In article <8a8g2o$vh4$1@info.cs.uofs.edu>,
Bill Gunshannon <bill@cs.uofs.edu> wrote:
>I would assume the easiest way would be to go back to the earliest
>version for the actual porting, just for simplicity's sake.  Also,
>I would assume the book would have more bearing on the source at
>that point.  Once you had something like 1.1 running I would assume
>bringing it forward to the most current would not be such a daunting
>task.  Maybe even get the virtual memory stuff to work.  

I must respectfully disagree.  Minix has not become too much more fancy
or complicated with the newer versions, while a great many (nasty) bugs
have been fixed and other similar things.  The biggest difference, that
I know of, between version 1.5 and 2.0 is the TCP/IP stuff--and that is
still optional, IIRC.  (The filesystem was also changed a bit, but most
of that was simply allowing for larger disks, not design changes.)

The newer versions are easier to port, too, because they are written in
something much closer to ANSI C (although kluged together with a system
of preprocessor macros to allow K&R C to be spit out as well--at least,
that's the theory).  Getting older versions to compile can be difficult
on more modern compilers.

Porting to a new architecture requires only small changes to the kernel
but (in general) all new device drivers.  It's these drivers that cause
the greatest difficulty, especially given the typical lack of good info
on many hardware platforms.

Best of luck,
-- Andrew Erickson
