The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: szigi@ik.bme.hu (SZIGETI Szabolcs)
Subject: [TUHS] Re: Porting Unix v6 to i386
Date: Mon, 8 Jul 2002 15:52:34 +0200	[thread overview]
Message-ID: <001a01c22686$b6d28bc0$26f34298@magosix> (raw)
In-Reply-To: <20020708123307.A160@muppet.labs.de>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3160 bytes --]

> > My apologies, I had forgotten to import it. It's now available
> > at http://www.tuhs.org/Archive/Other/V6on286
> >
> > with the mirror sites to follow soon.
>
> Great!
> Now it's time to figure out how to compile this stuff.

Hi,


Some hints:

First of all, the code is currently broken. Something is wrong, and it will
not be able to mount the root fs or something, but shouldn't be hard to fix,
because it used to work, and i did something wrong when playing with the
code some years ago, with no backup to revert to.

Originally, I used the commnad line tools of Borland C++ 3.0 to compile. You
need Turbo Assembler, so the Borland C++ 1.0, which is freely available from
Borland as "antique software" is not enough, you'll need the professional
version at least, because it has the command line assembler.

There is a top level makefile, which will create UN.EXE, this is the unix
kernel. You run it under plain MSDOS, it will switch to protected mode, and
with shift-esc it will return to DOS (do a sync before !). Probably it
wouldn't be hard to make it work without DOS as a boot loader :-), but i
never did it.

If compiled with -DSTANDSH, the kernel will be built with a built-in shell
(see KEN/UPROC.C for the command), that can be used to do some basic setup.
It will for example create the /dev/tty entries on a blank root disk. (You
still need the mkfs utility under dos to make a blank disk). I suggest to
use a floppy as a root disk for initial trials.
If you omit STANDSH, it will look for /etc/init to run.


On the directory layout:
CONF contains c.c, the device switch table
DMR contains most of the device drivers
H contains the kernel header files
INCLUDE - the user header files
KEN - rest of the kernel

The low level kernel code is very ugly, as it evolved from experimenting
with protected mode. There are lots of things, that i'm not proud of :-)

SRC/CLIB0 - the C library
SRC/SYSC - the syscall user side interface
SRC/UTIL - the utilities and such, most should work
UTIL - MSDOS utils to compile

In the UTIL directory, there are the following utlities:

c2a - used to compile the kernel, it search-and-replaces some stuff in the
assemlby code, i donát exactly remember why, but it has to do something with
the segmenent names.

exe2v6 - utility to convert MSDOS exe program to a.out. See
SRC/UTIL/Makefile for how to make such an exe. The programs have a built in,
fixed size stack, because Borland C had problems separating code and stack
segment. It could brobably be fixed, but i didn't do it, instead opted for
fixed size stack, adjustable at compile time.

exetr - it can transfer a file to unix via a floppy drive, i donát remember
how it works, i think you put one file to a floppy, and use the kernel-shell
to write it to a file-system. It is a really ugly idea :-)

dumpfs - it is broken, it was intended to back-up a filesystem

mkfs - MSDOS mode mkfs, answer the questions, you'll get the filesystem.
There is no sanity check whatsoever, so be careful, it can screw your
harddrive, if given wrong sector numbers.


Have fun with it, and if you have questions, feel free to write me.

Regards,

    Szabolcs





  reply	other threads:[~2002-07-08 13:52 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20020707154509.A172@muppet.labs.de>
2002-07-08  1:09 ` Warren Toomey
2002-07-08 10:33   ` Sven Dehmlow
2002-07-08 13:52     ` SZIGETI Szabolcs [this message]
2002-07-08 14:15       ` Warren Toomey
2002-08-22 20:52 [TUHS] " russ
2002-08-22 21:23 ` Peter Jeremy
2002-08-22 23:56   ` Warren Toomey
  -- strict thread matches above, loose matches on Subject: below --
2002-06-06 17:02 [TUHS] " Mike Haertel
2002-06-11 22:31 ` Peter Jeremy
2002-06-11 22:52   ` Mike Haertel
2002-06-05 18:49 Ian King
2002-06-06  7:07 ` Szigeti Szabolcs
2002-06-06 10:20   ` Warren Toomey
     [not found] <200206050222.g552MHm88208@minnie.tuhs.org>
2002-06-05 11:54 ` John Chung
2002-06-04 11:53 Szigeti Szabolcs
2002-06-04 23:34 ` Warren Toomey
2002-02-15  0:07 John Holden
2002-02-04 22:23 norman
     [not found] <E16WjYq-0005RL-00@mercury.ukc.ac.uk>
2002-02-04  9:33 ` P.A.Osborne
2002-02-04 10:57   ` Warren Toomey
2002-02-04 11:48     ` P.A.Osborne
     [not found] <20020131102843.C19170@apple.ukc.ac.uk>
     [not found] ` <200201311847.g0VIlHj41858@ducky.net>
2002-02-01 10:24   ` P.A.Osborne
2002-01-30 23:51 Grant Maizels
2002-01-30 21:52 John Holden
     [not found] <no.id>
2002-01-30  1:57 ` Aaron J. Grier
2002-01-30  9:18   ` P.A.Osborne
2002-01-30 18:00     ` Sven Dehmlow
2002-01-30 19:50       ` Johnny Billquist
2002-01-30 21:40         ` Michael Davidson
2002-01-31 10:26         ` P.A.Osborne
2002-01-31 18:51           ` Johnny Billquist
2002-02-01 10:27             ` P.A.Osborne
2002-01-31 19:04           ` Mike Haertel
2002-01-30 19:52     ` Mike Haertel
2002-01-30 20:54       ` M. Warner Losh
2002-01-30 22:47         ` Greg Lehey
2002-03-03 12:51       ` Cyrille Lefevre
2002-03-03 20:14         ` Peter Jeremy
2002-03-03 20:46           ` Tim Shoppa
2002-03-03 21:07             ` Peter Jeremy
2002-01-31  9:18     ` Lauri Aarnio
2002-01-31 11:00       ` P.A.Osborne
2002-01-31 16:09         ` Sven Dehmlow
2002-01-31 18:45           ` Lauri Aarnio
2002-02-01  0:42             ` Greg Lehey
2002-02-04 22:12               ` Michael Davidson
2002-02-05 10:42                 ` P.A.Osborne
2002-02-06 16:36                   ` Jeffrey S. Sharp
2002-02-07 10:23                     ` P.A.Osborne
2002-01-30 22:44   ` Greg Lehey
2002-02-14 22:30 ` Aaron J. Grier
2002-02-15  3:08   ` Peter Jeremy
2002-02-15  8:08   ` Lars Brinkhoff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='001a01c22686$b6d28bc0$26f34298@magosix' \
    --to=szigi@ik.bme.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).