8 ms·
A Port of “The Last True Unix” to x86
- phendrenad2 6y agoInteresting. I wonder what the license is (haven't downloaded the ISO yet and apparently it's on there).
- kps 6y agoV7 is definitely covered by the Ancient UNIX License, and although there was for a while some doubt whether Caldera actually had the right to grant it, apparently¹ the current legal owner accepts its validity. ¹ https://www.betaarchive.com/forum/viewtopic.php?t=25745#p310450 https://www.betaarchive.com/forum/viewtopic.php?t=25745#p310...
- TedDoesntTalk 6y agoHe writes on the page, “Source code is available under a BSD-style license.”
- 1MachineElf 6y agoIs the BCPL stuff on the bottom half of the page intended to work on his version of v7/x86?
- Taniwha 6y agoI think it's unrelated - the BCPL tapes included the code you needed to port it and it was from around the same time - making it run on V7 is probably a couple of hundred lines of code for the VM interpreter used in porting
- ta8645 6y agoIt's really not clear why it appears without comment on the same page. My impression is that as a first step you would use BCPL to bring up a C compiler that targets a new machine, and then use it to port UNIX onto the new machine.
- rootbear 6y agoThis has been out for some years. I played with it a bit when it was first released and it was definitely a fun trip down memory lane. I'm sorry that the author hasn't continued to update it, it still had some rough edges, but I don't remember the details now.
- dboreham 6y agoFirst real computer I used, and first exposure to open source was v7 on an 11-45 in 1981. The sysadmin caught me running a huge print job. Asked angrily what I was printing. I said the C compiler source. He says "Oh, ok, that's fine then".
- anonymousiam 6y agoHopefully he doesn't get sued by SCO. https://www.zdnet.com/article/sco-is-dead-sco-unix-lives-on/ https://www.zdnet.com/article/sco-is-dead-sco-unix-lives-on/
- azalemeth 6y agoGenuine question: what was SCO good for? I'm young enough that literally the only reason I've ever heard of them is for their ill-guided, failed litigation attempts. I've heard a lot of (mostly good) things 'bout the BSDs, HP-UX / SunOS / NeXT / AIX etc, and even driven Irix and Solaris myself. But SCO is never mentioned and I've literally never met someone who used (uses?) it. Yet somehow...they live on, albeit in a lawyerly state of death. What's the story?
- cmrdporcupine 6y agoIt kind of had its heyday in the awkward era where PCs were _just_ powerful enough to finally run Unix decently but before Linux was considered mainstream or mature enough. And that was a very short period, maybe 92-95 or so? Its predecessor, Xenix, may have had more brand awareness? I remember a summer job I had, 1998. Contracting doing basic sysadmin stuff for a subsidiary of IBM. I wanted to install Linux on a PC to do some stuff, mostly account password stress testing, etc. Got sign off from most of the team, but one guy dug his foot in... "we should use a real Unix. This Linux thing could get us in trouble. We should be using SCO" He got some funny looks. The next year all of IBM was all-in on Linux, big corporate strategy.
- hapless 6y agoSCO's peak was in the late 1980s, when 286 and 386 systems cost a lot less than a more "serious" UNIX box
- chungus_khan 6y agoAnd if you didn't need the extra power you could get all the suffering of a Sun box for the cost of a common office PC. I think that's why I've seen very few workstations using it, but it's pretty common as a shared industrial system. If you need a single user system you'd just use DOS, if you need a powerful workhorse you'd get a fancier system, possibly some newfangled RISC machine, but if you need a multitasking system and don't need much power for any individual task it's ideal.
- ggm 6y ago9th and 10th edition are still Thompson and Ritchie. What is his beef with last true unix?
- spijdar 6y agoI guess it's a "purity" thing, research unix post 7th ed. were derived from 4BSD, inheriting most of its "bloat", if that sort of thing bothers you. On the other end of the scale, Plan9 could be seen as the successor to v10 research unix, at least in spirit.
- ggm 6y agoI loved 7th edition, used it on a pdp11, I also liked 32V. Since this port includes vi, the whole 'no BSD' thing is a bit silly. If it has sockets, it has BSD.
- kps 6y agoV8+ were not publicly available, so the successors to V7 were 4BSD and System V. Hence repurposing Hoare, V7 “was not only an improvement on its predecessors, but also on nearly all its successors”.
- fb03 6y agocould I like, compile and continuously update this until I'd be able to say, have a modern libc and, for example, compile a version of python on top of it? that sounds like a fun (nightmare, for giggles) to do
- codezero 6y agoprobably, but you'd probably get better mileage (and modern support out of a pretty active academic community) out of doing that with xv6: https://pdos.csail.mit.edu/6.828/2020/xv6.html https://pdos.csail.mit.edu/6.828/2020/xv6.html
- nineteen999 6y agoYou'd hit big problems almost immediately, eg. your initial C compiler would be K&R, you'd eventually have to be able to bootstrap a C89 capable compiler. That's without having any TCP/IP support and extremely limited storage space for source code and compiled binaries by today's standards. I considered attempting this once starting from AT&T SVR4 - even though it had TCP/IP with the right addon package and a C compiler - gcc had dropped SVR4 support a long time ago. There's probably another couple of hundred obstacles along the way as well...
- acqq 6y agoFor those who are interested in which sources aren't included: https://www.nordier.com/v7x86/files/RELNOTES https://www.nordier.com/v7x86/files/RELNOTES "The following limitations apply to the distribution: - The source to the C compiler is not part of the distribution. This is currently built separately as a component of a modified version of the Amsterdam Compiler Kit (ACK). - The source for boot (the second stage bootstrap) is not part of the distribution. This is currently built separately using a 16-bit version of pcc." The compilers mentioned: https://en.wikipedia.org/wiki/Amsterdam_Compiler_Kit https://en.wikipedia.org/wiki/Amsterdam_Compiler_Kit https://en.wikipedia.org/wiki/Portable_C_Compiler https://en.wikipedia.org/wiki/Portable_C_Compiler
- hedora 6y agoIn case other case people are wondering about the license: https://www.nordier.com/v7x86/files/COPYRIGHT https://www.nordier.com/v7x86/files/COPYRIGHT Tl;dr: all bsd-ish.
- peter_d_sherman 6y agov7x86-0.8a.tar - ~13 MB v7x86-0.8a.iso - ~14.6 MB Keep in mind, that also includes kernel, kernel source, C compiler, C compiler source, and utilities and utility source. For comparison, the source of most recent version of gcc, 10.2 -- gcc-releases-gcc-10.2.0.tar.gz -- weighs in at ~118.7 MB, and that's compressed... Or for comparison, one of the "standard" 600 MB+ (and sometimes much more!) Linux distributions... Also, v7 Unix occupies a unique place amoung Unices, that is, it's the simplest possible version of Unix that is actually still functional with the code being readable (earlier versions have much more assembler code and less C) -- so anyone interested in learning Unix or one of its derivatives from the ground up is well advised to study this source code! To the Author: You undertook a great job in getting this ancient code base to work on x86, and the community of Unix researchers, students and scholars, both now and in the future -- thank you for this laudable effort!
- ink_13 6y agoIn fairness to gcc, it's more than just a C compiler.
- acqq 6y ago> C compiler source Not included in this distribution. Also not included: the source of boot and the source of compiler used to compile that. See my other post here for the references.
- garretraziel 6y ago> the simplest possible version of Unix that is actually still functional with the code being readable I would argue that Unix v6 (when you consider excellent book Lion's Commentary on UNIX 6th edition) takes that trophy.
- rstuart4133 6y agoGiven what we've seen of the M1, this may well be the last port of anything to x86.