I've assembled some notes from old manuals and other sources
on the formats used for on-disk file systems through the
Seventh Edition:
http://www.cita.utoronto.ca/~norman/old-unix/old-fs.html
Additional notes, comments on style, and whatnot are welcome.
(It may be sensible to send anything in the last two categories
directly to me, rather than to the whole list.)
now that i've signed up for this list I have forgotten what the topic is?
I am a disabled veteran, I do some work with Linux as a hobby, and some
web sites, also as
a hobby. I may be getting a Vaxstation soon. I don't think is one of
the ones supported by
Linux yet.
Richard Snow
----- Forwarded message from Ian Molton -----
>From spyro(a)f2s.com Tue Oct 1 09:02:24 2002
Date: Tue, 1 Oct 2002 00:15:35 +0100
From: Ian Molton <spyro(a)f2s.com>
To: wkt(a)tuhs.org
Subject: Re: Making boot disks
On Tue, 1 Oct 2002 07:37:35 +1000 (EST)
Warren Toomey <wkt(a)minnie.tuhs.org> wrote:
> I'll pass this to the mailing list to see if others can help you.
> I'd say that Linux is unlikely to construct the correct filesystem
> type. There are severl UFS variants, and you'd need to know the exact
> layout details to be sure that Linux (or something else) could create
> the boot disks.
Thanks.
I found some ufs code in the HURD source, and VERY crudely hacked it. It
creates filesystems that linux can mount, but it crashed trying to write
big files to it (doh!)
any advice from the list would be appreciated :)
----- End of forwarded message from Ian Molton -----
In article by Ian Molton:
> Hi.
>
> Dunno if you can help me ont this...
>
> I have an unusual UNIX derived OS called RISCiX, but I cant install it
> because I have no bootdisks.
>
> I /do/ have scripts to make them, and the kernel + OS files, though.
>
> I think the filesystem was UFS.
>
> I can use my Linux box to create a filesystem, but I dont have a copy of
> the right utility (newfs?).
>
> Can you point me to source?
I'll pass this to the mailing list to see if others can help you.
I'd say that Linux is unlikely to construct the correct filesystem type.
There are severl UFS variants, and you'd need to know the exact layout
details to be sure that Linux (or something else) could create the
boot disks.
Warren
Following up Toomey's and Davidson's notes
(didn't see Garcia's):
It does appear that the early-distributed v7 didn't
require = in initializers. A slightly later version
of the original 11 C compiler did; the lines Davidson quoted,
if (o!=ASSIGN)
peeksym = o;
were replaced by
if (o!=ASSIGN) {
error("Declaration syntax");
peeksym = o;
}
bringing it into conformity with K&R1, which
did require the =.
Incidentally, if anyone wants to try the v7 crypt(3),
the 'encrypt' routine has an implicit, and unwarranted,
assumption that the L and R arrays are adjacent in storage
and thus that L can be oversubscripted to access R.
This was fixed at some (surprisingly late) point too.
Dennis
Hello,
My PDP11/44 is currently running RSX11M but since I lack experience and
documentation of RSX, I'd like to install a BSD-Unix.
I suppose I can install 2.11BSD or 2.9BSD on a 11/44. Which one should I
choose ? I do allready have 2.11 on my 11/93, so I might want to try 2.9BSD if
this is not asking for trouble.
I do have 1Mb of ram, two RL02 drives (and some disks, so I can always keep
RSX), FPU, Ethernet.
But I don't have a tapedrive!
I thought I could write the RL02 disks on my 11/93 and then put them in my
11/44. Will this work ? Is there something special I need to know ?
Regards,
--lothar
--
Werden Sie mit uns zum "OnlineStar 2002"! Jetzt GMX wählen -
und tolle Preise absahnen! http://www.onlinestar.de
In article by A. P. Garcia:
> Warren,
>
> I've been looking at the Henry_Spencer_v7 tar, and something
> is puzzling me. lines 49-54 of /usr/src/libc/gen/crypt.c are
> the following:
>
> static char PC1_D[] {
> 63,55,47,39,31,23,15,
> 7,62,54,46,38,30,22,
> 14, 6,61,53,45,37,29,
> 21,13, 5,28,20,12, 4,
> };
>
> That wasn't legal syntax, was it? There should be an '='
> between [] and {, as in the rest of the file, no?
I just tried to compile the code with the V7 compiler and it complained.
Maybe it was legal in V6 and they used the .o file from there and didn't
recompile it.
I think Dennis is on the list, maybe he can answer the intruiging question!
> Btw, it's neat to look at this code alongside the DES standard:
> http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf
> Phil Garcia
Yes, it certainly is.
Thanks Phil.
Warren
As Billquist, Wilson and others pointed out, the first
versions of Unix did run on machines with no memory
mapping or protection, and indeed context-switching
was accomplished by swapping. By 1973 we had the luxurious
11/45, to considerable relief.
I'm not positive about the logo on our first PDP-11.
On the earliest handbook I have, the front panel photo
just shows "PDP11", though inside the handbook
it does talk about the two models (11/10 and 11/20).
Both had the same KA11 processor, but the basic
11/10 sported 1024Kw ROM memory plus a generous
128 words of RAM, while the 11-20 had
4096Kw core RAM, and the ASR33 Teletype was included.
You could add more RAM to the 11/20.
Incidentally, the machine's handbook was a wonder.
In 104 pages (each 5.25x8 inches), it described the whole
system: not only the instruction set but the theory
of the Unibus (including some logic diagrams) together with
programming specifications for the TTY, the clock,
and the paper tape reader.
Dennis
Hi -
A few days ago the "getty plays parity games" topic came up
again.
I've been thinking about it and looked at the kernel a bit more.
7e1 is rather firmly in place and I'm not sure turning the 'console'
(kl/dl) driver into a "LITOUT only" one is a 100% correct way to
go (the other drivers such as dz, dh, etc remain 7e1 output by
default).
Here's a patch for getty/main.c which I think will do what's
wanted without having to modify the kernel:
------------snip-------------
*** main.c.dist Mon Sep 9 16:52:24 2002
--- main.c Mon Sep 9 16:56:55 2002
***************
*** 384,391 ****
c = cc;
c |= partab[c&0177] & 0200;
! if (OP)
! c ^= 0200;
if (!UB) {
outbuf[obufcnt++] = c;
if (obufcnt >= OBUFSIZ)
--- 384,401 ----
c = cc;
c |= partab[c&0177] & 0200;
! /*
! * If "any" parity do nothing otherwise set even parity unless OP is
! * set. Since 'ap' is set in the "default" entry of /etc/gettytab this
! * has the effect of disabling parity on output without having to change
! * the kernel.
! */
! if (!AP) {
! c |= partab[c & 0177] & 0200;
! if (OP)
! c ^= 0200;
! }
!
if (!UB) {
outbuf[obufcnt++] = c;
if (obufcnt >= OBUFSIZ)
--------------snip---------------
What this does is check the "AP" (AnyParity) flag from /etc/gettytab
and if NOT set then do the 'even' (or 'odd' if OP is set) parity.
Since 'ap' is present in the default line of /etc/gettytab the above
block effectively becomes a no-op unless /etc/gettytab is explicitly
set for 'ep' or 'op'.
If someone could test this and report back I'd appreciate it.
Thanks.
Steven Schultz
sms(a)2bsd.com
Is there a description anywhere of how C was originally bootstrapped?
I'm sure it was nothing unconventional, but the question of how you
bring up compilers for other languages which are implemented in their
own language seems to mystify some people to the extent that they
argue that the compiler must be written in C (which is `always
there'), and I thought it would be good to have the real story about C
to tell them.
Thanks
--tim