I'm interested in creating a "fresh" copy of NextStep 0.8 -- or at least as close as we can get to it -- by booting from the widely-distributed image often found with Previous, formatting a blank 330mb BlueSCSI drive, and installing the OS on it.
NextStep 0.8 knows about the Maxtor 330gb drive in /etc/fstab; my bluescsi.ini looks like this:
[SCSI2]
Vendor = "MAXTOR"
Product = "XT-8380S"
Version = "Rev B3C"
Serial = "0123456789ABCDEF"
Attempting to do a /etc/builddisk sd1 gives some initial success, identifying the fake Maxtor correctly. It does build /dev/rsd1a, but apparently tries to create another partition (swap?) and fails on /dev/rsd1b:
write error: 89999
wtfs: I/O error
newfs /dev/rsd1b failed (status 1)
/etc/builddisk Disk initialization failed.
(Infamously, the terminal does not allow for scrolling in 0.8, which makes debugging this a little hard!)
Perhaps my 330mb disk (created with DiskJockey on the Mac) is just a little bit too small?
Attempting to run the gui Builddisk.app only lets you erase the "first" SCSI disk, which does not play nicely with my 030 cube wanting to boot from that same lowest-number device. (I was unsuccessful in trying to specify rootdev in the monitor). You cannot apparently pass a drive parameter to the gui BuildDisk the way you can with the commandline -- but if you could, I suspect it might fail as the commandline version did.
I've run across a note from Rob in this forum suggesting you can't initialize/install a SCSI disk from if you've booted from one -- only OD to HD and HD to OD are allowed. Was curious if that's other people's experience?
(I have a working optical drive, so could dump 0.8 to a blank disk and try from that...)
Thanks...
Turns out™!
Quote from: pl212 on March 05, 2025, 01:03:48 AMPerhaps my 330mb disk (created with DiskJockey on the Mac) is just a little bit too small?
Indeed it was. Re-generating the disk as 350mb (just to be sure) led to /etc/builddisk /sd1 working just fine. The longest part of the process was copying /MyDisk/Library -- understandable as that's where all the full-text Shakespeare and dictionary files live.
There was a message about "Build Optical disk from booted file system", but this turns out to be part of the build script specifically for SCSI drives, which you can inspect in /Admin/Public/conf/BLD.sd330. Must be some verbiage they forgot to change; other scripts in that directory cover sd660 and od.
Although this 0.8 image is not untouched -- several files have a modification date of 1997 -- /Homes/Template is all from 1988, and that's what is used to set up a new disk.
For example, the .NeXT directory inside Template includes a default .dock dated December 1 1988 and lists in order:
BuildDisk
Shell
Edit
Clock
Mail
WriteNow
Quotations
Webster
Library
Printer
The first report of an customer using 0.8 (
https://usenetarchives.com/view.php?id=comp.sys.next&mid=PDMwNDhAaGF2ZW4udW1kLmVkdT4) is December 21 1988, which suggests this template directory does indeed preserve the items required for an "original" install.
A lot of the documentation for this 0.8 release is actually present in /Library/Documentation/NeXT. I'm not sure if this stuff has ever been converted into PDF and put online? It's a real glimpse into the rapidly-changing disk layout and configuration file strategy Next was iterating on. Info hidden in there might be our only chance at getting a 0.8 system online in terms of TCP/IP.
Quote from: pl212 on March 08, 2025, 01:21:52 PMInfo hidden in there might be our only chance at getting a 0.8 system online in terms of TCP/IP.
What is the actual problem with getting 0.8 online - is it a problem on real hardware? IIRC,
@neozeed managed to telnet into a 0.8 install emulated in Previous (version 1.6, though) and to also mount NFS shares from a NAS.
https://virtuallyfun.com/2017/05/10/previous-1-6/ (
https://virtuallyfun.com/2017/05/10/previous-1-6/)
Well, it's a problem on my real hardware, only because I'm not quite sure how to do it. :). We're an in era before HostManager.app; I'm trying to figure out what files in /etc to modify and how to safely disable NetInfo to make sure those files are referenced.
That's great that neozeed did so however; I may contact them if I get stuck...
I managed to do that using SCSI2SD. I dumped the 0.8 image data on the SD card, booted the system from the SD, then built a fresh copy on the MO drive. Takes a while.
Wouldn't know how to exactly do that with BuleSCSI, though.
I wanted to document my results in getting networking
mostly functional in 0.8. I'm indebted to posts from
@andreas_g and others; I'm just putting this all in one place for future reference. Read to the end for a plea for help getting DNS working. :)
1) DHCP is obviously a no-go this early in 1988.
1a) Discover the hardware ethernet address of your machine. One way to do this is to hit Command-Command-`, type msg, write down the hex address of "en0". Type continue to return to the OS.
1b) Add this hardware address to your router and a static IP. I use 192.168.1.30, as a mnemonic device for 68030.
2) Add a hostname and this IP address to /etc/hosts. For example, to name your computer 'cube':
cube 192.168.1.30
You can keep the rest of the default entries in this file; they won't hurt anything.
Since I don't have DNS working yet (see below), you can also add the name and IP address of other machines you wish to connect to (via older protocols such as telnet, ftp, or NFS).
A tip: for those uncomfortable with vi, launch Edit as root:
su
Edit /etc/hosts
Don't forget to save the file, and then quit Edit, so that you return to an active shell prompt when you're done.
The above will enable basic functionality -- but only with the hard-coded addresses you've added to the hosts file. The below step
should work to enable DNS name resolution, but obviously is not enough:
3) Add these two pieces of info to /etc/resolv.conf (which does not exist by default). Assuming your router is 192.168.1.1:
server comcast.net
nameserver 192.168.1.1
Substitute your router's address if it instead uses 10.0 or similar, and adjust the name of your local domain as appropriate. You can also put in an external nameserver, but most routers will transparently pass through your ISP's DNS servers appropriately.
I'm still looking for a way to get DNS resolution working in 0.8. I believe I need to more fully disable YP (YellowPages), but the conventional ways of doing that are absent in this early release -- there is no /etc/hostconfig in a default install, and the earliest mention of this file online is after 0.9 ships. The /etc/rc.local file is full of sections commented out and labeled non-functional; niload and nidump don't exist, etc.
OK, I think we perhaps have an answer:
DNS post-dates 4.3BSD. The first DNS RFC was published in Nov 1987. (
https://tuhs.org/mailman3/hyperkitty/list/tuhs@tuhs.org/message/B7WSQEJDNDIF46QQSITLHBC5P265E5HK/)
Given that 0.8 was in use in late 1988, it's not crazy to think DNS support might not have made it in.