9. Questions and Troubleshooting
This chapter is intended to provide solutions to frequently and infrequently encountered problems in enabling Linux on the JavaStations.
9.1. When booting, the message "The file just loaded does not appear to be executable." Why?
On systems that have the older OpenBoot version 2.3, and are not set up to use PROLL, you will get this message when attempting to boot up a kernel image that is not in AOUT format. Be sure to run elftoaout on your kernel image, as described in the "Kernel Build" chapter.
9.2. When booting, the message "no a.out magic" appears and halts the boot. Why?
On systems that are set up to use PROLL, you will see this message when attempting to boot up a kernel image that is not in AOUT format. Be sure to run elftoaout on your kernel image, as described in the "Kernel Build" chapter.
9.3. I tried booting a Krups but JavaOS comes up. I don't even have JavaOS!
This likely means you have a flash SIMM install, and the flash SIMM has JavaOS loaded on it. Remove the SIMM and the problem should go away.
9.4. Cannot Boot an "Embedded-Root" image > 10 MB on my JavaStation. Why?
There is a known limit of 8 MB when using the "Embedded-Root" boot image option.
The cause of this is the current version of the PROLL software, which map only 8 MB of low memory. Any more and banking support would need to be added to it.
If needed, this limit can be fixed by someone, as the source to PROLL has been released under terms of the General Public License (GPL).
So in reality, the embedded image size limit is really 8 MB , not 10 MB. If 10 MB somehow works for you, it is sheerly by "luck"!
9.5. After Booting, Typing Anything Yields Garbage Characters. Why?
There are a few possibilities for this. Among them:
You have an incorrect device # for tty0.
The "keytable" loaded is incorrect. Make sure you use "sun" instead of "PC" if you use the keytable program. Look for the keytable configuration file if it exists.
9.6. In X Sessions to a Solaris server, the font server "xfs" crashes. Why?
If you do X sessions to a Solaris server, and you find that your sessions are no longer opening up new windows, chances are the font server on the Solaris host has crashed. This is a known bug in Solaris 2.6 and 2.7 when you have about 2 dozen X terminals sessions running.
The fix is to move the font server to a different OS and point your JavaStations there, or to upgrade your Solaris to the 2.7 11/99 maintenance release or Solaris 8 which both (apparently) have fixes to this problem.
9.7. Performing Indirect XDMCP to a Solaris Server Results in Session Login Failures. Why?
Congratulations! You probably have one of patch numbers 107180-12 through 107180-19 installed on a Solaris 7 server. You need to upgrade to 107180-20 or above to fix this problem.
I (your HOWTO author) reported this problem to Sun in November 1999, at which time I was told a fix was not scheduled to be made, since I was using an "unsupported configuration.". Never mind that the client was a piece of hardware made by Sun itself. Also never mind that indirect XDMCP queries is a standard itself which was broken by Sun. A call back in late January 2000, and I learn that the record of my previous call was non-existant, but a fix was now on its way. The fix finally was made available in April 2000, five months after first reporting the problem. Considering revisions to this patch during the broken XDMCP period dealt with fixing system security issues, we were forced to run the older insecure software for five months while waiting for a fix to a problem which should have been patched immediately.
The moral of the story: test your JavaStation configuration against an upgraded server that is not in production mode.
If you have XDMCP problems not related to these faulty Solaris patches, it may be a new problem, so please report it.
9.8. TFTPd config doesn't work on SUSE 6.3. Why?
This was reported by a user after this document was first released.
In SUSE 6.3, using the tftpd from the 'a' package of the netkit rpm, you must be sure your tftpd line in /etc/inetd.conf has the -s flag. Otherwise you need to specify a full path.
Also, it is not necessary to run tftpd as root, so the suggested username and group for tftpd on SUSE 6.3 is 'nobody' and 'nogroup'
It is not known whether these changes are needed for newer versions of SUSE.
9.9. 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 'Server Configuration' chapter explained how to set up kernel-level RARP on 2.2.x systems.
On servers with 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.
9.10. 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.
Whether the smartcard reader on Dover and Espresso are equivalent is not known.
9.11. Can One Use the Solaris DHCP server instead of ISC?
Yes, this is possible. Earlier ISC daemons had problems dealing with 1514-byte requests of the JavaStations, while the Solaris server was able to handle them without problems. Also, former users of JavaOS may already have their Solaris DHCP server active, and wish to keep things on one machine.
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: # # # ### |
9.12. 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)
9.13. Enabling X on the JavaStation
This is a very frequently asked question.
Enabling X on the JavaStation is possible.
First, be sure you have enabled the appropriate framebuffer device in your kernel's configuration, as described in the "Kernel Build" chapter.
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, such as the samples pointed to in the "FileSystem Build" chapter.
Recent editions of the framebuffer server coinciding with XFree 4 are reported not to work. Use the older version based on XFree 3.3, or fix the new version and be a hero to thousands.
9.14. Is There Mailing List Help?
There are two mailing devoted exclusively to running Linux on SPARC processor based machines such as the JavaStations.
The first mailing list is the sparclinux list on VGER, at <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 VGER sparclinux mailing list are kept at: http://www.progressive-comp.com/Lists/?l=linux-sparc&r=1&w=2"
The second mailing list is the debian-sparc list at the Debian Project, at <debian-sparc@lists.debian.org>. You should first subscribe to it by sending a message to <debian-sparc-request@lists.debian.org> with a subject and body line of "subscribe <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.
As many of the SPARC kernel hackers run Debian, it is helpful to subscribe to both lists.
Please do not report problems about this document to either list, but send them to <rsd@dubinski-family.org> instead. Also, please use the list archives. JavaStations have been supported on Linux for a while now, and chances are any questions you have not answered by this document are answered in the archives.
9.15. 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.
9.16. 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<robert@tsac.fsnet.co.uk> 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://dubinski-family.org/~jshowto/Files/tools/piggyback_nonsparc.tar.gz
9.17. 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.
9.18. Now that JavaStations work with Linux, what about other Free OSs?
JavaStation support is now available with the NetBSD OS as well as Linux.
9.19. Do the Linux 2.4 kernels work? What's the latest that works?
As of this date (Oct 31, 2001), the current stable Linux kernel version is 2.4.13. Kernels in the stable 2.4 series should work with the JavaStations, but there are a few reasons why they may not work for you. For details, check the "Kernel Build" chapter's entry on supported kernels.
9.20. 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.
9.21. 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).
9.22. 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.
9.23. 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.
9.24. Why Can't I Get TrueColor on Krups?
Truecolor on Krups with Linux is a bit of a controversy. Some believe it is possible, while others do not.
First, the Krups is listed as having the IGS C1682 framebuffer, while the Espresso has the IGS C2000 chip.
According to an earlier report by one kernel hacker, the reason for Krups not supporting TrueColor is due to lack of kernel support for the Cyber2000 chip. Perhaps the C2000 for the Espresso is the 'Cyber2000'? And perhaps the C2000 is near equal to the C1682. Notes on the ZLS website seem to point to this.
Recent 2.4.x series kernels have an entry labeled 'Cyber2000'. Perhaps this works? One contributor tried and failed.
Ok, there is a userland utility called 'fbset' to change the modes of a framebuffer. Does that work? One contributor said no.
In the sparclinux archives is a report of a user using the 24-bit TCX framebuffer and having success. But TCX chip was in Mr. Coffee, not Krups, and TCX onboard Mr. Coffee had 8-bit max, not 24.
So what is the real scoop with 24-bit color on the Krups? Until others try things and speak up, we don't know.
9.25. 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. You did read the warning in the Dover introduction section, didn't you?
I am receiving multiple reports of kernel load failures with the Dover unit. As more information comes in, this HOWTO will present it.
9.26. Can framebuffer be loaded following a serial console initialization?
If you boot a JavaStation via the serial console, the framebuffer console is completely disabled. Is there any way to activate the framebuffer console after booting? (asked on Sparclinux mailing list 2001-05-11).
Not to our knowledge.
9.27. I really need a complete out-of-the-box solution, pronto!
You better get busy then.
9.28. You Didn't Answer My Question.
So ask it. Email <rsd@dubinski-family.org> and I will try to help. If I can not help, I will direct you to the mailing lists or suitable contacts.