Back when Java was still a new programming language, Sun had the idea of building a computer specifically designed for Java, unique processor running byte-code as its native machine code and all. This whole endeavour proved to be more complicated than Sun had hoped, and as such, they eventually abandoned the idea of a Java processor in favour of plain SPARC. When the JavaStation shipped, it was a regular SPARC workstation without a hard drive, running something called JavaOS from flash memory.
Since JavaOS is, of course, long gone, what can you do with JavaStation today? Well, you apparently can run NetBSD on it, but it’s quite an ordeal. The JavaStation needs to boot from the network using a combination of RARP, NFS, and more, and surprisingly, this entire setup, including the computer acting as the ‘server’ for the JavaStation, is well-documented and supported by NetBSD. Once you’ve gone through all the steps, you’ll end up with a JavaStation running the latest release of NetBSD, which is pretty cool.
Obviously there is still a lot to do; as you can see postfix isn’t happy, and the swapfile security needs tightening up for a start. But we do now have a functional NetBSD system running on a vintage network computer!
↫ Old Fart’s Almanac
NetBSD’s continued support for the most arcane of hardware will never cease to amaze me.
That is some serious dedication. And NetBSD 10.1 is right up-to-date. A little funny that he is booting his NetBSD off of a Linux machine.
I seem to remember getting Debian for SPARC booting on these back when they came out. They’re modeled after other diskless workstations like an X terminal except you have to provide your own display, keyboard, and mouse. The network boot process was also pretty similar if I recall correctly.
Ya, there is nothing particularly novel about using rarp or bootp to bring up a network interface and using tftp to retrieve an boot image.You still need a boot image for your architecture though and it always seems to require a lot of fiddling. I remember doing something similar on my SGI Indy long ago. Using NFS to retrieve the OS image is less exotic.
I read the article a couple of days ago so I cannot remember the exact language but the author seemed surprised that Linux still supported NFS despite NFS being old and insecure. Not only is NFS still around but it is thriving. If you use Amazon Web Services (AWS), you may have used the Elastic File System (EFS) to mount shared storage in the cloud. EFS is just NFS.
Yeah, NFS is still really good for server-to-server connections. NFSv4 added a lot of security to the protocol via Kerberos, and there’s been some work for NFS over TLS, which I’m running out of time to research.
Which of course made the machines slow as af and devoid of any advantage over a low-end “diskless” SPARC workstation (or even a low-end PC for that matter), since the JVM bytecode had to be JIT’ed in software in the same way it is in those machines.
The funny thing is that Sun did have a microprocessor optimized for running JVM bytecode called MAJC, but they only used it in their in-house GPUs (XVR-1000 and XVR-4000).
As an aside, JavaOS is an interesting OS, the user interface of the OS is little more than a web browser that can load webpages and run embedded Java applets in those webpages: https://www.youtube.com/watch?v=yxV_pR1ZsXM
It would have been interesting to see what would have happened to Java had they moved to a dedicated transport mechanism instead of embedding applets in webpages. Instead they picked Javascript.