mirror of https://github.com/tLDP/LDP
new files
This commit is contained in:
parent
c3a4786027
commit
7adc17aee8
|
@ -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
|
@ -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>
|
||||
|
||||
|
|
@ -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
|
||||
<LINUXROOT>/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>
|
||||
|
|
@ -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 <LINUXROOT>/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>
|
|
@ -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>->nfsroot location. For sake of completeness,
|
||||
you might also want a <quote>HEXIP.SUN4M</quote> -> <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 -> proll.aout.krups.11
|
||||
lrwxrwxrwx 1 root root 22 Mar 17 11:54 proll.mrcoffee -> proll.aout.mrcoffee.11
|
||||
lrwxrwxrwx 1 root root 10 Apr 1 13:00 C0A88001.SUN4M -> COA88001
|
||||
lrwxrwxrwx 1 root root 10 Apr 1 13:00 C0A88001 -> proll.mrcoffee
|
||||
lrwxrwxrwx 1 root root 12 Apr 1 13:00 C0A88001.PROL -> 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 -> /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 -> proll.aout.krups.11
|
||||
lrwxrwxrwx 1 root root 22 Mar 17 11:54 proll.mrcoffee -> proll.aout.mrcoffee.11
|
||||
lrwxrwxrwx 1 root root 10 Apr 1 13:00 C0A88001.SUN4M -> COA88001
|
||||
lrwxrwxrwx 1 root root 10 Apr 1 13:00 C0A88001 -> proll.mrcoffee
|
||||
lrwxrwxrwx 1 root root 12 Apr 1 13:00 C0A88001.PROL -> 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>
|
||||
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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 > 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 > version 0.9.6 and <application>PROLL</application>
|
||||
is >= 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 <your_email_address></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&r=1&
|
||||
w=2">http://www.progressive-comp.com/Lists/?l=linux-sparc&r=1&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 <your_email_address></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> 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>
|
||||
|
||||
|
|
@ -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>
|
||||
|
Loading…
Reference in New Issue