Dan Callaghan

Hacking the JavaStation

So I was inspired by Kingo to pull out the old JavaStation-NC (“Krups”) that I acquired some time ago, and to have a go at hacking on it. This is a braindump of what I have learnt.

This model of JavaStation has a MicroSPARC IIep processor clocked at 100MHz, which conforms to (32-bit) SPARC V8 and makes it a sun4m machine in operating system nomenclature.

The machine boots OpenBoot 3.11.9 firmware. Unlike the OpenBoot 2.x firmware present on some of the previous JavaStation-1 models, this is (supposedly!) compliant with the “Open Firmware” specification, IEEE1275-1994 (also of interest is the addendum for SPARC).

There is a good JavaStation-HOWTO for Linux at TLDP, but it seems a little dated (mentions only kernels up to 2.4). Also the firmware workaround it recommends, PROLL, seems to be necessary only because Linux (at least the versions mentioned in that HOWTO) only understands the older pre-standard OpenBoot firmware (the “client interface” was changed drastically in IEEE1275).

NetBSD seem to keep a more modern port, including a handy network boot loader (bootjs.net). I found some useful details in a NetBSD mailing list message too, in particular mentioning that the firmware erroneously leaves itself mapped at 0xf000-0000.

The Linux HOWTO provides details of the jumpers in the Krups, but they appear to be wrong. The only interesting effect I achieved was by shorting pins 3 and 4 of jumper J1300, which handily produces a boot-time prompt with a 6-second timeout, allowing you to drop down to an OpenBoot ok prompt instead of booting flash. All the other jumper pins I tried only caused the machine to boot with a blank video signal (maybe it was talking on the serial line instead? I don’t have a cable to hook it up with, unfortunately).

Edit: also useful are the microSPARC-IIep User’s Manual and the SPARC V8 Architecture Manual.