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.)
Hi,
I successfully made SIMH VAX-11/780 emulator run 32V, 3BSD and 4.0BSD.
Details are on my web site (thogh rather tarse):
http://zazie.tom-yam.or.jp/starunix/
Enjoy!
Naoki Hamada
nao(a)tom-yam.or.jp
Hi. Most of those files would seem to be the generic XDR and RPC code
that Sun released for general use.
The three nfs/* files make me curious though, since Sun would license
their implementation, but not give it away.
It may be that the UWisc dist actually used real Sun code, in which
case anyone using it would have needed a SunOS license also.
Ah, those were the days. I remember that the early versions of SunOS 4.1.x
had both RFS and NFS in them. The original System V Release 4 did too,
as did early versions of Solaris. Sometime around Solaris 5.3 or so Sun
wised up that no-one was using or cared about RFS and they pulled it
out of Solaris. :-)
Arnold
> Date: Tue, 24 Mar 2009 07:00:55 -0400
> Subject: Re: [TUHS] Uwisc4.3 question...
> From: Jason Stevens <neozeed(a)gmail.com>
> To: Aharon Robbins <arnold(a)skeeve.com>, tuhs(a)minnie.tuhs.org
> X-MIME-Autoconverted: from quoted-printable to 8bit by f7.net id n2OB0ta22275
>
> Yeah there is certainly sun code... for example here's the copyright
> bit in a file:
>
> /*
> * xdr.c, Generic XDR routines implementation.
> *
> * Copyright (C) 1984, Sun Microsystems, Inc.
> *
> * These are the "generic" xdr routines used to serialize and de-serialize
> * most common data items. See xdr.h for more info on the interface to
> * xdr.
> */
>
> % egrep -ril 'sun microsystems' *
> h/des.h
> h/dnlc.h
> nfs/nfs_server.c
> nfs/nfs_vfsops.c
> nfs/nfs_vnodeops.c
> rpc/auth.h
> rpc/authunix_prot.c
> rpc/auth_kern.c
> rpc/auth_none.c
> rpc/auth_unix.c
> rpc/auth_unix.h
> rpc/clnt.h
> rpc/clnt_kudp.c
> rpc/clnt_perror.c
> rpc/clnt_raw.c
> rpc/clnt_simple.c
> rpc/clnt_tcp.c
> rpc/clnt_udp.c
> rpc/kudp_fastsend.c
> rpc/pmap_clnt.c
> rpc/pmap_clnt.h
> rpc/pmap_getmaps.c
> rpc/pmap_getport.c
> rpc/pmap_prot.c
> rpc/pmap_prot.h
> rpc/pmap_rmt.c
> rpc/rpc.h
> rpc/rpc_msg.h
> rpc/rpc_prot.c
> rpc/subr_kudp.c
> rpc/svc.c
> rpc/svc.h
> rpc/svc_auth.c
> rpc/svc_auth.h
> rpc/svc_auth_unix.c
> rpc/svc_kudp.c
> rpc/svc_raw.c
> rpc/svc_simple.c
> rpc/svc_tcp.c
> rpc/svc_udp.c
> rpc/xdr.c
> rpc/xdr.h
> rpc/xdr_array.c
> rpc/xdr_float.c
> rpc/xdr_mbuf.c
> rpc/xdr_mem.c
> rpc/xdr_rec.c
> rpc/xdr_reference.c
> rpc/xdr_stdio.c
> sys/heap_kmem.c
> sys/vfs_dnlc.c
> ufs/quota.c
> ufs/quota_syscalls.c
> ufs/quota_ufs.c
> ufs/ufs_dir.c
>
>
> On Tue, Mar 24, 2009 at 5:14 AM, Aharon Robbins <arnold(a)skeeve.com> wrote:
> >> Date: Sun, 22 Mar 2009 00:53:07 -0400
> >> From: Jason Stevens <neozeed(a)gmail.com>
> >> To: tuhs(a)minnie.tuhs.org
> >> Subject: [TUHS] Uwisc4.3 question...
> >>
> >> I went ahead and downloaded this [
> >> http://www.tuhs.org/Archive/4BSD/Distributions/thirdparty/UWisc4.3/ ],
> >> made up some tape images and installed it on SIMH... And what I found
> >> is that as far as I can tell there is *NO* information about this
> >> thing..
> >>
> >> All I can find is that it includes the vfs layer from SunOS and it's
> >> NFS... It looks like beta software from the root user being "The Not
> >> Ready for Prime Time Super User".
> >
> > Does the code actually say "Sun Microsystems"? If not, then this might have
> > been the VFS and NFS stuff that got folded back into BSD Reno.
> >
> > I think there were other schools that ran this. At the same time
> > as this entry (1989) I was a sysadmin in the computing center
> > of Emory University and we were running Mt. Xinu's mixture of
> > 4.3 BSD with NFS from Sun, and then later their commercial Unix
> > on Vax 11/780s, and starting to move to Sparcs running SunOS 4.0.
> One of the uni's I went to made that transition in the mid 90's.. At
> that time I didn't realize how many 'upgrades' they had made to Ultrix
> to make it... usable. Although I don't think I miss archie/veronica
> but the simplicity of pine/lynx is kind of there.. oh sure they still
> run on 'modern' things but it isn't the same really.
> >
> > The comp. center preferred having a vendor with whom there could be
> > a support contract - IIRC then otherwise we probably would have
> > been running this too.
> >
> > Ah, those were the days, when men were real men, and computers
> > were vaxen. :-)
> >
> >> FWIW here is the UUCP entry I found...
> >> ------
> >> #N eedsp
> >> #S Vax 11/780; 4.3+NFS Wisconsin Unix
> >> #O School of Electrical Engineering
> >> #C Deborah J. Jackson
> >> #E gt-eedsp!deb
> >> #T +1 404 894 3058
> >> #P School of EE, Georgia Tech, Atlanta, GA, 30332
> >> #L 84 23 43 W / 33 46 30 N
> >> #W eedsp!deb (Deb Jackson); Wed Jul 19 11:35:13 EDT 1989
> >> ------
> >
> > I knew Deb Jackson and worked with her a little when we were both at GT
> > (I was in Information and Computer Science, not EE) and then a lot when
> > I suggested that the start-up company I was at hire her (which they
> > did). I've not seen her in around 18 years, nor do I know where she is
> > now, although presumably she's still in Atlanta somewhere.
> >
> > Arnold
> >
>
> It's funny the weird things that get left around the internet... and
> the host file from that tape image is MASSIVE.. lol and I thought
> having a DNS zone with that many enteries was crazy... I did manage
> to hack the networking for it to work... It's not elegant, but
> commenting out the error checking in if_de's derecv procedure seems to
> work... I could ping around for the last 5 hours, and telnet into it.
> I'll have to build some package with simh to run it on windows...
>
I went ahead and downloaded this [
http://www.tuhs.org/Archive/4BSD/Distributions/thirdparty/UWisc4.3/ ],
made up some tape images and installed it on SIMH... And what I found
is that as far as I can tell there is *NO* information about this
thing..
All I can find is that it includes the vfs layer from SunOS and it's
NFS... It looks like beta software from the root user being "The Not
Ready for Prime Time Super User".
There is also a tadl user, Tad Lebeck which I think is from "Storage
Confrence"..
Anyways it seems absent from the UNIX tree, and just about anywhere
from google's search of usenet, other then a single node running this
back in the UUCP days..
So is this a unique build of 4.3, is it it's own thing? Should it be
added to the unix tree? Did it get rolled back into RENO?
It does appear to be dead end, but I haven't combed that much thru it..
FWIW here is the UUCP entry I found...
------
#N eedsp
#S Vax 11/780; 4.3+NFS Wisconsin Unix
#O School of Electrical Engineering
#C Deborah J. Jackson
#E gt-eedsp!deb
#T +1 404 894 3058
#P School of EE, Georgia Tech, Atlanta, GA, 30332
#L 84 23 43 W / 33 46 30 N
#W eedsp!deb (Deb Jackson); Wed Jul 19 11:35:13 EDT 1989
------
And for the heck of it, a bootup log..
------
loading ra(0,0)boot
Boot
: ra(0,0)vmunix
290188+89696+102928 start 0x12f8
4.3 BSD UNIX #3: Mon Dec 29 11:54:56 CST 1986
tadl@brie:/usr/src/bsd/4.3/sys/GENERIC
real mem = 8388608
SYSPTSIZE limits number of buffers to 134
avail mem = 7136256
using 134 buffers containing 524288 bytes of memory
mcr0 at tr1
mcr1 at tr2
uba0 at tr3
hk0 at uba0 csr 177440 vec 210, ipl 15
rk0 at hk0 slave 0
rk1 at hk0 slave 1
rk2 at hk0 slave 2
rk3 at hk0 slave 3
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
dz1 at uba0 csr 160110 vec 310, ipl 15
dz2 at uba0 csr 160120 vec 320, ipl 15
dz3 at uba0 csr 160130 vec 330, ipl 15
Changing root device to ra0a
Automatic reboot in progress...
Sat Mar 21 16:45:41 PST 1987
/dev/ra0a: 355 files, 5885 used, 1544 free (8 frags, 192 blocks, 0.1% fragmion)
/dev/rra0g: 12289 files, 65182 used, 180043 free (275 frags, 22471
blocks,fragmentation)
/dev/rra0h: 2 files, 9 used, 138575 free (15 frags, 17320 blocks, 0.0% fragtion)
Sat Mar 21 16:45:49 PST 1987
/dev/ra0a mounted on /
/dev/ra0g mounted on /usr
/dev/ra0h mounted on /mnt
starting rpc daemons: portmap rpcd.
starting system logger
starting local deamons: routed sendmail biod.
preserving editor files
clearing /tmp
standard daemons: update cron.
starting network daemons: inetd printer.
Sat Mar 21 16:45:54 PST 1987
Wisconsin UNIX (myname console)
4.3+NFS > V.*
login: root
Last login: Sat Mar 21 16:44:51 on console
4.3 BSD UNIX #3: Mon Dec 29 11:54:56 CST 1986
You have mail.
Don't login as root, use su
myname#
> Date: Sun, 22 Mar 2009 00:53:07 -0400
> From: Jason Stevens <neozeed(a)gmail.com>
> To: tuhs(a)minnie.tuhs.org
> Subject: [TUHS] Uwisc4.3 question...
>
> I went ahead and downloaded this [
> http://www.tuhs.org/Archive/4BSD/Distributions/thirdparty/UWisc4.3/ ],
> made up some tape images and installed it on SIMH... And what I found
> is that as far as I can tell there is *NO* information about this
> thing..
>
> All I can find is that it includes the vfs layer from SunOS and it's
> NFS... It looks like beta software from the root user being "The Not
> Ready for Prime Time Super User".
Does the code actually say "Sun Microsystems"? If not, then this might have
been the VFS and NFS stuff that got folded back into BSD Reno.
I think there were other schools that ran this. At the same time
as this entry (1989) I was a sysadmin in the computing center
of Emory University and we were running Mt. Xinu's mixture of
4.3 BSD with NFS from Sun, and then later their commercial Unix
on Vax 11/780s, and starting to move to Sparcs running SunOS 4.0.
The comp. center preferred having a vendor with whom there could be
a support contract - IIRC then otherwise we probably would have
been running this too.
Ah, those were the days, when men were real men, and computers
were vaxen. :-)
> FWIW here is the UUCP entry I found...
> ------
> #N eedsp
> #S Vax 11/780; 4.3+NFS Wisconsin Unix
> #O School of Electrical Engineering
> #C Deborah J. Jackson
> #E gt-eedsp!deb
> #T +1 404 894 3058
> #P School of EE, Georgia Tech, Atlanta, GA, 30332
> #L 84 23 43 W / 33 46 30 N
> #W eedsp!deb (Deb Jackson); Wed Jul 19 11:35:13 EDT 1989
> ------
I knew Deb Jackson and worked with her a little when we were both at GT
(I was in Information and Computer Science, not EE) and then a lot when
I suggested that the start-up company I was at hire her (which they
did). I've not seen her in around 18 years, nor do I know where she is
now, although presumably she's still in Atlanta somewhere.
Arnold
if anyone is interested, I noticed that if you remove the error
checking form the recv portion of the if_de driver it seems to work
for 4.3 BSD & variants... As far as I know there is no if_de for 4.2
BSD... But then if there were you would still have it's
incompatibility problems...
Anyways, here is a diff from 4.3 BSD
*** if_de-orig.c Mon Mar 24 04:05:10 1986
--- if_de.c Mon Mar 24 04:06:09 1986
***************
*** 457,466 ****
len = (rp->r_lenerr&RERR_MLEN) - sizeof (struct ether_header)
- 4; /* don't forget checksum! */
/* check for errors */
! if ((rp->r_flags & (RFLG_ERRS|RFLG_FRAM|RFLG_OFLO|RFLG_CRC)) ||
(rp->r_flags&(RFLG_STP|RFLG_ENP)) != (RFLG_STP|RFLG_ENP) ||
(rp->r_lenerr & (RERR_BUFL|RERR_UBTO|RERR_NCHN)) ||
len < ETHERMIN || len > ETHERMTU) {
ds->ds_if.if_ierrors++;
if (dedebug)
printf("de%d: ierror, flags=%b lenerr=%b (len=%d)\n",
--- 457,468 ----
len = (rp->r_lenerr&RERR_MLEN) - sizeof (struct ether_header)
- 4; /* don't forget checksum! */
/* check for errors */
! /*** if ((rp->r_flags & (RFLG_ERRS|RFLG_FRAM|RFLG_OFLO|RFLG_CRC)) ||
(rp->r_flags&(RFLG_STP|RFLG_ENP)) != (RFLG_STP|RFLG_ENP) ||
(rp->r_lenerr & (RERR_BUFL|RERR_UBTO|RERR_NCHN)) ||
len < ETHERMIN || len > ETHERMTU) {
+ ***/
+ if(1==5){
ds->ds_if.if_ierrors++;
if (dedebug)
printf("de%d: ierror, flags=%b lenerr=%b (len=%d)\n",
I have set it up with my SLiRP patch, and I had it pinging away at
10.0.2.2 for 5 hours, 100% success, and I had no issues TELNETTing
into the VM..I think that BSD see's the crc32 on the end and treats
all inbound packets as bad, dropping them all.. so I just quickly
sidestepped the error check.. I would imagine this would work with
SIMH's libpcap support so you can now get your virtual 11/780 onto the
Internet, and party like it's 1986!
For any windows users out there, I'll package up 4.3 BSD & the
Wisconsin version up onto sourceforge...
http://sourceforge.net/project/showfiles.php?group_id=204974&package_id=245…