8. Answers to Miscellaneous Questions

This chapter aims to answer some miscellaneous questions about Linux and the JavaStations .

8.1. Regarding RARP: Is it Needed or Not?

RARP is not needed with the Krups or Espresso models and recent PROLL software. RARP is required for Mr. Coffee, however.

This document explains how to set up kernel-level RARP for the remaining models. In kernel versions 2.3.x/2.4.x, kernel-level RARP support is removed. The ZLS holds a version of ANK userland RARP from Andi Klein of SuSE that will work with Linux/SPARC. It is available from: http://people.redhat.com/zaitcev/linux/rarpd-ap1.tar.bz2. The command to use then is rarpd-ank -e eth0. "-e" makes it ignore /tftpboot checking, and "eth0" is needed if you are behind a firewall.

8.2. Can One Use the Smart Card Reader on the Espresso models?

This is not currently supported, but the reader follows an ISO standard (ISO 7816-3). On Espresso, if you look into PROLL, there are definitions for the GPIO smartcard data/clock in "eeprom.c". So a programmer should technically be able to get the Smart Card slot running.

8.3. Can One Use the Solaris DHCP server instead of ISC?

Yes, this is possible. Earlier ISC daemons had problems, while the Solaris server was more robust. Here is how to configure it:

First, fill in your /var/dhcp/"networks" file, populating it with ethernet to IP info, and the appropriate leastime.


# This example uses "infinite" leastime
#
0108002081C2AE 03 192.168.128.1  192.168.128.100 -1 java01  # JavaStation
010800208E4CF6 03 192.168.128.2  192.168.128.100 -1 java02  # JavaStation

Next, fill in your /var/dhcp/dhcptab file with entries similar to:


##
# First, some network info
#
Locale   m  :UTCoffst=21600:
www  m  :Include=Locale:Timeserv=192.168.128.100:DNSdmain=my.own.net:DNSserv=192.168.128.100:
192.168.128.0  m  :Broadcst=192.168.128.255:Subnet=255.255.255.0:MTU=1500:BootSrvA=192.168.128.100:Router=192.168.128.101:NISdmain=my.own.net:NISservs=192.168.128.100:
#
#  note: BootServA can point to a different TFTP server to get the kernel image
#        off of.
#
#
##
# Now we define the JavaStation TFTPboot parameters
#
SUNW.Linux m :Include=www:JOSchksm=0x155dbf97:Rootpath=/tftpboot:BootFile=proll.mrcoffee:BootSrvA=192.168.128.100:TFTPsrvN=lnxserv:
SUNW.Linux.Krups m :Include=www:Rootpath=/tftpboot:BootFile=proll.krups:BootSrvA=192.168.128.100:TFTPsrvN=lnxserv:
#
#
#  note: different classes are defined for the different PROLL images.
#
##
# Lastly, we list our hosts and which boot class each one gets.
java01  m  :LeaseTim=-1:Include=SUNW.Linux:
java02  m  :LeaseTim=-1:Include=SUNW.Linux.Krups:
#
#
#
###

8.4. Can One Pass Arguments to "/sbin/init" in a Diskless Boot like This?

PROLL ships with DHCP options disabled, but it could be changed. You would then do something like "/tftpboot/0A0A0000.ARGS" to get those parameters in.

If you boot from flash memory, PROLL picks up SILO options (where SILO is > version 0.9.6 and PROLL is >= version 11)

8.5. Enabling X on the JavaStation

Enabling X on the JavaStation is possible.

First, be sure you have enabled the appropriate framebuffer device in your kernel's configuration (as described elsewhere in this document).

Next, you'll want to use the generic Sun Framebuffer X server and "XF86Config" file. You can build this yourself, or you can try someone's prebuilt binaries, like the samples pointed to below.

Recent editions of the framebuffer server do not work. Use the older version below, or fix the new version and be a hero to hundreds.

Sample XFree Sun Frambuffer X Server File is at: http://javastation-howto.homeip.net/Files/xfree/XF86_FBDev_3.3.3.1_19990104.gz

Sample XFree JavaStation-Ready XF86Config File is at: http://javastation-howto.homeip.net/Files/xfree/XF86Config_FBDev_3.3.3.1_19990104.txt

8.6. Is There Mailing List Help?

There is a mailing devoted exclusively to running Linux on SPARC processor based machines like the JavaStations.

The mailing list address is "sparclinux@vger.kernel.org". You should first subscribe to it by sending a message to "majordomo@vger.kernel.org" with a subject and body line of "subscribe sparclinux <your_email_address>". You can leave out your email address, but it is helpful to put it in if you have multiple valid addresses at your site.

Archives of the Linux/Sparc mailing list are kept at: http://www.progressive-comp.com/Lists/?l=linux-sparc&r=1&w=2"

8.7. Can One Boot a JavaStation from Onboard Flash Memory?

It is possible to boot a JavaStation-NC from flash, but requires too much arcane knowledge at the moment to be recommended. One problem even if you do go this route is that flash can only be mounted read-only. This gets to be a problem with many things, like X, which require the writing of socket files. A hybrid ramdisk/flash solution would be required.

8.8. Does "Piggyback" work for the x86 too?

With the great embedded-root solution for the JavaStations, the question popped up whether something similar can be done for stock x86 hardware. While there are some x86 NICs that have boot roms on them, you'd also need the piggyback program to put things together. According to Eric Brower, this currently is not possible as the piggyback program looks for a header specific to the SPARC platform. (28-Apr-2000)

Robert Thornburrow sent a version of piggyback which runs on non-SPARCLinux architectures like Linux/x86 and Solaris. This automates the task of creating your embedded root image. You can get his updated piggyback package at: http://javastation-howto.homeip.net/Files/tools/piggyback_nonsparc.tar.gz

8.9. I put new memory in, but now it doesn't boot. Why?

Are you using EDO memory by chance? Mr. Coffee uses fast-page memory only, not EDO.

8.10. Now that JavaStations work with Linux, what about other Free OSs?

JavaStation support is now available with the NetBSD OS as well as Linux.

8.11. Do the Linux 2.4 kernels work? What's the latest that works?

As of this date (May 3, 2001), the current stable Linux kernel version is 2.4.4. The 2.4 series should work with the JavaStations, but the document author has not received any reports of success, and no longer has easy access to a JavaStation to try. If you get it working, please let me know.

We've had reports of the success with the following recent 2.3.x and 2.4-pre kernels: 2.3.99-pre9

8.12. Can I compile the kernel on a non-SPARC machine?

It should be technically possible to compile your kernel on a non Sun workstation, such as a PC. Currently there are no reports of anyone doing this, but if you wanted, the first place to look is the GCC CrossCompiling HOWTO.

Of course, you can also compile a new kernel on a working JavaStation, if your filesystem image supports it.

8.13. Can I get an ok> prompt like other Sun equipment?

A curious thing happens when you send a JavaStation a break: it resets, not break down to the openboot prom prompt like other Sun equipment. This can be changed on a Krups by setting jumper J1300, pins 7-8. Doing this gets a OBP ok prompt with a Ctrl-Alt-Break on a PS/2 keyboard or break through a serial terminal.

You can also get the ok prompt on the Dover unit, but it requires a hardware fix. To do so on this unit, you must solder a 220K ohm resistor in location R362 (near the FDD connector).

8.14. My keyboard isn't recognized. What can I do?

While it's unlikely, it could be possible that you have a javastation set in the wrong input device mode. To rectify this, you need to enable the openboot prom prompt as described elsewhere in this HOWTO, and then set the 'input-device' directive accordingly. Or, as one contributor did before the OBP setting was discovered, load up NetBSD on your JavaStation and run the eeprom command there. Convoluted, but it works too.

8.15. Proll reports "TFTP: ARP Timeout". Why?

This has been reported to happen when the file PROLL looks for isn't available. Doublecheck your configuration before retrying.

8.16. Why Can't I Get TrueColor on Krups?

This is due to missing kernel support for the Cyber2000 chip.

8.17. I followed this HOWTO, but my Dover doesn't work. Why?

The Dover is not a SPARC-based JavaStation, which this HOWTO caters to. You must use x86 procedures to make it work properly.

I am receiving multiple reports of kernel load failures with the Dover unit. As more information comes in, this HOWTO will present it.