mirror of https://github.com/tLDP/LDP
318 lines
11 KiB
XML
318 lines
11 KiB
XML
|
|
<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>
|
|
|
|
|