Re: [TUHS] VTServer/etc for V6 Unix

2016-10-25 Thread Clem Cole
On Tue, Oct 25, 2016 at 10:16 AM, Noel Chiappa 
wrote:

> Is there any interest in all this? If so, I can put together a web page
> with
> the V6-verion VTServer source, along with the modified V6 serial line stuff
> (including a short description of the extended stty/gtty interface), etc.
>
​Yes please​




>
> So I guess my next step, if I don't hear shortly from someone who has
> previously used VTServer to install V6, is to start on actually getting
> a V6 file system created.
>
​I think there are rk05 images in bit savers, check out uv6swre​


>
> I'm still vacillating over whether it would be better to go V6-style (and
> just transfer a complete, small existing V6 filesystem),
>
​The issue is even at 9600 baud, you do need to download 2.4Mbytes which
will take​ a few minutes.  So you would need to create a very small root FS
and then you get into how much is enough.




> or V7-style (and
> get stand-alone 'mkfs', etc running with V6-format file systems). Anyone
> have an opinion?
>
​Basically it depends how many commands you need.   Clearly, you need to
V6-afy the V7 standalone system and then for each app you need, you have to
both v6-afy and add the #ifdef STANDALONE hacks.   Clearly you need mkfs,
and probably need a one or more other programs in the key of restor, tar,
tp, dd or the like to copy things.
That's going to be a bit a work - although once you have done it, it will
be handy I suspect.

Clem​


Re: VTServer/etc for V6 Unix

2016-10-25 Thread Toby Thain

On 2016-10-25 10:16 AM, Noel Chiappa wrote:

> I'll start with getting VTServer to run under V6 (my only Unix, don't
> have anything later :-)

So, I just got VTServer runnin under V6: ...
Is there any interest in all this? If so, I can put together a web page with
the V6-verion VTServer source, along with the modified V6 serial line stuff
(including a short description of the extended stty/gtty interface), etc.


IMHO it's worth putting on github with a README, yes.

--Toby


...

Noel





Re: VTServer/etc for V6 Unix

2016-10-25 Thread Noel Chiappa
> I'll start with getting VTServer to run under V6 (my only Unix, don't
> have anything later :-)

So, I just got VTServer runnin under V6: it successfully loaded a memory
diagnostic from the 'server', into the 'client', using 'vtboot' on the
latter. (Both running on emulated machines, for the moment - I thought I'd
take all the hardware-related variables out of the equation, until I have the
software all running OK.)

It didn't require as much work on VTServer as I thought it might: I had to
convert the C to the V6 dialect (no '+=', etc), and some other small things
(e.g. convert the TTY setup code), but in general, it was pretty smooth and
painless.


Note that it won't run under vanilla V6, which does not provide 8-bit input
and output on serial lines. I had previously added 'LITIN' and 'LITOUT' modes
(8-bit input and output) to my V6; since the mode word in stty/gtty was
already full, I had to extend the device interface to support them. I didn't
add ioctl() or anything later, I did an upward-compatible extension to
stty/gtty. (I'm a real NIH guy. :-)

My only real problem in getting VTServer running was with LITIN; I did it
some while back, but had never actually tested it (I was only using LITOUT,
for my custom program to talk to PDP-11 consoles, which also did downloads,
so needed 8-bit output). So when I went to use it, it didn't work, and it was
a real stumper! But I did eventually figure out what the problem was (after
writing a custom program to reach into the kernel and dump the entire state
of a serial line), and get it working.

(I had taken the shortcut of not fully understanding how the kernel serial
line code worked, just tried to install point fixes. This turned out not to
work, because of a side-effect elsewhere in the code. Moral of the story: you
can't change the operation of a piece of software without complete
understanding of how it works...)


Is there any interest in all this? If so, I can put together a web page with
the V6-verion VTServer source, along with the modified V6 serial line stuff
(including a short description of the extended stty/gtty interface), etc.


> so if you turn up whatever you used to boot V6, it would probably still
> be useful.

So I guess my next step, if I don't hear shortly from someone who has
previously used VTServer to install V6, is to start on actually getting
a V6 file system created.

I'm still vacillating over whether it would be better to go V6-style (and
just transfer a complete, small existing V6 filesystem), or V7-style (and
get stand-alone 'mkfs', etc running with V6-format file systems). Anyone
have an opinion?

Noel


Re: VTServer/etc for V6 Unix

2016-10-23 Thread william degnan
On Sun, Oct 23, 2016 at 11:04 AM, Noel Chiappa 
wrote:

> The fact that the installation procedures for V6 and V7 are wholly
> different,
> in their technical detail, was apparently not well known.
>
> The 'Setting up Unix' documents are more checklists, they don't go into a
> lot
> of detail as to what is actually happening, so I have prepared two pages on
> the Computer History wiki:
>
>   http://gunkies.org/wiki/Installing_UNIX_Sixth_Edition
>   http://gunkies.org/wiki/Installing_UNIX_Seventh_Edition
>
> which go into more detail on what is actually happening.
>
> Noel
>


Thanks, this is useful information.
Bill


Re: VTServer/etc for V6 Unix

2016-10-23 Thread Noel Chiappa
The fact that the installation procedures for V6 and V7 are wholly different,
in their technical detail, was apparently not well known.

The 'Setting up Unix' documents are more checklists, they don't go into a lot
of detail as to what is actually happening, so I have prepared two pages on
the Computer History wiki:

  http://gunkies.org/wiki/Installing_UNIX_Sixth_Edition
  http://gunkies.org/wiki/Installing_UNIX_Seventh_Edition

which go into more detail on what is actually happening.

Noel


Re: VTServer/etc for V6 Unix

2016-10-19 Thread Dennis Boone
 > Yes, I have those, thanks; those are the 1-block programs I mentioned
 > to Warren:

 > One can't actually boot V6 Unix directly from a V6 distribution tape,
 > all one can do is copy the disk images from the tape to the disk; one
 > then boots from the disk. (Although now that I look, there is
 > tpboot.s, which claims to boot from a file on a 'tp' format tape. But
 > I don't think V6 was ever distributed in that form - and in any case,
 > it would still need a disk with a Unix file system, with appropriate
 > files - init, sh, etc - already on it, to be able to boot Unix that
 > way.)

Well yes, the discussion already seemed to have established that it
would be necessary to convert vt.s from vtserver to work with the v6
mdec bits, and to use an emulator to do the rk install using the tape,
then figure out how to reduce the setup to fit on the rx.

De


Re: VTServer/etc for V6 Unix

2016-10-19 Thread Noel Chiappa

> Here are some notes I made a while back, when I looked at it:
> ...
>  Block 2-xx - gubbish, apparently inodes, code, etc?

So I just realized something's incomplete here. There's an intermediate stage
(loading 'xxyy', where 'xx' is "tm" or "ht", and 'yy' is "rk", "rp" or "hp").
Those must be in stored in that block "2-xx" area, but I'm not up for
grokking the assembler ("tpboot.s") that loads them to see how it works (it
takes a file-name, 'xxyy' as above, entered at the console).

And I got the tape files slightly wrong: mcopy.s is indeed the tape copier
program (assembled with either tm.s or ht.s, and one of rk.s, rp.s and hp.s),
to produce the 'xxyy' files above. However, the first stage booter is
"tpboot.s", not "mboot.s" (didn't look closely enough); again, assembled with
either tm.s or ht.s - that produces the first-stage bootstrap that goes in
blocks 0 and 1 of the tape.

Noel


Re: VTServer/etc for V6 Unix

2016-10-19 Thread Noel Chiappa
> From: Warren Toomey

> This doc: .. describes a way to install from tape, but it seems like it
> does a block copy of a tape image to the disk.

Yup, that's the standard V6 install from tape. It uses the two programs I
mentioned in the last message; first mboot (which produces the '=' prompt),
and then mcopy (assembled with the appropriate disk and tape drivers), which
is used to copy disk images to the disk.


> Also .. there is a v6.tape.gz file. Unfortunately, I have no
> documentation on this. It could be raw blocks, or it could be a TAP
> file, who knows.

I looked into this previously. The other three files:

  root.v6.tar.gz
  doc.v6.tar.gz
  usr.v6.tar.gz

are just TAR dumps of the 3 disk images on the V6 distribution tape: the root
(includes kernel source, and most of the binaries), usr (source for all
commands), and documentation.

The v6.tape seems to be an image of V6 distribution tape. Here are some
notes I made a while back, when I looked at it:

  The first 100 512-byte tape blocks contain the tape bootstrap stuff. Blocks
  100 - 4099 are the RK05 root image, blocks 4100 - 8099 are the /usr RK05
  image, and the blocks 8100 - 12099 are the /doc RK05 image. .. The most
  recent timestamp on any file in /usr and /doc is July 19th 1975, as with
  Dennis' copy. However, the most recent file timestamp on root is October
  11th, 1975

  Block 0 on tape - mboot (tm tape booter)
  Block 1 on tape - hboot (ht tape booter)

  Block 2-xx - gubbish, apparently inodes, code, etc?

  Block 98 on tape - hpuboot
  Block 99 on tape - rpuboot
  Block 100 on tape - rkuboot

HTH.

Noel


Re: VTServer/etc for V6 Unix

2016-10-19 Thread Warren Toomey
All, I had a look at the docs on V6 Unix. This doc:
http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6/usr/doc/start/start
describes a way to install from tape, but it seems like it does
a block copy of a tape image to the disk.

Also, in 
http://www.tuhs.org/Archive/PDP-11/Distributions/research/Ken_Wellsch_v6/
there is a v6.tape.gz file. Unfortunately, I have no documentation on this.
It could be raw blocks, or it could be a TAP file, who knows.

Hopefully this is of some help.
Cheers, Warren


Re: VTServer/etc for V6 Unix

2016-10-19 Thread Noel Chiappa
> From: Dennis Boone

> The sources for the V6 versions of the tmrk et al programs seem to be
> here:

Yes, I have those, thanks; those are the 1-block programs I mentioned to
Warren:

>> The only V6 boot mechanisms are 1-block programs that go into block 0
>> of device 0 and which boot Unix directly from that file-system 

Well, to be technical, also there are the programs to copy the disk images
from tape to disk - mcopy.s does that - etc. In case anyone looks at mcopy.s
and wonders how R5 (which contains a pointer to the console print/input
routines) gets set up, mboot.s, which will have run previously (to load the
appropriate disk-controller-specific version of mcopy off the tape) does that.

One can't actually boot V6 Unix directly from a V6 distribution tape, all one
can do is copy the disk images from the tape to the disk; one then boots from
the disk. (Although now that I look, there is tpboot.s, which claims to boot
from a file on a 'tp' format tape. But I don't think V6 was ever distributed
in that form - and in any case, it would still need a disk with a Unix file
system, with appropriate files - init, sh, etc - already on it, to be able to
boot Unix that way.)

Noel


Re: VTServer/etc for V6 Unix

2016-10-19 Thread Dennis Boone
 > > I know I made it work and booted V6 on my 11/34.

 > I'll start with getting VTServer to run under V6 (my only Unix, don't
 > have anything later :-), so if you turn up whatever you used to boot
 > V6, it would probably still be useful.

The sources for the V6 versions of the tmrk et al programs seem to be
here:

http://minnie.tuhs.org/cgi-bin/utree.pl?file=V6/usr/source/mdec

De


Re: VTServer/etc for V6 Unix

2016-10-19 Thread Noel Chiappa
> From: Warren Toomey wkt at tuhs.org 

> To load V6, you need to build a virtual tape which replicates the V6
> tape.

Err, there's the problem. The V6 boot tape consists of 3 'dd' images of RK05
V6 file systems (one each root, source, and doc), with a 'boot block' on the
tape which can copy them to RK05 packs; there is no standalone 'mkfs', etc.

Now, if I were willing to wait for the transfer of the entire 4K blocks, I
could use that approach, but... my only working mass storage device
(currently - more on the way, at some point) is an RX02 - much smaller. So I
_can't_ go that way, my only choice is to replicate the V7-type process
(stand-alone 'mkfs', etc), for V6.

Although I suppose I could use an emulator (I have been using Ersatz-11 to
run V6 for quite a while now) to produce a RX02-sized file system, with just
the stuff it needs to boot ('init', 'sh', etc), and use VTServer to transfer
that over. And I'd probably have to tweak the client-side code to write raw
images to disk (not sure if it already knows how to do that).

> the problem is that both "boot" and "vtboot.pdp" contain the
> client-side code to talk to the server, and it seems that I didn't
> supply the source code for this.
> ...
> Hah, the file .. v7_standalone.tar.gz has the source code for the
> standalone tools

Yup, found that some years back when I first found VTServer.

> Alternatively, if you have a working V6 environment (e.g. a simulator),
> you could bring in the vtclient.c code and integrate it into the V6
> boot binary.

The only V6 boot mechanisms are 1-block programs that go into block 0 of
device 0 and which boot Unix directly from that file-system (type a file
name, and it loads that file and starts it). So there is no second-stage boot
program to integrate the VT client into (although obviously I could port the
second-stage bootstrap to V6).


> From: Ian S. King

> I know I made it work and booted V6 on my 11/34.

I'll start with getting VTServer to run under V6 (my only Unix, don't have
anything later :-), so if you turn up whatever you used to boot V6, it would
probably still be useful.

Noel


Re: VTServer/etc for V6 Unix

2016-10-18 Thread Warren Toomey
Hah, the file 
http://www.tuhs.org/Archive/PDP-11/Tools/Tapes/Vtserver/v7_standalone.tar.gz
has the source code for the standalone tools including boot and vtboot.pdp.
So, given a working V7 environment, you should be able to rebuild these
and possibly make them work in a V6 environment.

Alternatively, if you have a working V6 environment (e.g. a simulator),
you could bring in the vtclient.c code and integrate it into the V6
boot binary.

Cheers, Warren


Re: VTServer/etc for V6 Unix

2016-10-18 Thread Ian S. King
On Tue, Oct 18, 2016 at 10:13 PM, Warren Toomey  wrote:

> Hi all, an early version of VTServer is still at:
> http://www.tuhs.org/Archive/PDP-11/Tools/Tapes/Vtserver/
>
> I think some others took it and extended; Fred van Kempen springs to
> mind.
>
> To load V6, you need to build a virtual tape which replicates the
> V6 tape. Hopefully this is easy to do.
>
> However, the problem is that both "boot" and "vtboot.pdp" contain the
> client-side code to talk to the server, and it seems that I didn't
> supply the source code for this.
>
> I'll go home and dig through my old stuff and see what I can find.
>
> Cheers, Warren
>

My plan too, Warren, but I haven't quite made it 'home' yet.  Writing a
paper for a workshop next month  :-)  I know I made it work and booted
V6 on my 11/34.  -- Ian

-- 
Ian S. King, MSIS, MSCS, Ph.D. Candidate
The Information School 
Dissertation: "Why the Conversation Mattered: Constructing a Sociotechnical
Narrative Through a Design Lens

Archivist, Voices From the Rwanda Tribunal 
Value Sensitive Design Research Lab 

University of Washington

There is an old Vulcan saying: "Only Nixon could go to China."


Re: VTServer/etc for V6 Unix

2016-10-18 Thread Warren Toomey
Hi all, an early version of VTServer is still at:
http://www.tuhs.org/Archive/PDP-11/Tools/Tapes/Vtserver/

I think some others took it and extended; Fred van Kempen springs to
mind. 

To load V6, you need to build a virtual tape which replicates the
V6 tape. Hopefully this is easy to do.

However, the problem is that both "boot" and "vtboot.pdp" contain the
client-side code to talk to the server, and it seems that I didn't
supply the source code for this.

I'll go home and dig through my old stuff and see what I can find.

Cheers, Warren


Re: VTServer/etc for V6 Unix

2016-10-18 Thread Noel Chiappa
> From: "Ian S. King"

> ISTR that one can generate a 'tape' config file with whatever components
> you want/need.

Right, I saw that, but I need the V6 components...

> I know there are v6-specific tools somewhere ... I think it's somewhere
> in the TUHS site, and not completely obvious so you have to hunt a bit.

Any hints you could provide would be most gratefully received. I looked in the
source tree, and doing a search for "mkfs" only turned up the normal V6
mkfs. (Note that for the V7 one, the source for the standalone and Unix
versions is one file, which has #ifdefs. That seems to be the one that's in
the VTServer tree.)

I had a pretty extensive walk through the archive 'back when' I first found
out about TUHS, and I don't think I saw V6 versions (I would likely have
grabbed them, if I had); I did find (and grab) VTServer, along with a bunch of
other stuff. I just took another quick skim, couldn't find them.

I would have guessed that they didn't exist, since that whole method of
putting Unix on a machine didn't exist until V7, so it wouldn't have been
written 'back in the day'.

Noel



Re: VTServer/etc for V6 Unix

2016-10-18 Thread Ian S. King
On Tue, Oct 18, 2016 at 5:31 PM, Noel Chiappa 
wrote:

> So, I'm trying to do what VTServer was invented for - load Unix into an
> actual
> PDP-11, over its serial line, when one doesn't have machine-readable Unix
> on
> any mass storage for the machine.
>
> However, all the initial code that VTServer loads ('mkfs', etc) is
> V7-specific
> (V6 has a slightly different file system format) - and I want to install
> V6.
>
> Has anyone ever tweaked the programs which VTServer loads to do V6-format
> filesystems? I did a quick Google, but didn't see anything.
>
> No biggie if not, it won't be much work to adapt them all, but I figured
> I'd
> try to avoid re-inventing the wheel...
>
> Noel
>

I did this once upon a time and, while I've slept since then, I'll try to
dredge up some memories.  This was putting 6th Edition on a PDP-11/34,
which still runs except for the RK05 I need to fix One Of These Days.

ISTR that one can generate a 'tape' config file with whatever components
you want/need.  That was true for tools, too - I didthis with v6, so I know
there are v6-specific tools somewhere, perhaps on some machine I still have
(and I think I know which one).

I recall finding documentation for it, too, and I think I even know where
it is.  I'm hoping it might have a URL in the header/footer, which might
still be extant - if not, I can scan it.  I think it's somewhere in the
TUHS site, and not completely obvious so you have to hunt a bit.  Cheers --
Ian

-- 
Ian S. King, MSIS, MSCS, Ph.D. Candidate
The Information School 
Dissertation: "Why the Conversation Mattered: Constructing a Sociotechnical
Narrative Through a Design Lens

Archivist, Voices From the Rwanda Tribunal 
Value Sensitive Design Research Lab 

University of Washington

There is an old Vulcan saying: "Only Nixon could go to China."


VTServer/etc for V6 Unix

2016-10-18 Thread Noel Chiappa
So, I'm trying to do what VTServer was invented for - load Unix into an actual
PDP-11, over its serial line, when one doesn't have machine-readable Unix on
any mass storage for the machine.

However, all the initial code that VTServer loads ('mkfs', etc) is V7-specific
(V6 has a slightly different file system format) - and I want to install V6.

Has anyone ever tweaked the programs which VTServer loads to do V6-format
filesystems? I did a quick Google, but didn't see anything.

No biggie if not, it won't be much work to adapt them all, but I figured I'd
try to avoid re-inventing the wheel...

Noel