Linux on the Sun JavaStation NC HOWTO

Robert S. Dubinski

2000-Apr-25

This is a HOWTO document describing how to enable the GNU/Linux OS on the Sun JavaStation NC.


Table of Contents
META Information
The Purpose of this Document
Acknowledgments
Document Contributors
History of this document
Document Copyright and Licenses
Location of the Latest Version and Source
What is a JavaStation?
What is a JavaStation NC?
Definition of an NC including the Differentiation from PC's
Description of the JavaStation Model Line including Hardware Specs
Reasons for Running Linux and NC Myths Dispelled
Why JavaStations are No Longer Produced
Where to Purchase a JavaStation
Background Requirements for Linux on a JavaStation
Complete Hardware Requirements
Network Service Requirements
Understand the JavaStation Boot Sequence
Additional Software Requirements: Replacement Firmware (PROLL)
Decide on your Filesystem: NFS-Root, or Embedded?
Build Your Kernel
Before you begin
Make sure you use 32-bit mode
Supported Linux Kernel Versions
Required Kernel Configuration Options
Necessary Patch for "Embedded-Root" FS Configurations
Build the JavaStation-Ready Kernel
JavaStation-Ready Kernel Images and ".config" File Samples
Build A JavaStation-Ready FileSystem
Preparing Yourself to Build Your Own Filesystem
Contents of the "/etc/fstab" File
The "Embedded-Root" Image Creation Procedure
Sample FileSystems
Set up Your Server
Preface
Setting up the RARP service
Setting up the DHCP service
Set up NFS service ("NFS-Root Options" Only)
Setting up for Boot with TFTP
The Last Configuration Step
Troubleshooting
When booting, the message "The file just loaded does not appear to be executable." Why?
Cannot Boot an "Embedded-Root" image > 10 MB on my JavaStation. Why?
After Booting, Typing Anything Yields Garbage Characters. Why?
In X Sessions to a Solaris server, the font server "xfs" crashes. Why?
Performing Indirect XDMCP to a Solaris Server Results in Session Login Failures. Why?
Answers to Miscellaneous Questions
Regarding RARP: Is it Needed or Not?
Can One Use the Smart Card Reader on the Espresso models?
Can One Use the Solaris DHCP server instead of ISC?
Can One Pass Arguments to "/sbin/init" in a Diskless Boot like This?
Enabling X on the JavaStation
Is There Mailing List Help?
Are There Alternate Help Sources Available?
Unanswered Questions
Does "Piggyback" work for the x86 too?
Where Can One Find Espressos for Sale?
Do Tools Exist to Configure Net Boot Entries Quickly?
Appendix
Mr. Coffee Jumper Info
Krups Jumper Info
JavaStation Photo Gallery

META Information

This chapter lists the meta-information of this document. The hows, whys, location and changes to the structure of the document are documented here. The main content begins in the next chapter.

The Purpose of this Document

This document is to serve as a comprehensive HOWTO and FAQ collection regarding the Sun JavaStation NC and enabling the GNU/Linux OS on it.

The intended audience of this document is anyone who has an interest in enabling Linux on the Sun JavaStations. The document structure is laid out to serve as either a top-to-bottom read for a newcomer, or as quick reference on a single topic for advanced users. Pointers to sample files submitted by users are included for extremely hurried readers.

The author of this document is Robert Dubinski , Computer Technician and UNIX systems administrator for Marquette University's Math, Statistics and Computer Science Department. In the MU MSCS department, 125 JavaStations are currently running Linux, configured using the information, techniques and files presented in this document.

In early 1999, Eric Brower wrote the first informal HOWTO for the JavaStation. Parts of this document are inspired by his work, and all unique information presented there have since been merged into this document.

This HOWTO also aims to serve as a member document of the Linux Documentation Project. The LDP can be reached at: http://www.linuxdoc.org

Acknowledgments

Enabling Linux on the JavaStations, and allowing this HOWTO to come to be would never have been possible without the fine work of the following people:

  • Pete Zaitcev (JavaStation kernel mod author)

  • Eric Brower (XFree mods and author of the original embedded-build HOWTO)

  • Varol Kaptan (made available his Krups images and patches. Backported kernel support to 2.2.x series)

  • David Miller (the original Linux/SPARC kernel porter)

  • The Linux/SPARC kernel porters and mailing list

  • The thousands of contributors to the Linux kernel

The HOWTO author wishes to give a second thank-you to Pete and Eric for their work:

 

Pete got me going with Linux on the JavaStation in December 1998, has been the main kernel programmer adding in support for the JavaStation line, and despite his busy work schedule was nice enough to find time to answer all my email queries for help over the last 15 months.

Eric worked on bringing X support to the JavaStation when it had none. He had been working on a dedicated server for the JavaStation in early 1999, and kept me informed of his progress. In mid-1999, he switched tactics and sent a working framebuffer example to test out. He also wrote the first comprehensive mini-HOWTO for the JavaStations, answered my email questions, and got me interested in the embedded solution which I employ here at Marquette.

Thank-you Pete and Eric!

 
--Robert Dubinski 

Document Contributors

The following people have contributed to this specific document:

History of this document

Revision History
Revision 1.0125 Apr 2000
"Brown Paper Bag" Revision.
Revision 1.024 Apr 2000
First submission to the LDP.
Revision 0.918 Apr 2000
Continued reorganization and final merges.
Revision 0.715 Apr 2000
Migration from LinuxDoc DTD to Docbook DTD.
Revision 0.7114 Apr 2000
Received word doc was forwarded inside Sun.
Revision 0.714 Apr 2000
Linked on Pete Zaitcev's Website.
Revision 0.69 Apr 2000
First semi-public release.
Revision 0.424 Mar 2000
First move to comprehensive HOWTO.
Revision 0.215 Oct 1999
More notes collected and merged.
Revision 0.124 Jun 1999
Initial scraps put together.

Document Copyright and Licenses

This particular document and its source as a whole is Copyright 1999-2000, Robert Dubinski . You may mirror or redistribute this document as a whole or in part for either public or commercial purposes provided the following: 1) you do not make any modifications to this work , 2) retain this license information and author copyright section, even when redistributing just a part of this document, and 3) include acknowledgement of where this document as a whole may be obtained . This ensures that any comments written by the document author do not get taken out of context or modified incorrectly, acknowledges the work of the author, allows for inclusion in commercial projects, and points readers to where they may find potentially updated versions of the information presented.

The document author makes no warranties that all the information presented here is completely accurate, and cannot be held liable to any loss you experience as a result of the information you use from here.

Best efforts have been made to ensure everything included is accurate as of the publication date listed at the beginning of this document, but there is always a possibility something may be wrong. In this case, doublecheck with alternative sources first before considering implementing anything at a production-level. If you find something wrong, drop the author a line at or send me a patch to the document source, and corrections will be made immediately.

In the future, this document may be re-released under the Open Content or other Free Document license, but for now all Open Documentation licenses are currently being investigated by the author. If you have comments into this legal matter, drop the author a line at . As it stands, the license presented above captures the spirit of the LDP boilerplate license without specifically mentioning it.

This document is a member document of the Linux Documentation Project.

Location of the Latest Version and Source

The latest online version of this document can be found at: http://www.mscs.mu.edu/~tech/Linux_on_JS .

The pre-processed SGML source to this document, written to the Docbook DTD, is available from: http://www.mscs.mu.edu/~tech/Linux_on_JS/Files/JavaStation-HOWTO.sgml

Copies of this document are also available from the Linux Documentation Project at: http://www.linuxdoc.org/HOWTO/JavaStation-HOWTO.