I'm thinking tomorrow or Monday, I'm going to host a livestream involving exploring ancient UNIX, but before doing that, I want to do setup; so I might as well livetweet this as I go ... 1/
First thing first, we're going to need WSL, since I suspect making SIMH behave on Linux will be way easier ...
Ubuntu is downloading and installing ...
Obligatory neofetch after reboot
Interesting Ubuntu 20.04 got installed. Debating if I want to upgrade that ...
So SIMH is the GOTO for minicomputer emulation; there was a trouble over a license, but the current version to use seems to be OpenSIMH from here: github.com/open-simh/simh
Ok, hopefully this isn't too hard to build ...
Sorting dependencies ...
Ok, we're compiling. Switched to using Windows Terminal as well ...
So this is compiling quite slowly, but it is running tests. I may also want to build the Windows version of this, so let me grab Visual Studio Community while I'm here ...
It's a race to see which one finishes first ...
SimH is compiled. So right now, the plan is to see if we can get Research UNIX v5-v7, 2BSD, and/or BSD 4.x working. The Computer History Wiki has most of what I need ...
wiki.tuhs.org/doku.php?id=so… - there's a massive collection of ancient UNIX collections; I'm thinking I want to actually do want to grab and rsync all this down now ...
Unexpected problem; most of the TUHS links appear dead, and I'm having trouble finding a downloadable copy to mirror. I might have to use wget and suck an archive down ...
I found a working mirror, and got wget going. Going to grab this all, and toss it onto the @internetarchive once it's done, because loosing this trove would be bad ...
@internetarchive Looking through the archives while they mirror; there's a lot more here that I expected, including copies of A/B/C-News, which will make setting up a USENET site interesting ...
@internetarchive mmm, 5.1 GiB of history ...
@internetarchive frig, I wget-ed wrong, let's try THAT again ...
Ok, that's downloading correctly now \o/
Ok, its finished downloading, so let's take a brief look, starting with V5 UNIX and seeing what is there. There's a guide for it here: gunkies.org/wiki/Running_U…
The UNIX v5 image is in the form of a dump from a RK05 disk pack, which holds about 2.5 MiB in total. I think its an archive from an installed system, but its notably listed as incomplete.
Let's see if we can get it to run.
Welcome, to Research UNIX v5 ...
Well, this has breakage ...
What's going on?
Either cd isn't a shell built in, or Research UNIX v5 acts way differently than how v6 would ...
As pointed out by @ChartreuseK, v5 UNIX uses "chdir" and not "cd", something I didn't know!
Def a bit quirky to say the least. I don't want to spend that much time on this, since I want to show it on stream, but let's poke around a bit more ...
@ChartreuseK This image predates vi (which is from the BSD releases) by about five years. If you want to do anything, you're going to be using ed (paging @ed1conf)
Let's try adding a non-root user ...
@ChartreuseK @ed1conf Some editing later ...
@ChartreuseK @ed1conf Well, I was able to log in non-root, but I can't check my environment beyond that!
Kinda weird being on UNIX but missing most of the commands you'd expect (I'm too spoined by 4.x BSD I guess!)
Well, I tried to run hello world, but the C compiler rejected it. It looks like the syntax is actually pre-K&R ...
Looking at the source code to ln.c in /usr/source ...
Well the C compiler works, so obviously I'm doing something wrong ...
So, looking at the source of ln.c, I'm wondering if printf() doesn't exist yet; it's using write directly (on pipe 1, which is normally stdin on modern UNIX).
I also realized I fucked up the write command since you need to give the exact length ...
SUCCESS! Hello world on UNIX v5!
Hunt the Wumpus is here, but I think that's enough of this one for now ...
Ok, so since I know I can run v5 UNIX, time to see if I can load up 6th Edition, which has an installer, and supports a full 256 kb of memory too!
gunkies.org/wiki/UNIX_Sixt…
So v6 UNIX was distributed on tape, and was installed to a hard drive, such as a RP05 of similar; the tape is bootable, and has tools to setup and partition the system ...
(its unclear if v5 UNIX ever had such a distribution tape, its not clear it ever left AT&T)
So I'm actually going to take a bit of a break at setting this up, mostly because my brain is struggling, and instead, I want to check parts of the documentation.
v7 UNIX was the first to have UUCP, which was essentially "the poor man's ARPANET", although, I do suspect it was actually more influential than the actual ARPANET itself.
UUCP essentially allowed a batch transfer of email and commands from system to system; which, when combined with the later A/B/C-News packages, formed USENET, creating one of the first world wide accessible web forums.
The manual page mostly talks about copying files. This was essentially the analogue to FTP. Early ARPANET only really had remote login, and FTP at first.
Email (in the form of delivermail) came later, although it's very hard to tell when these breakthroughs came ...
datatracker.ietf.org/doc/html/rfc172 - looking through the IETF annuals, the earliest "complete" spec for FTP dates to 1971, although I'm not sure if any implementation of this *survives* ...
One of the first cracks at TELNET goes to RFC 97: datatracker.ietf.org/doc/html/rfc97
These RFCs predate TCP/IP incidentally. Might be easier to look at the IETF master list to figure out what else was there ...
Here's a neat one, NETRJQ, datatracker.ietf.org/doc/html/rfc88, meant for submitting remote jobs, and talks about wiring a punchcard reader to ARPANET!
I think I need to do more reading on ARPA routing ...
For those wondering, this is what ARPANET nodes look like, known as IMP. They were assigned a single byte as an address, with a port number, which connected a machine to ARPA backbone, using what was known as the 1822 protocol for what is called L2 these days.
Oh this is interesting; I thought there were no surviving IMP implementations, but it seems SIMH's KA10 running ITS might be able be complete?
gunkies.org/wiki/Incompati…
walden-family.com/bbn/imp-code.p… - there's a fairly long write up about recovering the IMP for Honeywell machines. Quite a few interesting bits and pieces here ...
So the IMP looks like it required modification to the host machine. That's not surprising for the era, but it does explain why they've never been emulated ...
Early RFCs are something else ...
It's more like a collection of numbered notes than anything else
So it looks like NETRJS, and TELNET were the first protocols, then FTP ...
They also had something called "logger" protocol, which appears to be remote sessions; I think telnet was for teletype-teletype communications; I need to read through this one ietf.org/rfc/rfc98.txt
This is interesting: RFC 109 (ietf.org/rfc/rfc109.txt) talks about ARPA at Lincoln Laboratories, and talks about putting System/360 on the network, plus graphics(!) over the wire ...
Glass terminals of the era, such as the IBM 2260 and 3270 could display fairly complex vector graphics via drawing commands, and software expected that capability.
UNIX and DOS meanwhile assume a dumb teletype as their input, so this capability disappeared for decades ...
ietf.org/rfc/rfc155.txt - interestingly, the IETF appeared to still operate as a dead tree mailing list even at this point. I know LISTSERV dated to ARPA, but I'm not sure when it went active ...
ietf.org/rfc/rfc196.txt - Found the first methon of what could be considered mail. Instead of email as we know it, the Network Information Center came up with what we now call network printing.
As in a printer ...
Shows how non-obvious progress can be ...
Interesting, so RFC205 talks about NETCRT; which is essentially a character level split.
This would be similar to how screen works, since it talks about putting a non-timesharing application on the network. ietf.org/rfc/rfc205.txt
RFC289 has a list of all hosts on the network. You can see the formal name, and the numeric address. This would become the HOSTS file, and then become DNS over time ...
RFC 347 and 348 are the first to talk about echo/discard. Those protocols are essentially gone, but they were part of inetd and any internet facing host for a LONG time ...
(other ones from that pile are chargen, time, and daytime)
web.archive.org/web/2006050600… - so this talks about the "first" email on ARPANET, and the proposed mailbox, but I haven't quite figured out when mail was properly sent.
I know Berknet and UUCP date to 1978/9. I may need to try and find information on SENDMSG and TENEX ...
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.
