Sun JavaStation-1 and Linux

This is an old page saved for posterity. It is no longer updated.

Javastation 1The Sun JavaStation-1 or `Mr Coffee’ as it is also known is a diskless network computer that makes a nice X terminal when running Linux.

The JavaStation-1 is a Sun4M architecture machine based on the  SPARCStation-4. It is powered by a 110Mhz MicroSPARC IIe CPU and has the Sun TCX framebuffer which is capable of 1024×768@70Hz in 8-bit colour. Unusually for Sun machines the JavaStation-1 uses standard PC PS/2 Keyboards and mice and a standard PC VGA monitor connector. Standard SIMM’s are also used with a possible total capacity of 64Mb.

The JavaStation was designed to run Sun’s own JavaOS and either the Hotjava web browser, HotJava Views task-manager software, or custom Java applications. Using Linux it is possible to have a complete system using either an NFS mounted root filesystem or an embedded root filesystem (where the whole filesystem is
transferred over the network along with the kernel).

The earliest Mr. Coffee models shipped with Version 2.3 of the boot PROM which apparently works fine with Linux without a problem. Later units, mine included, came with Version 3.x which does not work with Linux out of the box. As usual, someone has come up with a solution and a complete PROM replacement called PROLL exists to get by this limitation.

In order to boot Linux on a JavaStation a server running the following services is required: RARP, TFTP, DHCP (or BOOTP) and NFS (if using NFS root). A server running XDM and a font server will also be required if you wish to use the JavaStation as an X Terminal only.

A kernel and root filesystem are also required, building a kernel requires a Linux/Sparc based server but fortunately, if this is not available there are several prebuilt kernels available.

There are also some sample filesystems available that can be used instead of building your own. Creating a filesystem requires either starting with a filesystem from another Linux/Sparc distribution and removing
uneccessary components or taking one of the rescue disk filesystems and adding extra pieces. Either way, it’s not a task for the faint hearted.

Below I will describe how to boot Linux on the JavaStation for use as an X Terminal using the available prebuilt kernels and filesystems.

Step by step guide to booting Linux on a JavaStation-1

This procedure assumes a hostname of mrcoffee, an IP address of 192.168.0.55 and a mac address of 08:00:20:83:82:50. Change these to reflect your system.
  • Install rarpd if you do not have it already
  • Add the following to /etc/ethers08:00:20:83:82:50 mrcoffee # 192.168.0.55 (mrcoffee)

     

  • 192.168.0.55 mrcoffee
  • Install tftp server if you do not have it already
    Add the following to /etc/hosts:
  • Edit /etc/xinetd.d/tftp so you have the following:
    service tftp
    {
    socket_type = dgram
    wait = yes
    user = root
    log_on_success += USERID

    log_on_failure += USERID
    server = /usr/sbin/in.tftpd
    server_args = -s /tftpboot
    disable = no
    }
     

  • Create directories for kernel & filesystemmkdir /tftpboot
    mkdir /javastationroot

  • Convert the JavaStations IP address to hexidecimal and create a link to PROLL whose name is the JavaStation’s IP number in hexadecimal and a link to the kernel whose name is the IP number in hexadecimal, suffixed with .PROL. eg, for a JavaStation with IP 192.168.0.55
    ln -s vmlinux__2.4.2_nfsroot_RSD C0A80037.PROL
    ln -s proll.mrcoffee.ID13 C0A80037
  • Install a DHCP server if you do not have one already. Note that you will need to use a DHCP server that will work with 1514 byte packets, like ISC DHCP 3.0 or install this patch.
  • Add the following to your /etc/dhcpd.confhost mrcoffee {
    hardware ethernet 08:00:20:83:82:50;

    filename “C0A80037”;
    fixed-address 192.168.0.55;
    }

  • Add the following to /etc/exports: (only required for NFS Root)/tftpboot/192.168.0.55 mrcoffee(rw,no_root_squash)

  • Create a symbolic link in /tftpboot from the JavaStation’s IP to the filesystem location ln -s /javastationroot/ 192.168.0.55

     

  • Download and extract this root filesystem to /javastationroot/
  • Edit /etc/hosts and /etc/resolv.conf with your network details
  • Replace XF86Config (/etc/XF86Config) with this one
  • Replace the X server (/usr/X11R6/bin/XF86_FBDev) with this one
  • Edit XF86Config and enter an IP address for a font server on your network
  • Edit /sbin/init and change IP address to that of a box on your network running XDM
  • That’s it, power on the JavaStation and after a few seconds you should see the PROLL window in the bottom right of the screen. Once PROLL has done its thing Linux will boot into X and display
    the XDM Chooser.
Last modified: 21 July 2012