The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] New V7 port available
@ 2007-10-04 17:51 Robert Nordier
  2007-10-04 18:10 ` Jochen Kunz
  2007-10-04 18:44 ` Michael Kerpan
  0 siblings, 2 replies; 12+ messages in thread
From: Robert Nordier @ 2007-10-04 17:51 UTC (permalink / raw)


A new port of UNIX Version 7 to the x86 (IA-32) based PC is now
available.  The port, called V7/x86, was originally done around
1999: "as something to do with the UNIX source code", when the $100
source licences first became available.  Over the last year or so,
I've been working intermittently at preparing it for release.

In classic porting style, the port includes a 16- and 32-bit
UNIX-style x86 assembler written from scratch, though the next step
of conjuring pcc to emit 32-bit x86 code was not done.  Originally,
the system used the TenDRA C compiler, but TenDRA is huge and this
was never a good match.  (Without demand paging, and with restrictions
on the size of the buffer cache, there is a definite limit to how
big you want much-used binaries to be.)  However, since the Amsterdam
Compiler Kit was released as open source, the ACK K&R compiler,
with a backend revised to speak "as" rather than "ACK assembler",
works very well.

V7/x86 currently supports ATA (IDE) hard drives, ATAPI CD drives,
a 1.44M floppy drive, and standard serial ports, in addition to the
usual PC screen and keyboard.  For easier installation and setup,
supplied utilities allow access to CD (ISO 9660) and FAT (MS-DOS)
filesystems.  Boot code uses the PC BIOS.  At present, there is no
SCSI support.

Overall, the system is stable and quite generally usable.  For
instance, it is an easy-ish task to build the V7/x86 distribution
on V7 itself, including packaging it as a small CDROM image.  When
using the C shell, together with contemporary versions of vi and
more, one even tends to forget this is V7.  (Given the absence of
X and TCP/IP, the overall "feel" of the system is something like
an early SCO System V release: though possibly not so unreliable.)

The port was originally done more for the sheer pleasure of getting
to grips with the V7 source code than for any good reason.  But
I've since spent a bit of effort trying to put together a fairly
usable release -- though there will be plenty of rough edges -- in
the hope that, for instance, some school or college might eventually
take the thing up as a vehicle for students to get practical
experience on.  After all, it really is possible to write (say) a
device driver from scratch and get it working in the course of only
one or two evenings.  Of course, the PDP-11 original can be (and I
hope still is) used for that purpose, but presumably PC architecture,
and devices, and assembly language, would all be part of a modern
curriculum, anyway, leaving fewer layers of obscurity for the
student.

Anyway, if any of you would like to take a look at the thing (even
if only to point out some of the more egregious of the remaining
errors) the link is

	http://www.nordier.com/v7x86/

Apart from actually installing the system on some suitable PC, it
is also possible to boot from the CDROM or floppy image and then
simply quit out of the install utility to the shell prompt.
Alternatively, the system can be fairly readily run under Bochs or
some other emulator, using the available "demo" image.

There is a short user-oriented introductory document, with examples,
here

	http://www.nordier.com/v7x86/doc/v7x86intro.pdf

What is presently lacking is a document containing a more technical
description of the port, but I hope this will be available before
too long.

As far as the web pages are concerned, these were originally set
up before the 10 August 2007 Judge Kimball ruling in favour of
Novell.  No changes have been made (to copyright notices, licence
information, etc.) in the light of that ruling, though of course I
will willingly make changes if and when I know what they should be.

Incidentally, there's been mention, here, in the past, of one or
two projects to port V7 or 32V to the PC.  For all I know, these
may still be ongoing: V7/x86 is an unrelated effort.

--
Robert Nordier

////////////////////////////////////////////////////////////////////////////
Nordier & Associates       rnordier at nordier.com   Telephone: +27 31 261-4895
PO Box 11266, Marine Parade, 4056, South Africa   Mobile   : +27 72 265-2390
////////////////////////////////////////////////////////////////////////////



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
  2007-10-04 17:51 [TUHS] New V7 port available Robert Nordier
@ 2007-10-04 18:10 ` Jochen Kunz
  2007-10-04 23:01   ` Pat Villani
  2007-10-04 18:44 ` Michael Kerpan
  1 sibling, 1 reply; 12+ messages in thread
From: Jochen Kunz @ 2007-10-04 18:10 UTC (permalink / raw)


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

On Thu, 4 Oct 2007 19:51:05 +0200
Robert Nordier <rnordier at nordier.com> wrote:

> In classic porting style, the port includes a 16- and 32-bit
> UNIX-style x86 assembler written from scratch, though the next step
> of conjuring pcc to emit 32-bit x86 code was not done.
There is a x86 pcc:
ftp://226.net120.skekraft.net/pcc/
This was imported into NetBSD a few days ago. You can compile most of
NetBSD with this in-tree pcc now.

> Alternatively, the system can be fairly readily run under Bochs or
> some other emulator, using the available "demo" image.
What about Xen DomU support? ;-)
-- 


tschüß,
       Jochen

Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
  2007-10-04 17:51 [TUHS] New V7 port available Robert Nordier
  2007-10-04 18:10 ` Jochen Kunz
@ 2007-10-04 18:44 ` Michael Kerpan
  2007-10-05 19:05   ` Robert Nordier
  1 sibling, 1 reply; 12+ messages in thread
From: Michael Kerpan @ 2007-10-04 18:44 UTC (permalink / raw)


On 10/4/07, Robert Nordier <rnordier at nordier.com> wrote:
> A new port of UNIX Version 7 to the x86 (IA-32) based PC is now
> available.  The port, called V7/x86, was originally done around
> 1999: "as something to do with the UNIX source code", when the $100
> source licences first became available.  Over the last year or so,
> I've been working intermittently at preparing it for release.
>
> In classic porting style, the port includes a 16- and 32-bit
> UNIX-style x86 assembler written from scratch, though the next step
> of conjuring pcc to emit 32-bit x86 code was not done.  Originally,
> the system used the TenDRA C compiler, but TenDRA is huge and this
> was never a good match.  (Without demand paging, and with restrictions
> on the size of the buffer cache, there is a definite limit to how
> big you want much-used binaries to be.)  However, since the Amsterdam
> Compiler Kit was released as open source, the ACK K&R compiler,
> with a backend revised to speak "as" rather than "ACK assembler",
> works very well.
>
> V7/x86 currently supports ATA (IDE) hard drives, ATAPI CD drives,
> a 1.44M floppy drive, and standard serial ports, in addition to the
> usual PC screen and keyboard.  For easier installation and setup,
> supplied utilities allow access to CD (ISO 9660) and FAT (MS-DOS)
> filesystems.  Boot code uses the PC BIOS.  At present, there is no
> SCSI support.
>
> Overall, the system is stable and quite generally usable.  For
> instance, it is an easy-ish task to build the V7/x86 distribution
> on V7 itself, including packaging it as a small CDROM image.  When
> using the C shell, together with contemporary versions of vi and
> more, one even tends to forget this is V7.  (Given the absence of
> X and TCP/IP, the overall "feel" of the system is something like
> an early SCO System V release: though possibly not so unreliable.)
>
> The port was originally done more for the sheer pleasure of getting
> to grips with the V7 source code than for any good reason.  But
> I've since spent a bit of effort trying to put together a fairly
> usable release -- though there will be plenty of rough edges -- in
> the hope that, for instance, some school or college might eventually
> take the thing up as a vehicle for students to get practical
> experience on.  After all, it really is possible to write (say) a
> device driver from scratch and get it working in the course of only
> one or two evenings.  Of course, the PDP-11 original can be (and I
> hope still is) used for that purpose, but presumably PC architecture,
> and devices, and assembly language, would all be part of a modern
> curriculum, anyway, leaving fewer layers of obscurity for the
> student.
>
> Anyway, if any of you would like to take a look at the thing (even
> if only to point out some of the more egregious of the remaining
> errors) the link is
>
>         http://www.nordier.com/v7x86/
>
> Apart from actually installing the system on some suitable PC, it
> is also possible to boot from the CDROM or floppy image and then
> simply quit out of the install utility to the shell prompt.
> Alternatively, the system can be fairly readily run under Bochs or
> some other emulator, using the available "demo" image.
>
> There is a short user-oriented introductory document, with examples,
> here
>
>         http://www.nordier.com/v7x86/doc/v7x86intro.pdf
>
> What is presently lacking is a document containing a more technical
> description of the port, but I hope this will be available before
> too long.
>
> As far as the web pages are concerned, these were originally set
> up before the 10 August 2007 Judge Kimball ruling in favour of
> Novell.  No changes have been made (to copyright notices, licence
> information, etc.) in the light of that ruling, though of course I
> will willingly make changes if and when I know what they should be.
>
> Incidentally, there's been mention, here, in the past, of one or
> two projects to port V7 or 32V to the PC.  For all I know, these
> may still be ongoing: V7/x86 is an unrelated effort.
>
> --
> Robert Nordier
>
> ////////////////////////////////////////////////////////////////////////////
> Nordier & Associates       rnordier at nordier.com   Telephone: +27 31 261-4895
> PO Box 11266, Marine Parade, 4056, South Africa   Mobile   : +27 72 265-2390
> ////////////////////////////////////////////////////////////////////////////
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
>

Awesome work. I notice that you require at least a 486 to run this
though. Is there any technical reason, or could this be moved to a 386
by means of a simple recompile? Also, how 32-bit IS the port? Would it
be hard to build a 286 version or even 8086/8088 version to give a
real OS to the old XT/AT in the basement?



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
  2007-10-04 18:10 ` Jochen Kunz
@ 2007-10-04 23:01   ` Pat Villani
  2007-10-05 19:23     ` Robert Nordier
  0 siblings, 1 reply; 12+ messages in thread
From: Pat Villani @ 2007-10-04 23:01 UTC (permalink / raw)


Well, it looks like this was released before I had a chance to finish my 
32v port, not that I was working very hard on it.  I have a boot and 
memory disk driver working, but haven't started the real device drivers 
working yet.

For what it's worth, I started the project with a port of the ACK 
compiler.  It may be useful.  You can find it at 
ftp://opensourcedepot.com/minix/cross/minix-cross-0.1.tar.gz.  There 
also some of my early work at ftp://opensourcedepot.com/32V.

I did get a chance to play with v7/x86 in Bochs.  Looks pretty good.  
Any plans for the future?

Pat


Jochen Kunz wrote:
> On Thu, 4 Oct 2007 19:51:05 +0200
> Robert Nordier <rnordier at nordier.com> wrote:
>
>   
>> In classic porting style, the port includes a 16- and 32-bit
>> UNIX-style x86 assembler written from scratch, though the next step
>> of conjuring pcc to emit 32-bit x86 code was not done.
>>     
> There is a x86 pcc:
> ftp://226.net120.skekraft.net/pcc/
> This was imported into NetBSD a few days ago. You can compile most of
> NetBSD with this in-tree pcc now.
>
>   
>> Alternatively, the system can be fairly readily run under Bochs or
>> some other emulator, using the available "demo" image.
>>     
> What about Xen DomU support? ;-)
>   





^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
  2007-10-04 18:44 ` Michael Kerpan
@ 2007-10-05 19:05   ` Robert Nordier
  2007-10-05 21:10     ` Michael Kerpan
  0 siblings, 1 reply; 12+ messages in thread
From: Robert Nordier @ 2007-10-05 19:05 UTC (permalink / raw)


On Thu, Oct 04, 2007 at 02:44:27PM -0400, Michael Kerpan wrote:

> Awesome work. I notice that you require at least a 486 to run this
> though. Is there any technical reason, or could this be moved to a 386
> by means of a simple recompile? Also, how 32-bit IS the port? Would it
> be hard to build a 286 version or even 8086/8088 version to give a
> real OS to the old XT/AT in the basement?

Thanks.  Provided you had a 387 as well, a 386 should be OK.  The
486 has some useful cache instructions like "invd" and "invlpg",
but it was the lack of builtin floating point I was thinking of.

Others have already responded about the 286/8086, so I'll only say
the port IS very 32-bit, and it would be hard to change that.

--
Robert Nordier



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
  2007-10-04 23:01   ` Pat Villani
@ 2007-10-05 19:23     ` Robert Nordier
  0 siblings, 0 replies; 12+ messages in thread
From: Robert Nordier @ 2007-10-05 19:23 UTC (permalink / raw)


On Thu, Oct 04, 2007 at 07:01:28PM -0400, Pat Villani wrote:

> For what it's worth, I started the project with a port of the ACK 
> compiler.  It may be useful.  You can find it at 
> ftp://opensourcedepot.com/minix/cross/minix-cross-0.1.tar.gz.  There 
> also some of my early work at ftp://opensourcedepot.com/32V.

I'll take a look.

> I did get a chance to play with v7/x86 in Bochs.  Looks pretty good.  
> Any plans for the future?

Document a bit more and then move on, I suppose. :)

-- 
Robert Nordier



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
  2007-10-05 19:05   ` Robert Nordier
@ 2007-10-05 21:10     ` Michael Kerpan
  0 siblings, 0 replies; 12+ messages in thread
From: Michael Kerpan @ 2007-10-05 21:10 UTC (permalink / raw)


On 10/5/07, Robert Nordier <rnordier at nordier.com> wrote:
> Thanks.  Provided you had a 387 as well, a 386 should be OK.  The
> 486 has some useful cache instructions like "invd" and "invlpg",
> but it was the lack of builtin floating point I was thinking of.
>
> Others have already responded about the 286/8086, so I'll only say
> the port IS very 32-bit, and it would be hard to change that.

I guess it's really more 32V/x86 than V7/X86 then ;)



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
  2007-10-05  5:11   ` M. Warner Losh
@ 2007-10-05  6:11     ` Andrew Warkentin
  0 siblings, 0 replies; 12+ messages in thread
From: Andrew Warkentin @ 2007-10-05  6:11 UTC (permalink / raw)


M. Warner Losh wrote:

>Coherent was a v6 port.  There was a Dec Rainbow port as well, but
>nobody seems to have a copy of that anymore.  The only copies I've
>been able to find are for either the 286 or 8086.  The 286 version was
>a v7 port, iirc.
>  
>
Coherent wasn't a port of Research Unix. It was written from scratch.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
  2007-10-05  4:44 ` John Cowan
@ 2007-10-05  5:11   ` M. Warner Losh
  2007-10-05  6:11     ` Andrew Warkentin
  0 siblings, 1 reply; 12+ messages in thread
From: M. Warner Losh @ 2007-10-05  5:11 UTC (permalink / raw)


In message: <20071005044448.GK27520 at mercury.ccil.org>
            John Cowan <cowan at ccil.org> writes:
: tuhs at cuzuco.com scripsit:
: 
: > 8086 lacks the required protected mode. don't remember how xenix over
: > came this problem when it was first released. no one even has to think
: > about this problem today
: 
: Coherent also ran on the x86, and is available for download
: (its copyright status is uncertain); chase links from
: http://en.wikipedia.org/wiki/Coherent_(operating_system) .

Coherent was a v6 port.  There was a Dec Rainbow port as well, but
nobody seems to have a copy of that anymore.  The only copies I've
been able to find are for either the 286 or 8086.  The 286 version was
a v7 port, iirc.

Warner



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
  2007-10-05  4:28 tuhs
  2007-10-05  4:44 ` John Cowan
@ 2007-10-05  5:10 ` Michael Davidson
  1 sibling, 0 replies; 12+ messages in thread
From: Michael Davidson @ 2007-10-05  5:10 UTC (permalink / raw)


tuhs at cuzuco.com wrote:
> 8086 lacks the required protected mode. don't remember how xenix over
> came this problem when it was first released. no one even has to think
> about this problem today
>   
Xenix for the 8086 only supported "small model" user programs of up to 
64k text + 64k data
and used the segment registers to point to the appropriate text and data 
segments in physical
memory. User programs were not supposed to ever look at or change the 
contents of their
segment registers - if they did then chaos was likely to ensue.

And, of course, there was no protection so a rogue process could access 
all of physical
memory including the memory used by the kernel.

It's quite amazing that it worked as well as it did.

md



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
  2007-10-05  4:28 tuhs
@ 2007-10-05  4:44 ` John Cowan
  2007-10-05  5:11   ` M. Warner Losh
  2007-10-05  5:10 ` Michael Davidson
  1 sibling, 1 reply; 12+ messages in thread
From: John Cowan @ 2007-10-05  4:44 UTC (permalink / raw)


tuhs at cuzuco.com scripsit:

> 8086 lacks the required protected mode. don't remember how xenix over
> came this problem when it was first released. no one even has to think
> about this problem today

Coherent also ran on the x86, and is available for download
(its copyright status is uncertain); chase links from
http://en.wikipedia.org/wiki/Coherent_(operating_system) .

-- 
We pledge allegiance to the penguin             John Cowan
and to the intellectual property regime         cowan at ccil.org
for which he stands, one world under            http://www.ccil.org/~cowan
Linux, with free music and open source
software for all.               --Julian Dibbell on Brazil, edited



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] New V7 port available
@ 2007-10-05  4:28 tuhs
  2007-10-05  4:44 ` John Cowan
  2007-10-05  5:10 ` Michael Davidson
  0 siblings, 2 replies; 12+ messages in thread
From: tuhs @ 2007-10-05  4:28 UTC (permalink / raw)



> From: "Michael Kerpan" <madcrow.maxwell at gmail.com>
> Date: Thu, 4 Oct 2007 14:44:27 -0400
>
> Awesome work. I notice that you require at least a 486 to run this
> though. Is there any technical reason, or could this be moved to a 386
> by means of a simple recompile? Also, how 32-bit IS the port? Would it
> be hard to build a 286 version or even 8086/8088 version to give a
> real OS to the old XT/AT in the basement?

8086 lacks the required protected mode. don't remember how xenix over
came this problem when it was first released. no one even has to think
about this problem today



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-10-05 21:10 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-04 17:51 [TUHS] New V7 port available Robert Nordier
2007-10-04 18:10 ` Jochen Kunz
2007-10-04 23:01   ` Pat Villani
2007-10-05 19:23     ` Robert Nordier
2007-10-04 18:44 ` Michael Kerpan
2007-10-05 19:05   ` Robert Nordier
2007-10-05 21:10     ` Michael Kerpan
2007-10-05  4:28 tuhs
2007-10-05  4:44 ` John Cowan
2007-10-05  5:11   ` M. Warner Losh
2007-10-05  6:11     ` Andrew Warkentin
2007-10-05  5:10 ` Michael Davidson

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).