[TUHS] 1bsd compatible ar utility
Will Senn via TUHS
tuhs at tuhs.org
Thu Jul 23 13:05:19 AEST 2026
Clem,
That sure explains a lot of the pain. I shoulda known better than to
think it'd be straightforward :)....
V6->50 fixes->Harvard tape->typsetter C->BSD1->... BSD2?
Where does V7 fit - post BSD2?
Wow. On paper it all sounded reasonable, unfortunately the paper's a
little thin. I'm going to try 50 fixes as my next V6 project.
Thanks,
Will
On 7/22/26 8:16 PM, Clem Cole wrote:
> Will,
>
> The issue is you are skipping a few steps as it turns out. BSD
> (a.k.a. What we call 1BSD) probably cannt be installed on virgin V6
> distribution. By the time it was released there were two important V6
> updates in the wild that most likely of us (like Joy at UCB did) had
> already installed. The most important is the 50 fixes from Ken. That
> is likely to get the kernel itself closer to what Bill was running
> (remember Jen had already done is sabbatical at UCB so all of those
> were there). The second is the first USENIX tape, often called the
> Harvard tape. That will have a number of utilities such as the
> updated ar and two new versions of tp (the C rewrite from assembled
> and super tp - stp - which already started to become the standard as
> it had some more graceful error support such as a second copy of it
> directory at the end of tape). Note to use tp (or v6tar which Bill
> gives you a binary) you’ll need an updated tape driver. All of that in
> on the Harvard tape - but I’ve forgotten exactly where.
>
> The other issue is the compiler. Dennis has updated C and released
> his replacement for Lesk’s portable C library with his new I/O library
> libS.a. This compiler was bundled with the troff kit, as is often
> referred to as “Typesetter C.” It is also compiler Dennis and Brian
> are discussing in K&R1. Sadly we can’t seem to find a copy of that
> distribution but we have mostly reconstructed much of it from other
> systems.
>
> That compiler plus some other additions, ended up in V7 and libS.a was
> folded into libc.a.
>
> We had that compiler at CMU by 1976/77 timeframe, and I’m fairly sure
> UCB had it also. As I said it’s the compiler from K&R1 and a lot of
> sites (I would suspect that most of the core USENIX sites outside of
> the Bell System were using it, so Bill expecting it he there was
> really not surprising.
>
>
> Talk to me offline and I can try help you with much of your stumbles.
> I have gotten much of the original BSD tape to work. FWIW Noel
> Chiappa’s MIT V6++ system is probably the most comfortable V6 I’ve
> seen, as it has most things you might expect. It has pretty much
> all the major upgrades the we all tried to add to our V6 system. Im
> not 100% sure, but I would be surprised if he don’t have Dennis
> compiler. If might also want to you look at
> https://www.tuhs.org/Archive/Distributions/Research/Tim_Shoppa_v6/README Tim
> Shoppa V6 system from UBC is also fairly complete.
>
> Clem
>
>
> Sent from a handheld expect more typos than usual
>
> On Wed, Jul 22, 2026 at 7:17 PM Will Senn via TUHS <tuhs at tuhs.org> wrote:
>
>
> On 7/22/26 3:34 PM, Will Senn wrote:
> >
> > On 7/22/26 2:56 PM, segaloco via TUHS wrote:
> >> On Wednesday, July 22nd, 2026 at 12:20, Will Senn via
> TUHS<tuhs at tuhs.org> wrote:
> >>
> >>> Hi All,
> >>>
> >>> I am working through a 1BSD installation on Research Unix V6.
> >>> The||cont.a archives use magic |0177545|, which stock V6 ar
> does not
> >>> understand. V7 appears to be able to, but on V6 it immediately
> dies with
> >>> |Bad system call|. Inspection shows references to later calls
> including
> >>> |access|and |ioctl|, so it appears to have been linked against
> a post-V6
> >>> libc. I came across some old emails talking about this and an nar
> >>> utility... Does anyone know where the source for this |nar|utility
> >>> lives, or of a V6-native |ar|that supports |0177545|archives?
> >>>
> >>> newoldar on the host works fine, too, but I'd rather not
> extract on the
> >>> host. I'm hoping to do this native. I'm working with a pristine v6
> >>> installed from tape on pdp 11/70 with split I/D and FPP
> (opensimh).
> >>>
> >>> 1BSD doesn't include an ar utility in the tarball on TUHS. Did
> folks not
> >>> do this from pure v6? or what?
> >>>
> >>> Thanks,
> >>>
> >>> Will
> >>>
> >> Both USG PG3 and PWB1 have copies of ar(I) featuring the NARMAG
> value of 0177545, they may prove useful.
> >>
> >>
> https://www.tuhs.org/cgi-bin/utree.pl?file=USG_PG3/usr/source/cmd1/ar.c
> >> https://www.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s1/ar.c
> >>
> >> - Matt G.
> >
> > Thanks, Matt,
> >
> > I pulled the PWB1 |ar.c|, made a few small changes for stock V6
> > compatibility (just enough for t and x support), and compiled it
> > natively under V6. The resulting binary successfully lists and
> > extracts the |0177545|1BSD archives.
> >
> > So the archive problem is "solved". Much appreciated.
> >
> > Will
> >
>
> The archive problem got solved, but I don't think 1bsd is truly meant
> for a pristine v6 from tape. ex, apparently requires a v7 cc, and
> ashell
> core dumps on syscalls that don't exist in v6:
> ./ashell
> Bad system call -- Core dumped
>
> READ_ME (for ashell):
>
> cat READ_ME
> Wed Oct 19, 1977
>
> This directory contains the source for a shell.
> It requires floating point to do the time command which is built-in
> so you will have to cc it -f on machines without floating point.
> It also requires a version 7 C compiler.
>
> Accurate documentation is in the file "sh.6" to be nroffed with
> /usr/man/man0/naa and a new "version 7" nroff.
>
> This shell requires the "htmp" data base also used by the editor "ex".
> If you do not set it up so that the "sethome" command is done by
> "login"
> then you should use the old "osethome" routine in ../s6 rather than
> "sethome"
> and reenable the execl of this sethome in the file "sh.c" (with
> the correct
> pathname).
>
> Bill Joy
> CS Division
> Department of EE and CS
> UC Berkeley
> Berkeley, California 94704
>
> (415) 524-4510 [HOME]
> (415) 642-4948 [SCHOOL]
>
> Some of the utilities work fine:
>
> # ./version
> char version[] "October 10, 1975";
> # ./version | ./wc
> 1 5 35
>
> but as I'm really just trying (again, but with more knowledge than
> before and an AI assist to boot) to recreate the experience of doing
> this the hard way, I want to get ashell working, pascal, ex, trek,
> etc.
> Any hints or tips on getting the correct starting evirons set up
> appreciated.
>
> Will
>
More information about the TUHS
mailing list