new files

This commit is contained in:
gferg 2001-10-31 21:53:03 +00:00
parent c3a4786027
commit 7adc17aee8
10 changed files with 4722 additions and 0 deletions

View File

@ -0,0 +1,596 @@
<sect1 id="MetaInfoChapter">
<title>META Information</title>
<para>
This section 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.
</para>
<sect2 id="DocumentPurposeSection">
<title>The Purpose of this Document</title>
<para>
This document is to serve as a comprehensive HOWTO and <acronym>FAQ</acronym>
collection regarding the <productname>Sun JavaStation <acronym>NC</acronym>
</productname> and enabling the <application><acronym>GNU</acronym>/Linux
<acronym>OS</acronym> </application> on it.
</para>
<para>
The intended audience of this document is anyone who has an interest
in enabling <application>Linux</application> on the <productname>Sun
JavaStations</productname>. 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.
</para>
<para>
The author of this document is Robert Dubinski
<email>rsd@dubinski-family.org</email>. Robert is the former
computer technician and UNIX systems administrator for
<ulink url ="http://www.marquette.edu">Marquette University's</ulink>
<ulink url="http://www.mscs.mu.edu"> Math, Statistics and Computer
Science Department</ulink>, where he had
125 <productname>JavaStations</productname> running
<application>Linux</application>. These machines were
all configured using the information, techniques and files
presented in this document.
</para>
<para>
In early 1999, Eric Brower <email>ebrower@usa.net</email> wrote the
first informal HOWTO for the <productname>JavaStation</productname>. Parts
of this document are inspired by his work, and all unique information
presented there have since been merged into this document. Eric's
original mini-HOWTO is saved for posterity at:
<ulink
url = "http://dubinski-family.org/~jshowto/Files/texts/eric_brower_js_howto_19980218.txt">
http://dubinski-family.org/~jshowto/Files/texts/eric_brower_js_howto_19980218.txt
</ulink>
</para>
<para>
This HOWTO also aims to serve as a member document of the Linux Documentation
Project. The <acronym>LDP</acronym> can be reached at:
<ulink url="http://www.linuxdoc.org"> http://www.linuxdoc.org</ulink>
</para>
</sect2>
<sect2 id="DocumentAcknowledgementsSection">
<title>Acknowledgments</title>
<para>
Enabling <application>Linux</application> on the <productname>JavaStations
</productname>, and allowing this HOWTO to come to be would never have
been possible without the fine work of the following people:
</para>
<para>
<itemizedlist>
<listitem>
<para>
Pete Zaitcev <email>zaitcev@yahoo.com</email>
(Primary <productname>JavaStation</productname> kernel mod author)
</para>
</listitem>
<listitem>
<para>
Eric Brower <email>ebrower@usa.net</email>
(<application>XFree</application> mods and author of the original
embedded-build HOWTO)
</para>
</listitem>
<listitem>
<para>
Varol Kaptan <email>varol@ulakbim.gov.tr</email>
(made available his <productname>Krups</productname> images and patches.
Backported kernel support to 2.2.x series)
</para>
</listitem>
<listitem>
<para>
David Miller <email>davem@redhat.com</email>
(the original <application>Linux/SPARC</application> kernel porter)
</para>
</listitem>
<listitem>
<para>
The <application>Linux/SPARC</application> kernel porters and mailing list
</para>
</listitem>
<listitem>
<para>
The thousands of contributors to the <application>Linux kernel</application>
</para>
</listitem>
</itemizedlist>
</para>
<para>
The HOWTO author wishes to give a second thank-you to Pete
and Eric for their work:
</para>
<blockquote>
<attribution>Robert Dubinski, March 2000</attribution>
<para>
Pete got me going with <application>Linux</application> on the
<productname>JavaStation</productname> in December 1998, has
been the main kernel programmer adding in support for the
<productname>JavaStation</productname> 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.
</para>
<para>
Eric worked on bringing <application>X</application> support to the
<productname>JavaStation</productname> when it had none.
He had been working on a dedicated server for the <productname>
JavaStation</productname> 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 <productname>JavaStations</productname>,
answered my email questions, and got me interested in the embedded
solution which I employ here at Marquette.
</para>
<para>
Thank-you Pete and Eric!
</para>
</blockquote>
<sect3 id="DocumentContributorsSection">
<title>Document Contributors</title>
<para>
The following people have contributed to this specific document:
</para>
<itemizedlist>
<listitem>
<para>
Pete Zaitcev <email>zaitcev@yahoo.com</email>
(Proofreading and factual corrections of initial drafts)
</para>
</listitem>
<listitem>
<para>
Eric Brower <email>ebrower@usa.net</email>
(Proofreading and factual corrections of initial drafts)
</para>
</listitem>
<listitem>
<para>
Richard Tomlinson <email>Richard.Tomlinson@one2one.co.uk</email>
(Document reader, Krups tester, feedback)
</para>
</listitem>
<listitem>
<para>
Michael R. Eckhoff <email>foobar@null.net</email>
(feedback on sample kernel)
</para>
</listitem>
<listitem>
<para>
John Bodo <email>sales_nospam@bodoman.com</email>
(JavaStation prototype info)
</para>
</listitem>
<listitem>
<para>
Simon Whiting <email>Simon.Whiting@mysun.com</email>
(Typo Fix in DHCP config)
</para>
</listitem>
<listitem>
<para>
Alex Cellarius<email>alexc@mail.systems104.co.za</email>
("Dover" info and pic)
</para>
</listitem>
<listitem>
<para>
Matt Lowry<email>mclowry@cs.adelaide.edu.au</email>
(Suggestion of Boot Sequence Visuals Section)
</para>
</listitem>
<listitem>
<para>
David Tinker<email>david@hemtech.co.za</email>
(Dover model info)
</para>
</listitem>
<listitem>
<para>
David O'Brien<email>obrien@NUXI.com</email>
(Fox prototype info)
</para>
</listitem>
<listitem>
<para>
Olaf Pueschel<email>olf@olmos.de</email>
(OBP info, true color info)
</para>
</listitem>
<listitem>
<para>
Richard Tomlinson<email>richard@sysgen.co.uk</email>
(Boot monitoring key combinations)
</para>
</listitem>
<listitem>
<para>
Zachary Drew<email>zach@math.umn.edu</email>
(Troubleshooting Suggestions)
</para>
</listitem>
<listitem>
<para>
Robert Thornburrow<email>robert@tsac.fsnet.co.uk</email>
(non-SPARC piggyback info)
</para>
</listitem>
<listitem>
<para>
Bill Childers<email>bill@nulldevice.net</email>
(Assorted Dover Info)
</para>
</listitem>
<listitem>
<para>
Simon Kuhn<email>address_lost!</email>
(Donated a Sun4 for kernel builds)
</para>
</listitem>
<listitem>
<para>
Nate Carlson<email>address_lost!</email>
(supplied pre-compiled kernels, but the HOWTO author lost the info during disk failures.)
</para>
</listitem>
</itemizedlist>
<para>
If you contributed a tidbit of info and are not listed, please email
the document author to get yourself listed. Everyone deserves recognition
helping this document evolve.
</para>
</sect3>
</sect2>
<sect2 id="DocumentHistorySection">
<title>History</title>
<para>
<revhistory>
<revision>
<revnumber>1.30</revnumber>
<date>31 Oct 2001</date>
<revremark>
Many major changes: restructured for better layout,
new chapters added, updated files and file pointers,
new master distribution location, source broken into
parts, new sample files, md5sums on all sample files,
overall update and proofread of materials. Thank-you
very much to Simon Kuhn for donating an old Sun4 to
enable more sample files be made. Thank-you also to
Nate Carlson for donating sample kernels (unfortunately
that info was lost during a disk crash...Nate, please
contact me.). If anyone contributed items between
May 31 and Oct 31 and it does not show up in this
revision, please resubmit it.
</revremark>
</revision>
<revision>
<revnumber>1.25</revnumber>
<date>30 Oct 2001</date>
<revremark>This is called the "@#!$?" release. It is
called such because there were some small-mid
size changes to the document which were lost
in a disk failure, prior to me re-uploading to
the LDP site. To give you an idea of how bad
the situation was, the last version I had on
backup was in Docbook SGML, while I had switched
to Docbook XML many months prior. Simply put,
any contributed changes or email contacts I had
with contributors were lost, and are hopefully on
their way back in with this release. If you
contributed something, and it disappeared, please
contact me immediately, and it'll get back in. --RSD
</revremark>
</revision>
<revision>
<revnumber>1.22</revnumber>
<date>31 May 2001</date>
<revremark>Changed file links, some sample file formats,
and clarified info relating to the sample files,
following requests on the sparclinux mailing list.
</revremark>
</revision>
<revision>
<revnumber>1.20</revnumber>
<date>08 May 2001</date>
<revremark>Information Refresh up to the current date,
and change to GNU Free Documentation License 1.1
</revremark>
</revision>
<revision>
<revnumber>1.15</revnumber>
<date>01 May 2001</date>
<revremark>Migrate source to DocBook XML 4.12</revremark>
</revision>
<revision>
<revnumber>1.13</revnumber>
<date>02 Feb 2001</date>
<revremark>Minimal Bugfixes</revremark>
</revision>
<revision>
<revnumber>1.12</revnumber>
<date>29 Dec 2000</date>
<revremark>Additional info on the "Fox" model</revremark>
</revision>
<revision>
<revnumber>1.11</revnumber>
<date>23 Nov 2000</date>
<revremark>Krups truecolor blurb, removed one acknowlegement per email request</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>15 Nov 2000</date>
<revremark>Numerous updates and additions
revisions</revremark>
</revision>
<revision>
<revnumber>1.05</revnumber>
<date>16 Jun 2000</date>
<revremark>Requested Format Changes and Fixes</revremark>
</revision>
<revision>
<revnumber>1.04</revnumber>
<date>13 Jun 2000</date>
<revremark>Suggested Fixes and Added Requests</revremark>
</revision>
<revision>
<revnumber>1.03</revnumber>
<date>04 May 2000</date>
<revremark>Minor Fixes, Requests</revremark>
</revision>
<revision>
<revnumber>1.02</revnumber>
<date>28 Apr 2000</date>
<revremark>Small fixes.</revremark>
</revision>
<revision>
<revnumber>1.01</revnumber>
<date>25 Apr 2000</date>
<revremark>"Brown Paper Bag" Revision.</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>24 Apr 2000</date>
<revremark>First submission to the LDP.</revremark>
</revision>
<revision>
<revnumber>0.9</revnumber>
<date>18 Apr 2000</date>
<revremark>Continued reorganization and final merges.
</revremark>
</revision>
<revision>
<revnumber>0.7</revnumber>
<date>15 Apr 2000</date>
<revremark>Migration from LinuxDoc DTD to Docbook DTD.
</revremark>
</revision>
<revision>
<revnumber>0.71</revnumber>
<date>14 Apr 2000</date>
<revremark>Received word doc was forwarded inside Sun.
</revremark>
</revision>
<revision>
<revnumber>0.7</revnumber>
<date>14 Apr 2000</date>
<revremark>Linked on Metabyte Website.
</revremark>
</revision>
<revision>
<revnumber>0.6</revnumber>
<date>9 Apr 2000</date>
<revremark>First semi-public release.
</revremark>
</revision>
<revision>
<revnumber>0.4</revnumber>
<date>24 Mar 2000</date>
<revremark>First move to comprehensive HOWTO.
</revremark>
</revision>
<revision>
<revnumber>0.2</revnumber>
<date>15 Oct 1999</date>
<revremark>More notes collected and merged.
</revremark>
</revision>
<revision>
<revnumber>0.1</revnumber>
<date>24 Jun 1999</date>
<revremark>Initial scraps put together.
</revremark>
</revision>
</revhistory>
</para>
</sect2>
<sect2 id="DocumentCopyrightSection">
<title>Document Copyright and Licenses</title>
<blockquote><para>
Copyright (c) 1999-2001 Robert S. Dubinski.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with the Invariant Sections being: "Why JavaStations are No Longer
Produced", with one Front-Cover Text: "Linux on JavaStation HOWTO",
and with one Back-Cover Text: "This document was written
by Robert S. Dubinski in the hope that more people can put
their JavaStation hardware to good use. Thank-you to the
Linux kernel hackers who made this happen, and thank-you to
Sun for a rock-solid piece of hardware." A copy of the
license is included in the section entitled
"GNU Free Documentation License".
</para></blockquote>
<para>
The document author makes <emphasis>no</emphasis> 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.
</para>
<para>
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 <email>rsd@dubinski-family.org</email> or send a patch to the
document source, and corrections will be made immediately.
</para>
<para>
This document is an official member document of
the <ulink url="http://www.linuxdoc.org"> Linux Documentation Project</ulink>.
</para>
</sect2>
<sect2 id="DocumentLocationSection">
<title>Location of the Latest Version and Source</title>
<para>
The latest online version of this document can be found at:
<ulink url="http://dubinski-family.org/~jshowto">
http://dubinski-family.org/~jshowto</ulink>
.
</para>
<para>
The pre-processed <acronym>XML</acronym> source to this document, written
to the Docbook <acronym>DTD</acronym>, version 4.1.2, is available from:
<ulink
url="http://dubinski-family.org/~jshowto/doc/src/"
>http://dubinski-family.org/~jshowto/doc/src/</ulink>
</para>
<para>
The pre-processed <acronym>XML</acronym> source to the GNU Free Documentation
License, written to the Docbook <acronym>DTD</acronym>, and which this
document is licensed under, is available from:
<ulink
url="http://dubinski-family.org/~jshowto/doc/src/gfdl.xml"
>http://dubinski-family.org/~jshowto/doc/src/gfdl.xml</ulink>
</para>
<para>
Copies of this document are also available from the Linux Documentation
Project at: <ulink url="http://www.linuxdoc.org/HOWTO/JavaStation-HOWTO/">http://www.linuxdoc.org/HOWTO/JavaStation-HOWTO</ulink>.
</para>
<para>
This project used to be available at the URL
'http://javastation-howto.homeip.net'. In Spring 2001, homeip.net
discontinued their free service and moved to a fee based scheme.
Given the hundreds of mirrors of LDP documents, I do not find
the fees justifiable. I have changed all references in this document back to
my home server. Between my server's address, <ulink url=
"http://dubinski-family.org/~jshowto">
http://dubinski-family.org/~jshowto</ulink>,
the LDP website, and its hundreds of mirrors, you should be able to always
find the JavaStation-HOWTO. If this is not the case, email me immediately
at either <email>rsd@dubinski-family.org</email> or
<email>dubinski@mscs.mu.edu</email>.
</para>
</sect2>
<sect2 id="ReportingHOWTOBugs">
<title>Reporting Bugs Found In or Additions to the HOWTO</title>
<para>
Any problems or concerns about the HOWTO should be reported via email
to the author, Robert Dubinski, at <email>rsd@dubinski-family.org</email>.
Do <emphasis>NOT</emphasis> send document bug reports to the
SparcLinux mailing list, the debian-sparc mailing list, or the Linux
Documentation Project. The folks on there really do not care about my
typos or server misconfigurations, so please don't trouble them.
</para>
</sect2>
<sect2 id="TODO">
<title>TODO List for this HOWTO</title>
<orderedlist>
<listitem>
<para>
As NetBSD now supports JavaStations as well, it would be good
to talk about support and sample files for it too.
</para>
</listitem>
</orderedlist>
</sect2>
</sect1>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,317 @@
<sect1 id="BackgroundRequirementsChapter">
<title>Background Requirements for <application>Linux</application> on a
<productname>JavaStation</productname></title>
<para>
This chapter describes the base hardware and software requirements
for enabling <application>Linux</application> on the <productname>JavaStation
</productname>.
</para>
<sect2 id="HardwareRequirementsSection">
<title>Complete Hardware Requirements</title>
<para>
For hardware, you will need one or more <productname>JavaStation</productname>
clients and a server to feed it its <application>Linux</application>
image from, all networked on the same net segment.
</para>
<para>
This server you use can be any server which supports <acronym>DHCP</acronym>
and <acronym>TFTP</acronym>, and <acronym>RARP</acronym>. These are the
base protocols needed to perform a network boot of the <productname>
JavaStations</productname>. You may also need <acronym>NFS</acronym>
service as well, but it is not necessary in one type of configuration
this HOWTO describes. Also, you can get by without <acronym>RARP</acronym>
on both the <productname>Krups</productname> and <productname>Espresso
</productname> models.
</para>
<para>
This document will describe how to set up serving the network <application>
Linux OS</application> image to the <productname>JavaStation</productname>
from a Sun server running <application>SparcLinux</application>. While you
do not need a Sun server to serve your <application>Linux</application>
image off of, a <hardware>Sun SparcLinux server</hardware> is recommended
should you wish to compile a kernel of your own, or prototype a new
filesystem for your <productname>JavaStations</productname> to use.
Otherwise, you will need to use prepackaged kernels and filesystems
somebody else has pre-built and made publicly available for use.
(You might also use a cross-compiler to produce the kernel images,
but prototyping a filesystem is best done on a Sun SparcLinux server.)
</para>
<para>
Reports of successful boot servers used include Sun boxes running
Sparclinux, Sun boxes running Solaris, and PCs running MS Windows.
It is only when you are building a new kernel or filesystem that a
Sun box running Linux becomes valuable.
</para>
<para>
Your network can be a simple <hardware>10 Mbps ethernet</hardware>
<acronym>LAN</acronym>, but when you begin using more than 50
<productname>JavaStations</productname> at once, a <hardware>switched
100 Mbps network</hardware> becomes desirable for your server to handle
multiple concurrent boot requests.
</para>
<para>
This HOWTO includes pointers to example kernels, filesystems and a
complete out-of-the-box solution for you to use, eliminating your need for
a <hardware>Linux/SPARC server</hardware>, but you still need a server of
some type to feed the image to the <hardware>JavaStations</hardware> as
they boot.
</para>
</sect2>
<sect2 id="NetworkServiceRequirements">
<title>Network Service Requirements</title>
<para>
As discussed in the last section, the <productname>JavaStation</productname>
boot cycle will make use of <acronym>DHCP</acronym> and <acronym>TFTP</acronym>
with possibly <acronym>NFS</acronym> and <acronym>RARP</acronym>. To
understand why, read up on the <productname>JavaStation</productname> boot
sequence in the next section.
</para>
</sect2>
<sect2 id="JavaStationBootDescSection">
<title>Understand the <productname>JavaStation</productname> Boot Sequence</title>
<para>
The <productname>JavaStations</productname> follow a typical <hardware>
diskless workstation</hardware> boot sequence.
</para>
<para>
When powered on, the <productname>JavaStation</productname> sends out a
broadcast request for its <acronym>IP</acronym>. It gets its <acronym>IP
</acronym> info via <acronym>RARP</acronym> or <acronym>DHCP</acronym>.
With a <acronym>DHCP</acronym> response, it gets information about the
network it is on and where to go download its boot image from via
<acronym>TFTP</acronym>.
</para>
<para>
There are subtle variations in diskless boots from one diskless machine to
the next. For instance, <acronym>BOOTP</acronym> may sometimes be
substituted where <acronym>DHCP</acronym> is, and <acronym>RARP</acronym>
may be eliminated in favor of either of the two. But in general, the
sequence is typically the same between the client and the server:
</para>
<orderedlist>
<listitem>
<para>
C: <quote>Who am I?</quote>
</para>
</listitem>
<listitem>
<para>
S: <quote>You are xxx</quote>
</para>
</listitem>
<listitem>
<para>
C: <quote>Where do I go for my boot image?</quote>
</para>
</listitem>
<listitem>
<para>
S: <quote>You go here.</quote>
</para>
</listitem>
<listitem>
<para>
C: <quote>Give me my image from here...Please?</quote>
</para>
</listitem>
<listitem>
<para>
S: <quote>Here's your image.</quote>
</para>
</listitem>
</orderedlist>
<para>
After the kernel is finished loading, your diskless client typically mounts
its root filesystem from the network via <acronym>NFS</acronym>.
Alternatively, it may load and mount it from a <acronym>RAM</acronym>disk.
</para>
<para>
The original JavaOS and Hotjava Views environment, when run on a JavaStation,
required the setup and maintenance of the core services above, plus
also NIS, HTTP, DNS, POP, and NTP servers. If setting up a JavaStation boot
server seems like a lot of work, imagine adding these extra services
into the mix too.
</para>
</sect2>
<sect2 id="ProllDescSection">
<title>Additional Software Requirements: Replacement Firmware
(<application>PROLL</application>)</title>
<para>
<productname>JavaStations</productname> came with two different
<acronym>PROMs</acronym> installed in them. Version 2.30 shipped with
the earliest <productname>Mr. Coffee</productname> models, and was
updated by latter versions of the <application>Sun Netra J</application>
software environment to 3.11. <productname>Krups</productname> and
<productname>Espresso</productname> came with 3.x versions of the
<acronym>PROM</acronym> by default.
</para>
<para>
It turns out the later 3.x series of <acronym>PROMs</acronym> is not
conducive to booting <application>Linux</application> upon.
Fortunately, a complete <acronym>PROM</acronym> replacement
called <application>PROLL</application> now exists to get by this limitation.
</para>
<para>
<application>PROLL</application> becomes the first image your <productname>
JavaStation</productname> grabs by <acronym>TFTP</acronym>. It then
will load your true kernel image and boot into <application>Linux
</application>.
</para>
<para>
No matter what <acronym>PROM</acronym> revision you have, get <application>
PROLL</application>. This can make troubleshooting new installs easier.
</para>
<para>
The current, master version of <application>PROLL</application> is available
from:
<ulink url="http://people.redhat.com/zaitcev/linux/">
http://people.redhat.com/zaitcev/linux/</ulink>.
</para>
<para>
The current version at the time of this writing is <quote>14</quote>.
</para>
<para>
<application>PROLL</application> can also be found mirrored on <quote>VGER
</quote>, and also on this HOWTO's distribution site at:
<ulink url="http://dubinski-family.org/~jshowto/Files/proll/proll_14.tar.bz2">
http://dubinski-family.org/~jshowto/Files/proll/proll_14.tar.bz2</ulink>
(HOWTO website mirror - version 14)
</para>
</sect2>
<sect2 id="FSTypeDescSection">
<title>Decide on your Filesystem-type: <acronym>NFS</acronym>-Root, or
Embedded?</title>
<para>
Before you begin, you must decide upon the root-filesystem type you wish to
use for your diskless <productname>JavaStation</productname>. There are
two possibilities.
</para>
<sect3 id="NFSRootFSDesc">
<title><quote><acronym>NFS</acronym>-Root</quote> Filesystem</title>
<para>
In this setup, after the boot kernel is retrieved off the network, the
running <productname>JavaStation</productname> makes an <acronym>NFS</acronym>
connection for its root filesystem. The root directory <quote>/</quote> is
mounted off the network for the duration of the current session.
</para>
<para>
The <quote><acronym>NFS</acronym>-Root</quote> solution is the recommended
way to go for beginners, as it is easier to troubleshoot if there are
problems. It also makes it easier to prototype the proper filesystem,
as any changes you make on a running system can be propogated for the
next boot cycle (so long as you are in read-write mode, of course).
</para>
<para>
Drawbacks of this type of system is increased network activity as the
running JavaStations locate and execute files, plus file organization
in large environments.
</para>
</sect3>
<sect3 id="EmbeddedFSDesc">
<title>
<quote>Embedded-Root</quote> Filesystem
</title>
<para>
In this setup, the root filesystem is loaded directly into <acronym>RAM
</acronym> and accessed from there.
</para>
<para>
The advantage of this setup is that there is no <acronym>NFS</acronym>
traffic to worry about, resulting in a clean solution.
</para>
<para>
The disadvantage of this configuration is that you can no longer do rapid
prototyping of your filesystem, as any changes you make to a running system
are lost. If you have no <quote>NFS-Root</quote> setup available, you
develop an embedded filesystem by making small tweaks and performing
reboots to test. Other disadvantages include the requirement of fitting
the full filesystem in available RAM; due to a limitation of PROLL, this
requirement is much lower on JavaStations than expected. Still, embedded
root is the way to go for the cleanest environment.
</para>
<para>
First time users will want to set up an <quote>NFS-Root</quote>
configuration. When you have things stabilized, move to
<quote>Embedded-Root</quote> to take use of its advantages.
</para>
</sect3>
</sect2>
<sect2 id="SupportSitesSection">
<title>Support Sites to Check Out: Zaitcev's Linux Site</title>
<para>
One website to keep on reference when you begin thinking about
putting Linux on your JavaStation is kernel hacker Pete Zaitcev's
website at: <ulink url="http://people.redhat.com/zaitcev/linux/">
http://people.redhat.com/zaitcev/linux/</ulink>, referenced
throughout this document as the <quote>ZLS</quote> site (short for
"Zaitcev's Linux Site"). Here you will find the latest version of
PROLL and many low-level details about dealing with the JavaStations.
Many items on the ZLS have been merged into this document, but not all.
</para>
<para>
Oct. 2001 update: It is in your best interest to review all the information
on Pete's site, in this document, and references pointed to, before diving
in and setting up your JavaStation with Linux. Almost all questions people
have had in setting up their systems are covered in the materials presented.
</para>
</sect2>
</sect1>

View File

@ -0,0 +1,634 @@
<sect1 id="KernelBuildChapter">
<title>Build Your Kernel</title>
<sect2 id="KernelBuild-BeforeBeginningSection">
<title>Before you begin</title>
<para>
This chapter assumes you wish to compile your own <application>Linux
</application> kernel for the <productname>JavaStation</productname>.
If this is something you can not do, there are sample kernels pointed
to at the end of this chapter.
</para>
<para>
This chapter assumes you already know how to compile
<application>Linux</application> kernels in general, perhaps
on a <acronym>PC</acronym>, a <acronym>SPARC </acronym> server
running <application>Linux</application>, or any of the
other <application>Linux</application> ports. If not, read the
Kernel-HOWTO and the README file of your kernel source.
</para>
<para>
Compiling a kernel for a <productname>JavaStation</productname> is not
much different than compiling a <application>Linux kernel</application>
elsewhere. You just need to know the right options to pick. In general,
you're compiling for a <hardware>Sun4M class architecture</hardware>, and
enabling <productname>JavaStation</productname>-specific options. The
following sections in this chapter will take you through the steps.
</para>
<para>
While it may be possible to compile the <productname>JavaStation</productname>
-enabled kernel on alternate platforms by way of a cross-compiler, this
HOWTO assumes you will do it on a <hardware>Linux/Sparc based server</hardware>
running in 32-bit mode. Cross-compiling will not be covered, and
questions regarding it will not be entertained.
</para>
</sect2>
<sect2 id="KernelBuild-WorkIn32BitModeSection">
<title>Make sure you use 32-bit mode</title>
<para>
When compiling your own <productname>JavaStation</productname>-capable
kernel on a Sun server, you need to make sure the machine you work on is
set to 32-bit mode. So, if you're on an Ultra-class machine, be sure to
first switch to 32-bit mode before you begin compiling.
</para>
<para>
To check what mode you're in, do a <userinput>uname -a</userinput>. If it
says <quote>sparc</quote>, you're in 32-bit mode and don't have to do
anything. If it reports <quote>sparc64</quote>, then you should perform
a <userinput>sparc32 bash</userinput> first to switch to 32-bit mode. A
subsequent <userinput>uname -a</userinput> should reflect the change.
</para>
</sect2>
<sect2 id="KernelBuild-KernelVersionSupportSection">
<title>Supported <application>Linux Kernel</application> Versions</title>
<para>
The kernel source revision you should use depends both on which model of
<productname>JavaStation</productname> you have, and which series
kernel you are using. The current "stable" series of Linux kernels is
2.4.x, but as we will read in a minute, this may not be the best bet
to use.
</para>
<para>
First, a few note on the 2.2.x and 2.3.x series.
<productname>Mr. Coffee</productname> has had kernel support since about
kernel version 2.2.5, and definitely works out of the box with the
<application>RedHat 6.0+/SPARC distribution kernels</application>.
<productname>Krups</productname> support did not work well out of the
box until the latter 2.3.x kernel cycle. Krups support was added
in the early 2.3.x sequence, but the <hardware>MMU</hardware> changes
to the 32-bit <application> SPARC kernel</application> had kept it from
compiling cleanly until later on.
</para>
<para>
Kernels for both Mr. Coffee and Krups compiled cleanly by the HOWTO
author with the Mar. 17, 2000 CVS kernel, and are included in the
Sample Kernels section.<productname>. Krups</productname> support was
backported into the 2.2.x kernels (where x>15). The latest 2.2.x
kernel "should" compile cleanly for the Mr. Coffee and Krups models,
but your mileage may vary.
</para>
<para>
Now onto the 2.4.x series.
</para>
<para>
The only kernel which has been tested and compiles cleanly for Mr. Coffee
and Krups is version 2.4.2. All other versions are broken or require a
patch.
</para>
<para>
The reason for this is that the sparc32 branch of the kernel has not had
an active maintainer for many months. Some are contributing fixes, but
without an active maintainer things go slow.
</para>
<para>
There is another reason to be weary of the 2.4.x series. From 2.4.0 through
2.4.9, the VM of the kernel was found to be inadequate under heavy loads,
and was subsequently replaced in 2.4.10+. This was a big change for the
so-called "stable" series of kernels.
</para>
<para>
To add further insult to injury, there have been security flaws detected
in all of 2.2.x kernel series and up through 2.4.12. This is patched
in pre-2.2.20 and 2.4.12+. As of this writing, 2.4.12+ has not been checked
by the author as functioning on the JavaStations.
</para>
<para>
So basically, it has been a crap-shoot over which kernel to choose.
Try a few until you find one that suits you best.
</para>
<para>
If you can not get a kernel to compile, or wish to avoid the headache or
trying, you may try the samples pointed to by this document.
</para>
</sect2>
<sect2 id="KernelBuild-RequiredKernelConfigOptionsSection">
<title>Required Kernel Configuration Options</title>
<para>
When you do your <userinput>make config</userinput> command to enter the
kernel configuration stage, there are a few things you are required to
enable. Note that the following option names are from a 2.2.x kernel,
and may be slightly different on a 2.4.x series kernel. If in doubt,
check the sample files later in the chapter.
</para>
<para>
For all <productname>JavaStations</productname>, you want to enable
<acronym>PCI</acronym> support:
</para>
<screen>
CONFIG_PCI=y
</screen>
<para>
Don't forget your mouse:
</para>
<screen>
CONFIG_BUSMOUSE=y
CONFIG_SUN_MOUSE=y
</screen>
<para>
You'll want video, done with the <application>Linux framebuffer interface</application>:
</para>
<screen>
CONFIG_FB_TCX=y (for Mr. Coffee)
CONFIG_FB_PCI=y
CONFIG_FB_IGA=y (for Krups/Espresso)
</screen>
<para>
Audio is done with the <hardware>Crystal Audio 4231 chipset</hardware>:
</para>
<screen>
CONFIG_SPARCAUDIO=y
CONFIG_SPARCAUDIO_CS4231=y
</screen>
<para>
Don't forget your network interface:
</para>
<screen>
CONFIG_SUNLANCE=y (Mr. Coffee)
CONFIG_HAPPYMEAL=y (Krups/Espresso)
</screen>
<para>
You'll no doubt need to support a filesystem:
</para>
<screen>
CONFIG_EXT2_FS=y
</screen>
<para>
You'll want <acronym>IP</acronym> autoconfiguration, and
<acronym>RARP</acronym>/<acronym>BOOTP</acronym> support:
</para>
<screen>
CONFIG_IP_PNP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
</screen>
<para>
When doing the <quote>NFS-Root</quote> filesystem configuration, you will
need both <acronym>NFS</acronym> and <acronym>NFS</acronym>-Root support:
</para>
<screen>
CONFIG_NFS_FS=y
CONFIG_ROOT_NFS=y
</screen>
<para>
When doing the <quote>Embedded-Root</quote> filesystem, configure both
<acronym>RAM</acronym> disks and <quote>initial ramdisk</quote> support:
</para>
<screen>
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_INITRD=y (for 2.4.x, also configure size of ramdisk)
</screen>
<para>
You can get a working <quote>.config</quote> file which has the required
options set later in this chapter.
</para>
</sect2>
<sect2 id="KernelBuild-EmbeddedRootFSPatchSection">
<title>Necessary Patch for <quote>Embedded-Root</quote> FS Configurations</title>
<para>
If you have decided to go with the <quote>Embedded-Root</quote> filesystem
option, you will want to make a patch to the <acronym>RAM</acronym>disk
driver source first.
</para>
<para>
The default size of a <acronym>RAM</acronym> disk when using the <acronym>RAM
</acronym>disk driver is 4 <acronym>MB</acronym>. Chances are that you will
want an embedded filesystem of more than that size, particularly when you
start thinking about running an <application>X server</application>, or
including a <application>Java</application> runtime.
</para>
<para>
You can do this for 2.2.x kernels by a manual edit yourself, or by using the
patch pointed to below. The change is a one-line edit in the file
&lt;LINUXROOT&gt;/drivers/block/rd.c . Look for a line that says:
</para>
<screen>
int rd_size = 4096; /* Size of the RAM disks */
</screen>
<para>
and change it to the size of the <acronym>RAMdisk</acronym> you wish.
Typically, most embedded systems are under 16 <acronym>MB</acronym>, so
a common edit is to change the line to:
</para>
<screen>
int rd_size = 4 * 4096; /* Size of the RAM disks */
</screen>
<para>
If you can not do this, the patch below makes the edit for you.
</para>
<para>
4MB to 16MB kernel patch file is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/patches/ramdisk_patch.txt">
http://dubinski-family.org/~jshowto/Files/patches/ramdisk_patch.txt
</ulink>
</para>
<para>
Kernels in the 2.4.x series allow you to select the amount of RAM
as a configuration option. The patch is no longer needed for those
kernels.
</para>
<para>
It should also be noted in this section that there is currently a limit on the
size of <application>Linux</application> boot image for all
<productname>JavaStation</productname> models, due to the implementation
of <application>PROLL</application>. This limit is technically 8
<acronym>MB</acronym>. This topic is mentioned again in
the <quote>Questions and TroubleShooting</quote> section of this document.
</para>
</sect2>
<sect2 id="KernelBuild-BuildTheKernelSection">
<title>Build the <productname>JavaStation</productname>-Ready Kernel</title>
<para>
To build the kernel, you type <userinput>make vmlinux</userinput>. If you
come from an <hardware>x86 </hardware> Linux background, you might be
surprised that you do not perform a <userinput>make bzImage</userinput>
or <userinput>make zImage</userinput>. Do not be alarmed: this command
is correct.
</para>
<para>
When the compile is finished, you will find a file named <quote>vmlinux
</quote> in the kernel source root directory. You are almost ready to
put this kernel to use.
</para>
</sect2>
<sect2 id="KernelBuild-elftoaout">
<title>Convert Kernel from ELF to a.out format</title>
<para>
You need to make one more change to your kernel before it is ready for
use. You need to convert it from <acronym>ELF</acronym> to <acronym>AOUT
</acronym> executable format. You can do this with the <quote>elftoaout
</quote> utility included in most <application>Linux/SPARC</application>
distributions.
</para>
<para>
To convert your kernel image to the <acronym>AOUT</acronym> executable format,
you issue the command:
</para>
<screen>
<userinput>elftoaout -o vmlinux.aout vmlinux </userinput>
</screen>
<para>
You will probably now want to rename the image file to a longer name
which includes the current date and kernel revision you used, so as not
to get confused with when you have multiple boot kernel images down the road.
</para>
<para>
The elftoaout program should come with your SparcLinux distribution.
If not, try VGER or your favorite kernel mirror.
</para>
</sect2>
<sect2 id="KernelBuild-KernelSamplesSection">
<title><productname>JavaStation</productname>-Ready Kernel Images,
System.map and .config File Samples</title>
<para>
Here are some sample <quote>.config</quote> and <productname>JavaStation
</productname>-ready kernel images. They were prepared and donated
to help get you up-to-speed quickly.
</para>
<para>
Warning: Some of these kernel images are considered out of date,
and should be avoided in a production environment. It is up to
you to decide how much of a liability you feel running them holds.
The document author and kernel contributors cannot be held liable
for any damage caused by the use of these kernels. They are provided
with absolutely no warranties.
</para>
<para>
If for some reason you have troubles downloading, try holding left-shift
on your browser as you click the link. Kernel images are compressed
with bzip2 compression. They must be uncompressed before use. Kernel
images are already converted to a.out format.
</para>
<para>
If you mirror these files, or can verify they work on a machine not yet
confirmed, <emphasis>PLEASE</emphasis> email me so I can add your information
here.
</para>
<sect3 id="KernelBuild-2.3.99pre3_embedded_RSD">
<title>2.3.99pre3_embedded_RSD</title>
<para>
.config (md5sum c59329ceb2e831f2502c1e410ece141c):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_embedded_RSD/config__2.3.99pre3_embedded_RSD.txt" >
http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_embedded_RSD/config__2.3.99pre3_embedded_RSD.txt</ulink>
</para>
<para>
kernel (md5sum 8e8d28b13961b92e3f95e4ba98f6f319):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_embedded_RSD/vmlinux__2.3.99pre3_embedded_RSD.bz2" >
http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_embedded_RSD/vmlinux__2.3.99pre3_embedded_RSD.bz2
</ulink>
</para>
<para>
System.map (md5sum 43205a86fcb0b16ecae7313d38fcbb2c):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_embedded_RSD/system.map__2.3.99pre3_embedded_RSD.txt">
http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_embedded_RSD/system.map__2.3.99pre3_embedded_RSD.txt
</ulink>
</para>
<para>
Description:
</para>
<para>
This kernel is donated by Robert Dubinski. It was used at Marquette
University to build an embedded root boot image. This is based off of the
Mar. 17, 2000 CVS kernel. It includes support for both Mr. Coffee and
Krups machines.
</para>
<para>
Tested on Mr. Coffee: YES
</para>
<para>
Tested on Krups: YES
</para>
<para>
Tested on Espresso: NO
</para>
</sect3>
<sect3 id="KernelBuild-2.3.99pre3_nfsroot_RSD">
<title>2.3.99pre3_nfsroot_RSD</title>
<para>
.config (md5sum e715370346ac298555dd7ce099c8f80a):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_nfsroot_RSD/config__2.3.99pre3_nfsroot_RSD.txt" >
http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_nfsroot_RSD/config__2.3.99pre3_nfsroot_RSD.txt</ulink>
</para>
<para>
kernel (md5sum fd141e8e8f639df67427d5ecd0ecba76):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_nfsroot_RSD/vmlinux__2.3.99pre3_nfsroot_RSD.bz2" >
http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_nfsroot_RSD/vmlinux__2.3.99pre3_nfsroot_RSD.bz2
</ulink>
</para>
<para>
System.map (md5sum fd141e8e8f639df67427d5ecd0ecba76):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_nfsroot_RSD/system.map__2.3.99pre3_nfsroot_RSD.txt">
http://dubinski-family.org/~jshowto/Files/kernels/2.3.99pre3_nfsroot_RSD/system.map__2.3.99pre3_nfsroot_RSD.txt
</ulink>
</para>
<para>
Description:
</para>
<para>
This kernel is donated by Robert Dubinski. It was used at Marquette
University to prototype a filesystem. This is based off of the
Mar. 17, 2000 CVS kernel. It includes support for both Mr. Coffee and
Krups machines.
</para>
<para>
Tested on Mr. Coffee: YES
</para>
<para>
Tested on Krups: YES
</para>
<para>
Tested on Espresso: NO
</para>
</sect3>
<sect3 id="KernelBuild-2.4.2_embedded_RSD">
<title>2.4.2_embedded_RSD</title>
<para>
.config (md5sum dd1a9dd2e92b9b175b7ba747c94edca7):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_embedded_RSD/config__2.4.2_embedded_RSD.txt" >
http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_embedded_RSD/config__2.4.2_embedded_RSD.txt</ulink>
</para>
<para>
kernel (md5sum 5a1592b7e0a37909ae16374296a7070e):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_embedded_RSD/vmlinux__2.4.2_embedded_RSD.bz2" >
http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_embedded_RSD/vmlinux__2.4.2_embedded_RSD.bz2
</ulink>
</para>
<para>
System.map (md5sum 1de202e0fab7a9e661bebc80255605b7):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_embedded_RSD/system.map__2.4.2_embedded_RSD.txt">
http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_embedded_RSD/system.map__2.4.2_embedded_RSD.txt
</ulink>
</para>
<para>
Description:
</para>
<para>
This kernel is donated by Robert Dubinski. It is a demonstration kernel
for the 2.4.x series, and has not been tested...yet. It includes support
for both Mr. Coffee and Krups machines.
</para>
<para>
Tested on Mr. Coffee: NO
</para>
<para>
Tested on Krups: NO
</para>
<para>
Tested on Espresso: NO
</para>
</sect3>
<sect3 id="KernelBuild-2.4.2_nfsroot_RSD">
<title>2.4.2_nfsroot_RSD</title>
<para>
.config (md5sum cabd1d98613ad169b372666b7eaa869b):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_nfsroot_RSD/config__2.4.2_nfsroot_RSD.txt" >
http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_nfsroot_RSD/config__2.4.2_nfsroot_RSD.txt</ulink>
</para>
<para>
kernel (md5sum c24f42f72c58920c00ac7ff7aaffadde):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_nfsroot_RSD/vmlinux__2.4.2_nfsroot_RSD.bz2" >
http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_nfsroot_RSD/vmlinux__2.4.2_nfsroot_RSD.bz2
</ulink>
</para>
<para>
System.map (md5sum 6af2b374c7d3fc3f97d48ab71b335062):
<ulink
url="http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_nfsroot_RSD/system.map__2.4.2_nfsroot_RSD.txt">
http://dubinski-family.org/~jshowto/Files/kernels/2.4.2_nfsroot_RSD/system.map__2.4.2_nfsroot_RSD.txt
</ulink>
</para>
<para>
Description:
</para>
<para>
This kernel is donated by Robert Dubinski. It is a demonstration kernel
for the 2.4.x series, and has not been tested...yet. It includes support
for both Mr. Coffee and Krups machines.
</para>
<para>
Tested on Mr. Coffee: NO
</para>
<para>
Tested on Krups: NO
</para>
<para>
Tested on Espresso: NO
</para>
</sect3>
<sect3 id="KernelBuild-OutsideFileMirrors">
<title>Outside kernel mirrors</title>
<para>
Other sites mirror the kernels here or other kernel samples.
Here are a few known sites as of Oct-31-2001:
</para>
<orderedlist>
<listitem>
<para>
<ulink
url="ftp://atari-source.com/pub/javastation/">
ftp://atari-source.com/pub/javastation/
</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink
url = "http://people.redhat.com/pjones/krups/">
http://people.redhat.com/pjones/krups
</ulink>
</para>
</listitem>
<!-- Varol seems to have left.
url = "http://aristo.ulakbim.gov.tr/~varol/documents/linux_krups.html">
http://aristo.ulakbim.gov.tr/~varol/documents/linux_krups.html
-->
</orderedlist>
</sect3>
</sect2>
</sect1>

View File

@ -0,0 +1,501 @@
<sect1 id="FileSystemBuild-BuildFileSystemChapter">
<title>Build A <productname>JavaStation</productname>-Ready FileSystem</title>
<para>
This chapter describes how one constructs a filesystem suitable for use
on the <application>Linux</application>-running <productname>JavaStations
</productname>.
</para>
<sect2 id="FileSystemBuild-FSBuildIntroSection">
<title>Preparing Yourself to Build Your Own Filesystem</title>
<para>
Building a filesystem for use with the <productname>JavaStations
</productname> is a time-consuming, but rewarding task for those
who undertake it. You will learn more about library dependencies than
you ever thought you could, all the time while trying to keep the
overall image size as small as possible.
</para>
<para>
WARNING: This is not an easy task. Creating a lasting filesystem is
not for novices. If you seriously consider undertaking this step,
prepare to budget a bit of time to get things just right, particularly
if you plan to make an embedded-root filesystem which fits in the
8MB limit. You have now been properly warned.
</para>
<para>
There are two common approaches one can take when rolling a new
<productname>JavaStation</productname>-ready filesystem.
</para>
<orderedlist>
<listitem>
<para>
Start with an established distribution's filesystem and whittle down
to the core.
</para>
</listitem>
<listitem>
<para>
Start with an established distribution's <quote>rescue disk</quote>
filesystem and add desired functionality.
</para>
</listitem>
</orderedlist>
<para>
Which path you take, of course, is entirely up to you. The <quote>rescue
disk</quote> build procedure seems to work best though, as more base
commands in a rescue disk are statically linked, increasing the starting
image size but causing less initial library headaches. Commands included
on a rescue disk also happen to be bare-bones, with many extraneous options
not compiled in.
</para>
<para>
Obviously when building a filesystem in the context of the <productname>
JavaStation</productname>, you will be basing off of an existing
<application>Linux/SPARC</application> filesystem. The filesystems
that come with the RedHat, SuSE or Debian distributions are good
starting points.
</para>
<warning>
<para>
In the future, you will also need to make sure you base off a filesystem
built with compiled 32-bit mode executables, as a 64-bit userland project
is presently in progress for 64-bit <acronym>SPARC</acronym>
<application>Linux kernels</application>. As of Oct. 2001, this is
still a ways away, but it is being mentioned now for the future.
</para>
</warning>
</sect2>
<sect2 id="FileSystemBuild-FstabDescSection">
<title>Contents of the <quote>/etc/fstab</quote> File</title>
<para>
The configuration lines placed into <quote>/etc/fstab</quote> depend
on whether you will be using the <quote>NFS-Root</quote> or
<quote>Embedded-Root</quote> filesystem configuration.
</para>
<sect3 id="FileSystemBuild-NFSRootFstabSection">
<title><quote>NFS-Root</quote> Filesystem fstab</title>
<para>Here is an example of an <quote>/etc/fstab</quote> for
an <quote>NFS-Root</quote> boot option.
</para>
<screen>
###
#
your.nfs.server:/path/to/filesystem / nfs defaults,rsize=8192,wsize=8192 1 1
#
none /proc proc defaults 0 0
###
</screen>
</sect3>
<sect3 id="FileSystemBuild-EmbeddedRootFstabSection">
<title><quote>Embedded-Root</quote> Filesystem fstab</title>
<para>Here is an example of an <quote>/etc/fstab</quote> for
an <quote>Embedded-Root</quote> boot option.
</para>
<screen>
###
#
/dev/ram / ext2 defaults
#
/proc /proc proc defaults
###
</screen>
</sect3>
</sect2>
<sect2 id="FileSystemBuild-EmbeddedRootProcedureSection">
<title>The <quote>Embedded-Root</quote> Image Creation Procedure</title>
<para>
Prepping up the <quote>Embedded-Root</quote> boot image requires a
number of extra steps. Due to these extra steps, the <quote>NFS-Root</quote>
filesystem option is recommended for beginners to <application>Linux
</application> on the <productname>JavaStation</productname>. You might
also try the samples pointed to in this document. Should you still wish
to build and embedded image on your own, this section outlines the basic
instructions.
</para>
<para>
Creating the <quote>Embedded-Root</quote> boot image is a 5-Step Procedure:
</para>
<orderedlist>
<listitem>
<para>
<emphasis>Prototype Your Filesystem</emphasis>
</para>
<para>
This whole chapter deals with rolling your own filesystem.
In this step, it is assumed you create your own filesystem,
perhaps by prototyping one on a working <quote>NFS-Root</quote>
filesystem configuration.
</para>
<para>
One thing to keep in mind is that unlike your <quote>NFS-Root</quote>
filesystem, the <quote>Embedded-Root</quote> filesystem must fit
within the confines of your allocated <acronym>RAM</acronym>disk,
generally 4-16 <acronym>MB</acronym>. Your maximum size is dependant
on the setting of the <acronym>RAM</acronym>disk driver.
</para>
</listitem>
<listitem>
<para>
<emphasis>Create an Empty File for Your FileSystem</emphasis>
</para>
<para>
You now need to create a file-based filesystem <quote>container</quote>.
This is just a file that is the size of your <acronym>RAM</acronym>disk.
</para>
<para>
To create this, try the <userinput>dd</userinput> command:
</para>
<screen>
<userinput>dd if=/dev/zero of=./fs_test.img bs=1k count=8000 </userinput>
</screen>
<para>
Using this example, you now should have an 8 <acronym>MB</acronym> file
named <quote>fs_test.img</quote>. Note: Be <emphasis>sure</emphasis>
the count you use matches the <acronym>RAM</acronym>disk size you
allocated for in the kernel's <acronym>RAM</acronym>disk driver!
</para>
</listitem>
<listitem>
<para>
<emphasis>Format your Filesystem <quote>Container</quote></emphasis>
</para>
<para>
Now that you have a <quote>container</quote> for your filesystem, it
is time to format it and place a bare filesystem on it.
</para>
<para>
In our kernel phase, we added in support for the ext2 filesystem.
We'll now format our <quote>container</quote> with this filesystem
type.
</para>
<screen>
<userinput>mkfs.ext2 ./fs_test.img</userinput>
</screen>
<para>
Ignore any warnings about the file not being a block device, and
proceed anyway. This is an expected warning message.
</para>
</listitem>
<listitem>
<para>
<emphasis>Mount the Filesystem <quote>Container</quote> and Write to It</emphasis>
</para>
<para>
Now that you have your filesystem container, you can
mount it and load your prototyped filesystem on it.
</para>
<para>
To mount the container, use the kernel loopback device.
Make sure your server's kernel has loopback support enabled
and issue a:
</para>
<screen>
<userinput>mount -o loop ./fs_test.img /mnt</userinput>
</screen>
<para>
Copy your files to the filesystem, and make sure <quote>/etc/fstab
</quote> has the <acronym>RAM</acronym>disk entries as described
elsewhere in this document.
</para>
<para>
To avoid symbolic links being changed into actual copies of files, use
a copy tool like <quote>tar</quote> or <quote>cpio</quote> instead of a
<quote>cp</quote>.
</para>
</listitem>
<listitem>
<para>
<emphasis>Unmount and Compress the Root Filesystem</emphasis>
</para>
<para>
Unmount the root filesystem you just created.
</para>
<screen>
<userinput>umount /mnt</userinput>
</screen>
<para>
Compress the filesystem file with maximum <quote>gzip</quote>
compression levels.
</para>
<screen>
<userinput>gzip -v9 ./fs_test.img</userinput>
</screen>
<para>
You should now have <quote>fs_test.img.gz</quote> file.
</para>
</listitem>
<listitem>
<para>
<emphasis>Hook the Root-Filesystem Onto the Back of Your Kernel Image</emphasis>
</para>
<para>
Now you must append the filesystem image onto your kernel.
</para>
<para>
You do this with a utility program called <quote>piggyback</quote>.
The piggyback program takes care of the task of appending the two and
letting the kernel know where both it and the filesystem begins and ends.
</para>
<para>
The <quote>piggyback</quote> program is found in your kernel source tree
under &lt;LINUXROOT&gt;/arch/sparc/boot. It might also be found on your
favorite ftp.kernel.org site.
</para>
<para>
For piggyback to work, it needs your <acronym>AOUT</acronym> format
kernel image, the System.map file from your kernel source root
directory, and the compressed root-filesystem you just created.
</para>
<para>
We put it all together with a:
</para>
<screen>
<userinput>piggyback vmlinux.aout System.map fs_test.img.gz</userinput>
</screen>
<para>
Be sure to backup your kernel image first, as piggyback used the same
<quote>vmlinux.aout</quote> filename for output. Check the filesize of
your <quote>vmlinux.aout</quote> file after giving this command and you
can verify the filesystem has indeed been appended.
</para>
</listitem>
</orderedlist>
<para>
Congratulations! You've created an <quote>Embedded-Root</quote>
kernel/filesystem boot image.
</para>
</sect2>
<sect2 id="FileSystemBuild-SampleFilesystemsSection">
<title>Sample FileSystems</title>
<para>
Here are some sample filesystems for you to start with. They have
been contributed by various JavaStation users.
</para>
<para>
Warning: Some of these filesystem images may be considered out of date,
and should be avoided in a production environment. It is up to you
to decide how much of a liability you feel running them holds. The
document author and filesystem contributors cannot be held liable for any
damage caused by the use of these files. They are provided with
absolutely no warranties.
</para>
<sect3 id="FileSystemBuild-jsroot_varol_19991221">
<title>jsroot_varol_19991221</title>
<para>
filesystem (md5sum 450669bc5f3f8a4006fdc75471c0454b):
<ulink
url="http://dubinski-family.org/~jshowto/Files/filesystems/jsroot_varol/jsroot_varol_19991221.tar.bz2" >
http://dubinski-family.org/~jshowto/Files/filesystems/jsroot_varol/jsroot_varol_19991221.tar.bz2
</ulink>
</para>
<para>
Description:
</para>
<para>
This image, created by Varol Kapton <email>varol@ulakbim.gov.tr</email>,
was based on RedHat 6/SPARC. It has the Xfree 3.3.5 framebuffer
server dated 19990823, but only works with Krups. If you are working with
a Mr. Coffee unit, you must substitute the other X server discussed later in
this HOWTO.
</para>
<para>
As the network settings included are configured for Varol's network, you must
first mount this image, and edit /etc/hosts and /etc/resolv.conf accordingly.
</para>
<para>
Confirmed OK: YES
</para>
<para>
Good for Mr. Coffee: YES
</para>
<para>
Good for Krups: NO
</para>
<para>
Good for Espresso: NO
</para>
</sect3>
</sect2>
<sect2 id="FileSystemBuild-XBinariesSection">
<title>Sample X Servers</title>
<para>
One of the most frequently asked questions users have is where
to get an X server from. Here are some sample X servers for you
to start with. They have been contributed by various JavaStation users.
</para>
<para>
Warning: Some of these files may be considered out of date,
and should be avoided in a production environment. It is up to you
to decide how much of a liability you feel running them holds. The
document author and filesystem contributors cannot be held liable for any
damage caused by the use of these files. They are provided with
absolutely no warranties.
</para>
<sect3 id="FileSystemBuild-XF86_FBDev_3.3.3.1_19990104">
<title>XF86_FBDev_3.3.3.1_19990104</title>
<para>
X server (md5sum 88b49bbbfa1c36a5049b62b44c54ed81):
<ulink
url="http://dubinski-family.org/~jshowto/Files/xfree/XF86_FBDev_3.3.3.1_19990104.bz2">
http://dubinski-family.org/~jshowto/Files/xfree/XF86_FBDev_3.3.3.1_19990104.bz2
</ulink>
</para>
<para>
XF86Config file (md5sum d9fa291efbd178812b3bd253dffb1893):
<ulink
url="http://dubinski-family.org/~jshowto/Files/xfree/XF86Config_FBDev_3.3.3.1_19990104.txt">
http://dubinski-family.org/~jshowto/Files/xfree/XF86Config_FBDev_3.3.3.1_19990104.txt
</ulink>
</para>
<para>
Description:
</para>
<para>
This is a server for XFree 3.3.3.1 with support for the framebuffers
of Mr. Coffee and Krups.
</para>
<para>
Confirmed OK: YES
</para>
<para>
Good for Mr. Coffee: YES
</para>
<para>
Good for Krups: YES
</para>
<para>
Good for Espresso: NO
</para>
</sect3>
</sect2>
<sect2 id="FileSystemBuild-OutsideFilesystems">
<title>Outside Sample Filesystems</title>
<para>
Of course, other filesystems and tools exist outside this document, and
have been used by JavaStation users. Here are a few files that were
reported on the sparclinux mailing list as having been used.
</para>
<orderedlist>
<listitem>
<para>
<ulink
url="http://busybox.lineo.com">
http://busybox.lineo.com (a single executable which has dozens of common
unix tool functions built in)
</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink
url="http://www.ultralinux.org/js">
http://www.ultralinux.org/js (Jim Mintha's filesystems)
</ulink>
</para>
</listitem>
</orderedlist>
</sect2>
</sect1>

View File

@ -0,0 +1,247 @@
<sect1 id="ServerSetup-ServerSetupChapter">
<title>Set up Your Server</title>
<para>
This chapter describes the configuration steps necessary for
the server machine to hand-off your <productname>JavaStation</productname>
boot image.
</para>
<sect2 id="ServerSetup-ServerPrefaceSection">
<title>Preface</title>
<para>
It is now time to setup your server to deliver the <acronym>OS</acronym>
and filesystem to the <productname>JavaStation</productname>.
</para>
<para>
In our examples here, we configure a Linux/SPARC server <quote>lnxserv
</quote> at private IP 192.168.128.100 to deliver a boot image to
<productname>JavaStation</productname> <quote>java01</quote> at
private IP 192.168.128.1. Both are on private network 192.168.128/24.
When using an <quote>NFS-Root</quote> Filesystem, the location on
the server of the filesystem in our sample is at <quote>/path/to/nfsroot
</quote>.
</para>
</sect2>
<sect2 id="ServerSetup-ConfigureRARPSection">
<title>Setting up the <acronym>RARP</acronym> service</title>
<para>
We first need to set up <acronym>RARP</acronym> service on our server,
so the <productname>JavaStation</productname> can auto-configure its
<acronym>IP</acronym>.
</para>
<para>
First, populate the <quote>/etc/ethers</quote> file with the mapping of
the mac address of the <productname>JavaStation</productname> to its
hostname:
</para>
<screen>
### /etc/ethers
8:0:20:82:7a:21 lnxserv # 192.168.128.100 (server is not necessary,)
# # (just for completeness)
#
#
08:00:20:81:C2:ae java01 # 192.168.128.1 (JavaStation)
#
###
</screen>
<para>
Next, populate the <quote>/etc/hosts</quote> file with the <acronym>IP
</acronym> to hostname maps:
</para>
<screen>
### /etc/hosts
192.168.128.100 lnxserv
192.168.128.1 java01
###
</screen>
<para>
Lastly, configure the <acronym>RARP</acronym> cache to fill.
On 2.2.x based systems, you do this with the /sbin/rarp command, so
fill the cache at startup:
</para>
<screen>
### Part of rc.local
#
# If necessary, first load the rarp module to be able to fill the cache.
# /sbin/insmod rarp
#
# Now we fill the rarp cache. You better have the rarp command available.
if [ -f /sbin/rarp ]; then
/sbin/rarp -f
fi
###
</screen>
<para>
On 2.4.x based systems, you must use the userland RARP daemon to answer
RARP requests instead.
</para>
</sect2>
<sect2 id="ServerSetup-ConfigureDHCPSection">
<title>Setting up the <acronym>DHCP</acronym> service</title>
<para>
You now need to configure your server to deliver <acronym>DHCP</acronym>
service. This will help identify the <productname>JavaStation</productname>,
the network it is on, and where to get its boot image from.
</para>
<para>
The following is a sample <quote>dhcpd.conf</quote> file for the
<application>ISC DHCP server</application> software which ships
with most <application>Linux/SPARC</application> distributions.
</para>
<screen>
### Sample /etc/dhcpd.conf file for ISC DHCPD
#
deny unknown-clients;
#
subnet 192.168.128.0 netmask 255.255.255.0
{
range 192.168.128.1 192.168.128.150;
}
group
{
host java01
{
hardware ethernet 08:00:20:81:C2:ae;
filename "C0A88003"; # "/tftpboot/xxx"
fixed-address java01; # 192.168.128.1
}
}
#
### End dhcpd.conf file
</screen>
<para>
A longer
<ulink url="http://dubinski-family.org/~jshowto/Files/conf/petes_dhcpd.conf.txt">dhcpd.conf</ulink> from the ZLS is mirrored here for demonstration purposes.
</para>
<para>
Note: Some early versions of <application>ISC DHCPD</application> are
reported to not work well. It is recommended you use <application>ISC
DHCPD Version 2.0 and above</application>. If you still find youself
having problems, there is a patch to the ISC DHCP server on the ZLS website.
</para>
</sect2>
<sect2 id="ServerSetup-ConfigureNFSSection">
<title>Set up <acronym>NFS</acronym> service (<quote>NFS-Root Options</quote>
Only)</title>
<para>
When you are serving up an <quote>NFS-Root</quote> filesystem, you need
to share the filesystem you created to the <productname>JavaStation
</productname> client. You do this with the <quote>/etc/exports</quote>
file.
</para>
<screen>
###/etc/exports
/path/to/nfsroot java01(rw,no_root_squash)
###
</screen>
<para>
Be sure your <acronym>NFS</acronym> server gets properly started
up at boot-time.
</para>
</sect2>
<sect2 id="ServerSetup-ConfigureTFTPSection">
<title>Setting up for Boot with <acronym>TFTP</acronym></title>
<para>
Now we need to set up the last step on our server: the <acronym>TFTP
</acronym> configuration. For this step, you will need the kernel
you created (using the <quote>NFS-Root</quote> option) or the
piggybacked kernel/fs boot image (using the <quote>Embedded-Root</quote>
option), the appropriate <application>PROLL</application>, and some
knowledge of hexadecimal numbering.
</para>
<para>
The first thing you need to do is verify that <quote>TFTPd</quote> is
enabled in your <quote>/etc/inetd.conf</quote> file:
</para>
<screen>
tftp dgram udp wait root /usr/sbin/tcpd in.tftpd
</screen>
<para>
Now, you move your copy of proll for your <productname>JavaStation
</productname> architecture, along your kernel or piggybacked kernel
image to /tftpboot.
</para>
<para>
Now, you create of symbolic link from the hexidecimal version of your
<acronym>IP</acronym> to your <application>PROLL</application> image,
and a map from <quote>HEXIP.PROL</quote> to your real kernel image. If
you are using <quote>Embedded-Root</quote> option, you point to your
<quote>Embedded-Root</quote> Filesystem plus Kernel image. If you are
using the <quote>NFS-Root</quote> option, you need to point to the
normal <quote>vmlinux.aout</quote> image, plus have a separate map of
<acronym>IP</acronym>-&gt;nfsroot location. For sake of completeness,
you might also want a <quote>HEXIP.SUN4M</quote> -&gt; <quote>HEXIP
</quote> map, as that is the custom way of dealing with net boot
situations with the Sun.
</para>
<para>
Example for java01 booting from <quote>NFS-Root</quote>:
</para>
<screen>
$ ls -ld /tftpboot
-rw-r--r-- 1 root root 89608 Mar 20 10:15 proll.aout.krups.11
-rw-r--r-- 1 root root 52732 Mar 17 11:52 proll.aout.mrcoffee.11
lrwxrwxrwx 1 root root 19 Mar 20 10:16 proll.krups -&gt; proll.aout.krups.11
lrwxrwxrwx 1 root root 22 Mar 17 11:54 proll.mrcoffee -&gt; proll.aout.mrcoffee.11
lrwxrwxrwx 1 root root 10 Apr 1 13:00 C0A88001.SUN4M -&gt; COA88001
lrwxrwxrwx 1 root root 10 Apr 1 13:00 C0A88001 -&gt; proll.mrcoffee
lrwxrwxrwx 1 root root 12 Apr 1 13:00 C0A88001.PROL -&gt; vmlinux.aout
-rw-r--r-- 1 root root 1456189 May 21 12:53 vmlinux.aout
-rw-r--r-- 1 root root 6743821 Apr 1 12:53 vmlinux_embed.aout
lrwxrwxrwx 1 root root 18 Apr 1 12:53 192.168.128.1 -&gt; /path/to/nfsroot
</screen>
<para>
Example for java01 booting from <quote>Embedded-Root</quote> boot image:
</para>
<screen>
$ ls -ld /tftpboot
-rw-r--r-- 1 root root 89608 Mar 20 10:15 proll.aout.krups.11
-rw-r--r-- 1 root root 52732 Mar 17 11:52 proll.aout.mrcoffee.11
lrwxrwxrwx 1 root root 19 Mar 20 10:16 proll.krups -&gt; proll.aout.krups.11
lrwxrwxrwx 1 root root 22 Mar 17 11:54 proll.mrcoffee -&gt; proll.aout.mrcoffee.11
lrwxrwxrwx 1 root root 10 Apr 1 13:00 C0A88001.SUN4M -&gt; COA88001
lrwxrwxrwx 1 root root 10 Apr 1 13:00 C0A88001 -&gt; proll.mrcoffee
lrwxrwxrwx 1 root root 12 Apr 1 13:00 C0A88001.PROL -&gt; vmlinux_embed.aout
-rw-r--r-- 1 root root 1456189 May 21 12:53 vmlinux.aout
-rw-r--r-- 1 root root 6743821 Apr 1 12:53 vmlinux_embed.aout
</screen>
</sect2>
</sect1>

View File

@ -0,0 +1,28 @@
<sect1 id="OutoftheBox-OutoftheBoxSolutionChapter">
<title>"Out of the Box" JavaStation Boot File Solutions</title>
<para>
This chapter is for administrators who have neither the time nor
energy to put together files as described in the previous two chapters,
or just want to see Linux on a JavaStation rapidly. In this chapter are
complete kernel+embedded-root-fs solutions for to try.
</para>
<para>
The images here perform simple (or meaningless) tasks, but are useful for
verifying a server configuration. Configuring the boot server is covered
in the next chapter.
</para>
<sect2 id="OutofTheBox-RSD1">
<title>Simple Solution #1</title>
<para>
This is simple solution #1, or at least it will be when it gets created.
Right now this section is a stub for the future files.
</para>
</sect2>
</sect1>

View File

@ -0,0 +1,126 @@
<sect1 id="JavaStationBoot-BootYourJavaStationChapter">
<title>Booting Your JavaStation</title>
<para>
Once you've selected or built your boot files to use, and configured your
boot server to serve them, it is time to boot your JavaStation with Linux!
</para>
<sect2 id="JavaStationBoot-BootVisualsSection">
<title>What to See When Booting Linux</title>
<para>
There are multiple stages to the JavaStation boot cycle. What
you see on screen can give you clues as to whether things are going
well or not. Therefore, it is vital you become familiar with
these boot stages, so you can troubleshoot problems rapidly.
</para>
<sect3 id="JavaStationBoot-FreshBoot">
<title>Stage 1: White Screen</title>
<para>
When you first boot, your JavaStation will start up with
a white background screen and black-text PROM banner on top.
You will also see a black "exclamation mark in triangle" warning
logo. This means the system doesn't yet know who it is, and begins
sending RARP/BOOTP requests.
</para>
<para>
If you do not get this white screen, there is something wrong with your
JavaStation. Check all connections, particularly your keyboard, monitor
and mouse cords. If the JavaStation does not detect a keyboard or mouse,
it thinks it is being booted into a serial console, and will not use the
monitor (or keyboard/mouse). In exceptional cases, you may need to reset
a jumper if the unit has been set to always boot into the serial console.
</para>
</sect3>
<sect3 id="JavaStationBoot-CoffeeCupLogo">
<title>Stage 2: Coffee Cup Logo</title>
<para>
When contact is made with the DHCP server, the logo goes away and changes
to the Java coffee cup logo. The screen is still white background. The
logo should be solid, and not blinking. This step lasts a second or two,
as the unit should already be contacting the TFTP server and downloading the
boot image.
</para>
<para>
If your coffee logo is blinking, it means there is a problem getting your
IP address, usually due to a DHCP leasing problem. Check your DHCP server's
logs to see that your JavaStation's mac address is being sent a proper
IP address.
</para>
<para>
If your JavaStation doesn't even get a blinking coffee cup, check both
your DHCP and RARP server settings. Also, if running the ISC DHCP server,
you may be having a problem with 1514-byte packets and need the patch from
the ZLS website.
</para>
</sect3>
<sect3 id="JavaStationBoot-Proll">
<title>Stage 3: A Window to PROLL</title>
<para>
After the coffee cup logo is solid a few seconds, a white-text on black
background window opens. This is the PROLL window. It'll show status of
the TFTP download in progress, and when finished will give stats on the
size of the file downloaded. The size should match your completed file.
When finished, the screen should read 'Booting Linux'. Although, this goes
so fast you may not see it.
</para>
<para>
If you don't see the PROLL window open, confirm your TFTP settings are
correct. Also, verify you are pointing to a version of PROLL specific
to your JavaStation model. In other words, PROLL for Krups is different
from PROLL for Mr. Coffee, and so on.
</para>
<para>
If, at the bottom of the PROLL window, the system prints the phrase
'obio_range' and hangs for minutes without end, the boot is halted,
and you are likely running an old version of PROLL. Verify your PROLL
version is the most recent and try again.
</para>
</sect3>
<sect3 id="JavaStationBoot-KernelBoot">
<title>Stage 4: Kernel Boot</title>
<para>
After PROLL finishes its work, the whole screen should go black.
You should see a picture of the Linux logo, Tux the penguin, in
the upper left hand of the screen. At this point, messages
relating your kernel should be spilling down before you. The
color of the text is either white or grey depending on your
monitor.
</para>
<para>
If the screen didn't flip, and you do not see Tux, chances are
you are using a kernel compiled with framebuffer support for a
different JavaStation model than you are using.
</para>
<para>
After the message, 'decompressing kernel' appears and the kernel
begins spitting out its boot messages, any mistakes from
this point are due either to: the filesystem you are using, the
filesystem mounting, or missing kernel drivers which should have
been compiled in; in other words, your own fault.
</para>
</sect3>
</sect2>
</sect1>

View File

@ -0,0 +1,651 @@
<sect1 id="QuestionsandTroubleshooting-QuestionsandTroubleShootingChapter">
<title>Questions and Troubleshooting</title>
<para>
This chapter is intended to provide solutions to frequently and
infrequently encountered problems in enabling <application>Linux
</application> on the <productname>JavaStations</productname>.
</para>
<sect2 id="QuestionsandTroubleshooting-NotExecutableTSSection">
<title>When booting, the message <quote>The file just loaded does not
appear to be executable.</quote> Why?
</title>
<para>
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
<userinput>elftoaout</userinput> on your kernel image, as described
in the "Kernel Build" chapter.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-NoMagicTSSection">
<title>When booting, the message <quote>no a.out magic</quote> appears
and halts the boot. Why?
</title>
<para>
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 <userinput>elftoaout</userinput> on your kernel image,
as described in the "Kernel Build" chapter.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-FlashTSSection">
<title>I tried booting a Krups but JavaOS comes up. I don't even have JavaOS!
</title>
<para>
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.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-TenMBLimitTSSection">
<title>Cannot Boot an <quote>Embedded-Root</quote> image &gt; 10 <acronym>MB
</acronym>on my <productname>JavaStation</productname>. Why?</title>
<para>
There is a known limit of 8 <acronym>MB</acronym> when using the
<quote>Embedded-Root</quote> boot image option.
</para>
<para>
The cause of this is the current version of the <application>PROLL
</application> software, which map only 8 <acronym>MB</acronym>
of low memory. Any more and banking support would need to be
added to it.
</para>
<para>
If needed, this limit can be fixed by someone, as the source
to <application>PROLL</application> has been released under terms
of the General Public License (<acronym>GPL</acronym>).
</para>
<para>
So in reality, the embedded image size limit is really 8 <acronym>MB</acronym>
, not 10 <acronym>MB</acronym>. If 10 <acronym>MB</acronym> somehow works
for you, it is sheerly by <quote>luck</quote>!
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-KeyGarblesTSSection">
<title>After Booting, Typing Anything Yields Garbage Characters. Why?</title>
<para>
There are a few possibilities for this. Among them:
</para>
<orderedlist>
<listitem>
<para>
You have an incorrect device # for tty0.
</para>
</listitem>
<listitem>
<para>
The <quote>keytable</quote> loaded is incorrect. Make sure you use
<quote>sun</quote> instead of <quote>PC</quote> if you use the keytable
program. Look for the keytable configuration file if it exists.
</para>
</listitem>
</orderedlist>
</sect2>
<sect2 id="QuestionsandTroubleshooting-FontServTSSection">
<title>In X Sessions to a <application>Solaris</application> server, the
font server <quote>xfs</quote> crashes. Why?
</title>
<para>
If you do <application>X</application> sessions to a <application>Solaris
</application> server, and you find that your sessions are no longer opening
up new windows, chances are the font server on the <application>Solaris
</application> host has crashed. This is a known bug in <application>
Solaris</application> 2.6 and 2.7 when you have about 2 dozen <hardware>
X terminals</hardware> sessions running.
</para>
<para>
The fix is to move the font server to a different OS and point your
<productname>JavaStations</productname> there, or to upgrade your
<application>Solaris</application> to the 2.7 11/99 maintenance
release or <application>Solaris 8</application> which both (apparently)
have fixes to this problem.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-XDMCPTSSection">
<title>Performing Indirect <acronym>XDMCP</acronym> to a <application>
Solaris</application> Server Results in Session Login Failures. Why?
</title>
<para>
Congratulations! You probably have one of patch numbers 107180-12 through
107180-19 installed on a <application>Solaris 7</application>
server. You need to upgrade to 107180-20 or above to fix this problem.
</para>
<para>
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 <quote>unsupported configuration.</quote>. Never mind
that the client was a piece of hardware made by Sun itself. Also never
mind that indirect <acronym>XDMCP</acronym> 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 <acronym>XDMCP</acronym> 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.
</para>
<para>
The moral of the story: test your <productname>JavaStation</productname>
configuration against an upgraded server that is not in production mode.
</para>
<para>
If you have XDMCP problems not related to these faulty Solaris patches,
it may be a new problem, so please report it.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-SUSETftpTSSection">
<title>TFTPd config doesn't work on SUSE 6.3. Why?</title>
<para>
This was reported by a user after this document was first released.
</para>
<para>
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.
</para>
<para>
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'
</para>
<para>
It is not known whether these changes are needed for newer versions of
SUSE.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-RARPFAQSection">
<title>Regarding <acronym>RARP</acronym>: Is it Needed or Not?</title>
<para>
<acronym>RARP</acronym> is not needed with the <productname>Krups
</productname> or <productname>Espresso</productname> models and
recent <application>PROLL</application> software. <acronym>RARP
</acronym> is required for <productname>Mr. Coffee</productname>,
however.
</para>
<para>
This 'Server Configuration' chapter explained how to set up
kernel-level <acronym>RARP</acronym> on 2.2.x systems.
</para>
<para>
On servers with kernel versions 2.3.x/2.4.x, kernel-level
<acronym>RARP</acronym> support is removed. The ZLS holds a
version of <application> ANK userland RARP</application> from Andi
Klein of SuSE that will work with Linux/SPARC. It is available
from: <ulink url="http://people.redhat.com/zaitcev/linux/rarpd-ap1.tar.bz2">
http://people.redhat.com/zaitcev/linux/rarpd-ap1.tar.bz2</ulink>.
The command to use then is <userinput>rarpd-ank -e eth0</userinput>.
<quote>-e</quote> makes it ignore /tftpboot checking, and
<quote>eth0</quote> is needed if you are behind a firewall.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-EspressoCardReaderFAQSection">
<title>Can One Use the Smart Card Reader on the Espresso models?</title>
<para>
This is not currently supported, but the reader follows an
ISO standard (ISO 7816-3). On <productname>
Espresso</productname>, if you look into <application>PROLL</application>,
there are definitions for the <acronym>GPIO</acronym> smartcard data/clock in
<quote>eeprom.c</quote>. So a programmer should technically be able to get
the Smart Card slot running.
</para>
<para>
Whether the smartcard reader on Dover and Espresso are equivalent is
not known.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-SolarisDHCPFAQSection">
<title>Can One Use the <application>Solaris</application> <acronym>DHCP</acronym>
server instead of <acronym>ISC</acronym>?</title>
<para>
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.
</para>
<para>
Here is how to configure it:
</para>
<para>
First, fill in your /var/dhcp/<quote>networks</quote> file, populating
it with ethernet to IP info, and the appropriate leastime.
</para>
<screen>
# 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
</screen>
<para>
Next, fill in your /var/dhcp/dhcptab file with entries similar to:
</para>
<screen>
##
# 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:
#
#
#
###
</screen>
</sect2>
<sect2 id="QuestionsandTroubleshooting-BootOptionsFAQSection">
<title>Can One Pass Arguments to <quote>/sbin/init</quote> in a Diskless
Boot like This?</title>
<para>
<application>PROLL</application> ships with <acronym>DHCP</acronym>
options disabled, but it could be changed. You would then do something
like <quote>/tftpboot/0A0A0000.ARGS</quote> to get those parameters in.
</para>
<para>
If you boot from flash memory, <application>PROLL</application> picks up
<application>SILO</application> options (where <application>SILO
</application> is &gt; version 0.9.6 and <application>PROLL</application>
is &gt;= version 11)
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-EnablingXFAQSection">
<title>Enabling <application>X</application> on the
<productname>JavaStation</productname></title>
<para>
This is a very frequently asked question.
</para>
<para>
Enabling <application>X</application> on the <productname>JavaStation
</productname> is possible.
</para>
<para>
First, be sure you have enabled the appropriate framebuffer device
in your kernel's configuration, as described in the "Kernel Build"
chapter.
</para>
<para>
Next, you'll want to use the generic <application>Sun Framebuffer X server
</application> and <quote>XF86Config</quote> 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.
</para>
<para>
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.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-MailingListFAQSection">
<title>Is There Mailing List Help?</title>
<para>
There are two mailing devoted exclusively to running <application>Linux
</application> on <hardware>SPARC processor</hardware> based machines
such as the <productname>JavaStations</productname>.
</para>
<para>
The first mailing list is the sparclinux list on VGER,
at <email>sparclinux@vger.kernel.org</email>.
You should first subscribe to it by sending a message to
<email>majordomo@vger.kernel.org</email> with a subject and body line
of <quote>subscribe sparclinux &lt;your_email_address&gt;</quote>. You
can leave out your email address, but it is helpful to put it in if you
have multiple valid addresses at your site.
</para>
<para>
Archives of the VGER sparclinux mailing list are kept at:
<ulink url="http://www.progressive-comp.com/Lists/?l=linux-sparc&amp;r=1&amp;
w=2">http://www.progressive-comp.com/Lists/?l=linux-sparc&amp;r=1&amp;w=2"
</ulink>
</para>
<para>
The second mailing list is the debian-sparc list at the Debian Project,
at <email>debian-sparc@lists.debian.org</email>. You should first
subscribe to it by sending a message to
<email>debian-sparc-request@lists.debian.org</email> with a subject and
body line of <quote>subscribe &lt;your_email_address&gt;</quote>. You
can leave out your email address, but it is helpful to put it in if you
have multiple valid addresses at your site.
</para>
<para>
As many of the SPARC kernel hackers run Debian, it is helpful to
subscribe to both lists.
</para>
<para>
Please do not report problems about this document to either list, but
send them to <email>rsd@dubinski-family.org</email> 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.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-FlashBootFAQSection">
<title>Can One Boot a JavaStation from Onboard Flash Memory?</title>
<para>
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.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-PiggybackOtherPlatform">
<title>Does <quote>Piggyback</quote> work for the <hardware>x86</hardware>
too?
</title>
<para>
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)
</para>
<para>
Robert Thornburrow<email>robert@tsac.fsnet.co.uk</email> 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:
<ulink
url="http://dubinski-family.org/~jshowto/Files/tools/piggyback_nonsparc.tar.gz">
http://dubinski-family.org/~jshowto/Files/tools/piggyback_nonsparc.tar.gz
</ulink>
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-NotBootingWithNewMemorySection">
<title>I put new memory in, but now it doesn't boot. Why?
</title>
<para>
Are you using EDO memory by chance? Mr. Coffee uses fast-page memory
only, not EDO.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-AlternateOSSupport">
<title>Now that JavaStations work with Linux, what about other Free OSs?
</title>
<para>
JavaStation support is now available with the NetBSD OS as well as Linux.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-Linux24Support">
<title>Do the Linux 2.4 kernels work? What's the latest that works?
</title>
<para>
As of this date (Oct 31, 2001), the current stable Linux kernel version
is 2.4.13. Kernels in the stable 2.4 series <emphasis>should</emphasis>
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.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-CrossCompileKernel">
<title>Can I compile the kernel on a non-SPARC machine?
</title>
<para>
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.
</para>
<para>
Of course, you can also compile a new kernel on a working JavaStation,
if your filesystem image supports it.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-OpenBootBreak">
<title>Can I get an ok&gt; prompt like other Sun equipment?
</title>
<para>
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.
</para>
<para>
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).
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-KeyboardTroubleshooting">
<title>My keyboard isn't recognized. What can I do?
</title>
<para>
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.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-ProllARPTimeOut">
<title>Proll reports "TFTP: ARP Timeout". Why?
</title>
<para>
This has been reported to happen when the file PROLL looks for isn't
available. Doublecheck your configuration before retrying.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-TrueColorKrups">
<title>Why Can't I Get TrueColor on Krups?</title>
<para>
Truecolor on Krups with Linux is a bit of a controversy. Some believe
it is possible, while others do not.
</para>
<para>
First, the Krups is listed as having the IGS C1682 framebuffer, while
the Espresso has the IGS C2000 chip.
</para>
<para>
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.
</para>
<para>
Recent 2.4.x series kernels have an entry labeled 'Cyber2000'. Perhaps this
works? One contributor tried and failed.
</para>
<para>
Ok, there is a userland utility called 'fbset' to change the modes of
a framebuffer. Does that work? One contributor said no.
</para>
<para>
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.
</para>
<para>
So what is the real scoop with 24-bit color on the Krups? Until others
try things and speak up, we don't know.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-DoverHOWTO">
<title>I followed this HOWTO, but my Dover doesn't work. Why?</title>
<para>
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?
</para>
<para>
I am receiving multiple reports of kernel load failures with the Dover unit.
As more information comes in, this HOWTO will present it.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-LoadXAfterSerial">
<title>Can framebuffer be loaded following a serial console initialization?</title>
<para>
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).
</para>
<para>
Not to our knowledge.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-OutoftheBox">
<title>I really need a complete out-of-the-box solution, pronto!</title>
<para>
You better get busy then.
</para>
</sect2>
<sect2 id="QuestionsandTroubleshooting-YouDidntAnswer">
<title>You Didn't Answer My Question.</title>
<para>
So ask it. Email <email>rsd@dubinski-family.org</email> and I will
try to help. If I can not help, I will direct you to the mailing
lists or suitable contacts.
</para>
</sect2>
</sect1>

View File

@ -0,0 +1,418 @@
<sect1 id="ReferenceDocs-Chapter">
<title>Reference Docs</title>
<para>
This section is a collection of various reference documents which
do not belong in any other section.
</para>
<sect2 id="ReferenceDocs-MrCoffeeJumpersSection">
<title><productname>Mr. Coffee</productname> Jumper Info</title>
<screen>
Mr. Coffee Jumper Assignments
J0206 JTAG header, perhaps JSCC compatible.
J0904 1-2 shortened Enter POST - output ttya, input ttya
1-2 open Skip POST - output screen, input ttya
3-4 Unused
5-6 Unused
7-8 Unused
J1101 1-2 open (dflt) TPE squelch
1-2 short Reduced squelch threshold
J1102 1-2 open (dflt) 100 Ohm TPE termination
short 150 Ohm TPE termination
J1602 Manufacturing test of unknown sort
J1603 1-2 PROM select (unfortunately PROM socket is emply)
2-3 (default) Flash select
J1604 1-2 FPROM write disable
2-3 (default) FPROM write enable
J0904 block is a bit block of pullup resistors which a user may shorten.
They may be read from the keyboard controller with a command 0xDD.
</screen>
</sect2>
<sect2 id="ReferenceDocs-KrupsJumperSection">
<title><productname>Krups</productname> Jumper Info</title>
<screen>
Krups Jumper Assignments
J1202 1-2 Use Flash
2-3 Select optional diagnostic FLASH PROM in socket J1203
(this does not sound quite right ...)
J1300 1-2 Software debug use
3-4 Factory use - PROM switch??
5-6 Unused
7-8 Flash update recovery
J0500 JTAG
</screen>
</sect2>
<sect2 id="ReferenceDocs-JavaStationPressRelease">
<title><productname>JavaStation</productname> Press Release</title>
<para>
Surprisingly, Sun's website still (as of Oct-31-2001) has the
JavaStation press release online at http://www.sun.com/961029/JES/
<ulink
url="http://www.sun.com/961029/JES">
http://www.sun.com/961029/JES
</ulink>
Many thanks to Gary <email>gary@spiritwars.com</email> for pointing
this out.
</para>
</sect2>
<sect2 id="ReferenceDocs-JavaOSDownload">
<title><productname>JavaOS</productname> 1.0 Download</title>
<para>
Surprisingly, Sun's JavaOS 1.0 environment for the JavaStations is still
mirrored about on the Internet even today (Oct-31-2001).
JDSE 1.0.1 can be found at:
<ulink
url="http://sunsite.tut.fi/javastation">
http://sunsite.tut.fi/javastation
</ulink>
Many thanks to Gary <email>gary@spiritwars.com</email> for pointing
this out.
</para>
<para>
Download the link labeled 'jdse.tar'. JDSE 1.0.1 was one of the
first demo version of JavaOS available, and was a free download. Later,
downloads were restricted to paying customers. This first version
is merely a boot image of JavaOS and the HotJava browser. No telnet or
ssh applet, no X Windows applet, no file manager, no email applet, nothing
but the browser. Starting to feel boxed in? Welcome to the official
software of the JavaStation.
</para>
<para>
Copies of latter versions of JavaOS as included in the NetraJ software
bundle have not been located online yet. This is probably due to
the latter versions, namely NetraJ 2 and above, was retail software,
and never available for free download from Sun's site.
</para>
</sect2>
<sect2 id="ReferenceDocs-EspressoIDECiruit">
<title><productname>Espresso</productname> IDE circuit</title>
<para>
Pete Zaitcev has written a document describing how to enable IDE on
your Espresso model JavaStation. It is included here with Pete's
permission.
</para>
<screen>
<![CDATA[
By Pete Zaitcev
1999/11/01
2000/08/22
I am not responsible for any direct or indirect damages to your
equiment or yourself resulting from you reading this document.
USE THIS INFORMATION ON YOUR OWN RISK.
IDE interrupt line is connected "upside down" on the Espresso.
To have IDE working we need to insert an invertor in it.
We borrow the invertor from ISA IRQ3. If you want to use ISA
modem, set it to use COM3/IRQ4 (please realize that Linux IRQ
level would be programmed in CPU PCIC).
The following picture provides an overhead view:
+==================== wire 1 =======================+
# #
# 1202 1200 # 1201
# +-------+ +-------+ # +-------+
# -! REP !--14 1 -! INV !- 14 # ! !
# -! !- -! !- # ! !
# -! !- -! !- # ! !
# 4 -! !- -! !--11==+ ! !
# /---5--! !- -! !--10====+ ! !
#/ 6--!--\ !- -! !- 9 # ! !
A-> * 7 -! \---!---8 -! !- 8 # ! !
! +-------+ ! +-------+ # +-------+
! ! #
Z ! /=========== wire 2 ===========+
Z !/
Z R2026 B-> +--- ZZZZ ---*
Z (pullup) R1208
!
*
I recommend to proceed in the following way:
1. Disconnect 1202 5 & 6. Not knowing if I need them I lifted pins with a
model knife. You may just cut them with side cutters.
2. Lift pins 1200 10 & 11 but do not cut them!
3. Run wires from resistor pads "A" to pin 1200 11 and from pad "B" to
pin 1200 10. Resistor pads are much easier targets for soldering at home
than pads under pins 1202 5 & 6. I am a software engineer, so I did it
the easy way.
I did not bother to glue wires as a decent electronics hacker would do.
You are all set. Get kernel 2.4, hack drivers/block/Config.in and enjoy!
P.S. Let me know if you have drawings of hard drive brackets for Espresso.
]]>
</screen>
</sect2>
<sect2 id="ReferenceDocs-MonitorKeySequences">
<title><productname>JavaStation</productname> Boot Monitoring Key
Combinations</title>
<para>
When booting your JavaStation, there are certain key combinations you can
press to enable some boot monitoring functionality.
</para>
<screen>
Javastation Key Combinations
These are the key combinations that allow you to perform the command monitor
functions:
Press left Alt, left Ctrl key, letter; then turn the power on. You have to
have the keys pressed when you turn on the power otherwise it will not work.
Ctrl-Alt-H Help on chords
Ctrl-Alt-B Show progress banner
Ctrl-Alt-W Show Ether net address and memory size
Ctrl-Alt-D Run diagnostics
</screen>
<para>
These key combinations do not work with the Mr. Coffee model.
</para>
</sect2>
<sect2 id="ReferenceDocs-JavaStationPhotoGallery">
<title><productname>JavaStation</productname> Photo Gallery</title>
<para>
This section contains links to pictures of the JavaStation line.
</para>
<para>
Front view of Mr. Coffee is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/mr_coffee_front_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/mr_coffee_front_view.jpg
</ulink>
</para>
<para>
Top view of Mr. Coffee is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/mr_coffee_top_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/mr_coffee_top_view.jpg
</ulink>
</para>
<para>
Inside view of Mr. Coffee is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/mr_coffee_inside_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/mr_coffee_inside_view.jpg
</ulink>
</para>
<para>
Mr. Coffee white case variation #1 at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/mr_coffee_white_case_1.jpg">
http://dubinski-family.org/~jshowto/Files/photos/mr_coffee_white_case_1.jpg
</ulink>
</para>
<para>
Mr. Coffee white case variation #2 at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/mr_coffee_white_case_2.jpg">
http://dubinski-family.org/~jshowto/Files/photos/mr_coffee_white_case_2.jpg
</ulink>
</para>
<para>
Front view of krups is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/krups_front_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/krups_front_view.jpg
</ulink>
</para>
<para>
Side view of krups is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/krups_side_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/krups_side_view.jpg
</ulink>
</para>
<para>
Top view of krups is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/krups_top_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/krups_top_view.jpg
</ulink>
</para>
<para>
Front view of Espresso is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/espresso_front_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/espresso_front_view.jpg
</ulink>
</para>
<para>
Side view of Espresso is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/espresso_side_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/espresso_side_view.jpg
</ulink>
</para>
<para>
Rear view of Espresso is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/espresso_rear_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/espresso_rear_view.jpg
</ulink>
</para>
<para>
Inside view of Espresso is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/espresso_inside_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/espresso_inside_view.jpg
</ulink>
</para>
<para>
See the <productname>JavaEngine-1</productname> at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/je1_overhead_view.jpg">
http://dubinski-family.org/~jshowto/Files/photos/je1_overhead_view.jpg
</ulink>
</para>
<para>
View of the JavaStation mousepad is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/javastation_mousepad.jpg">
http://dubinski-family.org/~jshowto/Files/photos/javastation_mousepad.jpg
</ulink>
</para>
<para>
View of a Lab of JavaStations running Linux is at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/lab_of_javastations.jpg">
http://dubinski-family.org/~jshowto/Files/photos/lab_of_javastations.jpg
</ulink>
</para>
<para>
JavaStation Prototype at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/pre_js_1.jpg">
http://dubinski-family.org/~jshowto/Files/photos/pre_js_1.jpg
</ulink>
</para>
<para>
JavaStation Prototype Pic 2 at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/pre_js_2.jpg">
http://dubinski-family.org/~jshowto/Files/photos/pre_js_2.jpg
</ulink>
</para>
<para>
JavaStation Prototype Pic 3 at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/pre_js_3.jpg">
http://dubinski-family.org/~jshowto/Files/photos/pre_js_3.jpg
</ulink>
</para>
<para>
"Dover" JavaStation Internal Pic at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/dover_inside.jpg">
http://dubinski-family.org/~jshowto/Files/photos/dover_inside.jpg
</ulink>
</para>
<para>
JavaStation Cluster of Eric Brower running a parallel POVRay calculation at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/cluster.jpg">
http://dubinski-family.org/~jshowto/Files/photos/cluster.jpg
</ulink>
</para>
<para>
JavaStation/Fox front view at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/fox_front.jpg">
http://dubinski-family.org/~jshowto/Files/photos/fox_front.jpg
</ulink>
</para>
<para>
JavaStation/Fox back view at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/fox_back.jpg">
http://dubinski-family.org/~jshowto/Files/photos/fox_back.jpg
</ulink>
</para>
<para>
JavaStation/Fox facing view at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/fox_face.jpg">
http://dubinski-family.org/~jshowto/Files/photos/fox_face.jpg
</ulink>
</para>
<para>
JavaStation/Fox internal left view at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/fox_internal_left.jpg">
http://dubinski-family.org/~jshowto/Files/photos/fox_internal_left.jpg
</ulink>
</para>
<para>
JavaStation/Fox internal right view at:
<ulink
url="http://dubinski-family.org/~jshowto/Files/photos/fox_internal_right.jpg">
http://dubinski-family.org/~jshowto/Files/photos/fox_internal_right.jpg
</ulink>
</para>
</sect2>
</sect1>