[comp.os.minix] Compiling MINIX 1.3 with Turbo C 2.0

bxj2161@acf5.NYU.EDU (bxj2161) (05/07/90)

Hi guys:

    I am compiling MINIX 1.3 using Turbo C 2.0 and MASM 4.0.
And boot it from MS-DOS without building a boot diskette.

    The major differences between the original MINIX 1.3 and my
update are:
  1. kernel, mm, fs, and init are compiled into .BIN files
     and build is changed to a loader program which reads
     these four files, allocate space for them, and begin
     to execute them.  So you don't need to keep a boot diskette.
  2. Use MS-DOS files as MINIX file systems.  So you don't
     need to create a MINIX partition if you don't want to.
     Also, you don't need to worry about MFM, RLL, ESDI, or
     SCSI; any kind of controller can be used transparently.
     You can even use a MS-DOS file as your root file system.
  3. Ctrl-alt-del lets you go back to MS-DOS, rather than reboot.
     Maybe I'll figure out another hot-key later, or even switch
     between these two, not just terminating MINIX.
  4. (Not finished yet) Use MS-DOS keyboard, screen, and printer
     routines, so all the good functions of MS-DOS and BIOS can
     be used. (Of course, you shall forget about the bad functions.)

    I've overcome the problem of compiler difference, assembler
difference, coordination for interrupt handling between MINIX and
MS-DOS, and some minor things.  I'm quite happy that I don't have
to keep the boot diskette now, though I still keep my MINIX partitions.

    My problems now are:
  1. Is it legal posting my results? (Sorry, I am a new netter,
     so I don't know much about this aspect.)
  2. If I may post my result, how can I do it in the most convinent way?
     I heard you guys tlaked about cdiff, uuencode, shar, crc, ....  but
     I don't know how to do them. (Sorry again for being a new netter.)

    Thank you guys in advance.

Benchiao Jai
jai@cs.nyu.edu

P.S. All the 'I' above should be changed to 'We', who are professor
Malcolm Harrison, Chris Kirby, and the tiny little 'me'.

ching@pepsi.amd.com (Mike Ching) (05/08/90)

In article <1174@acf5.NYU.EDU> bxj2161@acf5.NYU.EDU (bxj2161) writes:
>Hi guys:
>
>    I am compiling MINIX 1.3 using Turbo C 2.0 and MASM 4.0.
>And boot it from MS-DOS without building a boot diskette.
>
>    The major differences between the original MINIX 1.3 and my
>update are:

                 [Stuff deleted]

>  4. (Not finished yet) Use MS-DOS keyboard, screen, and printer
>     routines, so all the good functions of MS-DOS and BIOS can
>     be used. (Of course, you shall forget about the bad functions.)
>

I may be misunderstanding what is being done here but I was under the
impression that the BIOS routines couldn't be used since they are
not reentrant. I've been looking at porting curses and it would be
trivial if I could use interrupt 10 like the original does. Has
anybody already ported curses? It all started when I decided to port
pcomm which requires curses which requires ???.

Mike Ching

bxj2161@acf5.NYU.EDU (bxj2161) (05/09/90)

In <1990May8.163109.26727@bach.amd.com> ching@pepsi.amd.com (Mike Ching) writes:
>........
>I may be misunderstanding what is being done here but I was under the
>impression that the BIOS routines couldn't be used since they are
>not reentrant. I've been looking at porting curses and it would be
>trivial if I could use interrupt 10 like the original does. Has
>anybody already ported curses? It all started when I decided to port
>pcomm which requires curses which requires ???.

Well, some BIOS routines are not reentrant, some are, but it doesn't matter.
MINIX is a special operating system, it uses message passing instead of
shared memory.  So as long as you obey the rule that no two tasks
use the same BIOS int call, there will never be reentry.  (The key point is
that tasks will not be reentered.)
In fact, I'm using int 21 for my MS-DOS file access, and it works happily.
The next step I am going to try my system on RLL, SCSI, and ESDI harddrives;
If these succeed, people out there won't need to worry about HD interfaces
and partitions if they don't want to.

Benchiao Jai
jai@cs.nyu.edu

leach@tut.cis.ohio-state.edu (Gregory E Leach) (05/09/90)

I am trying to use Minix for a class I'm teaching, but I am having trouble
getting the VAX distribution to work.  I also have the PC version, and
it works as expected.

Specifically, for the VAX distribution,  I would like to use the capabilities
suggested by Tanenbaum in the preface of his book, on page xiv.  ie

	An alternative way to use the software is to give each student
	a copy of the MINIX sources on a VAX ....
	The software can also be used for courses even when no PC's are
	available....

If anyone has used MINIX in a standalone VAX environment, I would greatly
appreciate any tips you can give me.  Also, I assume I will have to buy a
C compiler for the simulator from UniPress, if I expect to get the same
functionality from the VAX version as from the PC.

	Thanks  
	Greg Leach