NeXT Machine Project
Some time ago my NeXTStation stopped booting from the BlueSCSI and started to default to just "Loading from Network" and just looping there forever.
I know the fix for this involves hitting the right-command key and hitting ` / ~ a couple times like you'd hit F2 on a PC. Well that doesn't work here. Dunno why. Keyboard works fine to turn the machine on & off, whatever. I guess I'll recap the machine just to see, but yeah, no idea. I did change the Lithium battery and I'm gonna order a CR3032 holder adapter for it.
So this thing's about half a step from going in the river. Then it struck me. "How would I fix this in 1992?" Well step one is: If you want to "load from the network", well asshole, let's load you from the network.
I started by trying to handle this the modern way of running bootp on my bastion host, but evidently some quirk that NeXT relies on got baked out sometime in the last 30 years. People were recommending installing FreeBSD 4 "in a VM", but I couldn't think of one that would present a virtual NIC that FreeBSD 4 could use.
Then it occurred to me I have a RedHat 5.2 machine running on a Pentium 120. So I had to get ProFTPD working properly on my bastion host for anonymous FTP. Then I mirrored the Redhat 5.2 archive from ftp.icm.edu.pl, which was just a mirror listed on rpm.pbone.net.
So now I have my RedHat 5.2 FTP archive and installed bootpd. This is some mirror universe shit here. Since bootp begat DHCP I expected things like "scopes" and whatever. But I think I figured out how to ID the NextStation and feed it an address. Though that isn't pingable at any point.
Config:
.default:\
:hd=/usr/boot:bf=null:\
:ns=10.250.11.1, 10.250.11.1:\
:ds=10.250.11.1:\
:ts=10.250.11.1:\
:sm=255.255.255.0:\
:gw=10.250.11.1:\
:hn:to=-18000:nextstn:ht=1:ha=00000F009082:tc=.default:ip=10.250.11.145:
Output:
[root@pb2950 /root]# bootpd -d 5 /etc/bootptab -s
bootpd: info(6): bootptab mtime: Mon Sep 28 00:42:05 2026
bootpd: info(6): reading "/etc/bootptab"
bootpd: info(6): read 2 entries (1 hosts) from "/etc/bootptab"
bootpd: info(6): recvd pkt from IP addr 0.0.0.0
bootpd: info(6): bootptab mtime: Mon Sep 28 00:42:05 2026
bootpd: info(6): request from Ethernet address 00:00:0F:00:90:82
bootpd: info(6): found 10.250.11.145 (nextstn)
bootpd: info(6): requested path="" file="boot"
bootpd: info(6): bootfile="/usr/boot/null"
bootpd: info(6): vendor magic field is 78.101.88.84
bootpd: info(6): sending reply (with no options)
bootpd: info(6): setarp 10.250.11.145 - 00:00:0F:00:90:82
That looks to me like the NeXT machine is saying "Hey dickhead, feed me file "boot" from whatever your base path is, right now. So I think tomorrow's project is to make "/usr/boot/nextstep/boot", which I think I have a guide for. Then I can try and bootstrap it to some semblance of "running" so I can at least test the keyboard and hopefully boot from the SCSI disk.
- xrayspx's blog
- Log in to post comments
- 6 reads

