old-www/HOWTO/JavaStation-HOWTO/backgroundrequirementschapt...

727 lines
14 KiB
HTML

<HTML
><HEAD
><TITLE
>Background Requirements for Linux on a
JavaStation</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
"><LINK
REL="HOME"
TITLE="Linux on the Sun JavaStation
NC HOWTO"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="What is a JavaStation?"
HREF="whatischapter.html"><LINK
REL="NEXT"
TITLE="Build Your Kernel"
HREF="kernelbuildchapter.html"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
><SPAN
CLASS="application"
>Linux</SPAN
> on the <SPAN
CLASS="productname"
>Sun JavaStation
</SPAN
> <SPAN
CLASS="acronym"
>NC</SPAN
> HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="whatischapter.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="kernelbuildchapter.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="BackgroundRequirementsChapter"
>3. Background Requirements for <SPAN
CLASS="application"
>Linux</SPAN
> on a
<SPAN
CLASS="productname"
>JavaStation</SPAN
></A
></H1
><P
>
This chapter describes the base hardware and software requirements
for enabling <SPAN
CLASS="application"
>Linux</SPAN
> on the <SPAN
CLASS="productname"
>JavaStation
</SPAN
>.
</P
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="HardwareRequirementsSection"
>3.1. Complete Hardware Requirements</A
></H2
><P
>&#13;For hardware, you will need one or more <SPAN
CLASS="productname"
>JavaStation</SPAN
>
clients and a server to feed it its <SPAN
CLASS="application"
>Linux</SPAN
>
image from, all networked on the same net segment.
</P
><P
>&#13;This server you use can be any server which supports <SPAN
CLASS="acronym"
>DHCP</SPAN
>
and <SPAN
CLASS="acronym"
>TFTP</SPAN
>, and <SPAN
CLASS="acronym"
>RARP</SPAN
>. These are the
base protocols needed to perform a network boot of the <SPAN
CLASS="productname"
>&#13;JavaStations</SPAN
>. You may also need <SPAN
CLASS="acronym"
>NFS</SPAN
>
service as well, but it is not necessary in one type of configuration
this HOWTO describes. Also, you can get by without <SPAN
CLASS="acronym"
>RARP</SPAN
>
on both the <SPAN
CLASS="productname"
>Krups</SPAN
> and <SPAN
CLASS="productname"
>Espresso
</SPAN
> models.
</P
><P
>&#13;This document will describe how to set up serving the network <SPAN
CLASS="application"
>&#13;Linux OS</SPAN
> image to the <SPAN
CLASS="productname"
>JavaStation</SPAN
>
from a Sun server running <SPAN
CLASS="application"
>SparcLinux</SPAN
>. While you
do not need a Sun server to serve your <SPAN
CLASS="application"
>Linux</SPAN
>
image off of, a <SPAN
CLASS="hardware"
>Sun SparcLinux server</SPAN
> is recommended
should you wish to compile a kernel of your own, or prototype a new
filesystem for your <SPAN
CLASS="productname"
>JavaStations</SPAN
> 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.)
</P
><P
>&#13;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.
</P
><P
>&#13;Your network can be a simple <SPAN
CLASS="hardware"
>10 Mbps ethernet</SPAN
>
<SPAN
CLASS="acronym"
>LAN</SPAN
>, but when you begin using more than 50
<SPAN
CLASS="productname"
>JavaStations</SPAN
> at once, a <SPAN
CLASS="hardware"
>switched
100 Mbps network</SPAN
> becomes desirable for your server to handle
multiple concurrent boot requests.
</P
><P
>&#13;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 <SPAN
CLASS="hardware"
>Linux/SPARC server</SPAN
>, but you still need a server of
some type to feed the image to the <SPAN
CLASS="hardware"
>JavaStations</SPAN
> as
they boot.
</P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="NetworkServiceRequirements"
>3.2. Network Service Requirements</A
></H2
><P
>&#13;As discussed in the last section, the <SPAN
CLASS="productname"
>JavaStation</SPAN
>
boot cycle will make use of <SPAN
CLASS="acronym"
>DHCP</SPAN
> and <SPAN
CLASS="acronym"
>TFTP</SPAN
>
with possibly <SPAN
CLASS="acronym"
>NFS</SPAN
> and <SPAN
CLASS="acronym"
>RARP</SPAN
>. To
understand why, read up on the <SPAN
CLASS="productname"
>JavaStation</SPAN
> boot
sequence in the next section.
</P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="JavaStationBootDescSection"
>3.3. Understand the <SPAN
CLASS="productname"
>JavaStation</SPAN
> Boot Sequence</A
></H2
><P
>&#13;The <SPAN
CLASS="productname"
>JavaStations</SPAN
> follow a typical <SPAN
CLASS="hardware"
>&#13;diskless workstation</SPAN
> boot sequence.
</P
><P
>&#13;When powered on, the <SPAN
CLASS="productname"
>JavaStation</SPAN
> sends out a
broadcast request for its <SPAN
CLASS="acronym"
>IP</SPAN
>. It gets its <SPAN
CLASS="acronym"
>IP
</SPAN
> info via <SPAN
CLASS="acronym"
>RARP</SPAN
> or <SPAN
CLASS="acronym"
>DHCP</SPAN
>.
With a <SPAN
CLASS="acronym"
>DHCP</SPAN
> response, it gets information about the
network it is on and where to go download its boot image from via
<SPAN
CLASS="acronym"
>TFTP</SPAN
>.
</P
><P
>&#13;There are subtle variations in diskless boots from one diskless machine to
the next. For instance, <SPAN
CLASS="acronym"
>BOOTP</SPAN
> may sometimes be
substituted where <SPAN
CLASS="acronym"
>DHCP</SPAN
> is, and <SPAN
CLASS="acronym"
>RARP</SPAN
>
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:
</P
><P
></P
><OL
TYPE="1"
><LI
><P
>&#13; C: <SPAN
CLASS="QUOTE"
>"Who am I?"</SPAN
>
</P
></LI
><LI
><P
>&#13; S: <SPAN
CLASS="QUOTE"
>"You are xxx"</SPAN
>
</P
></LI
><LI
><P
>&#13; C: <SPAN
CLASS="QUOTE"
>"Where do I go for my boot image?"</SPAN
>
</P
></LI
><LI
><P
>&#13; S: <SPAN
CLASS="QUOTE"
>"You go here."</SPAN
>
</P
></LI
><LI
><P
>&#13; C: <SPAN
CLASS="QUOTE"
>"Give me my image from here...Please?"</SPAN
>
</P
></LI
><LI
><P
>&#13; S: <SPAN
CLASS="QUOTE"
>"Here's your image."</SPAN
>
</P
></LI
></OL
><P
>&#13;After the kernel is finished loading, your diskless client typically mounts
its root filesystem from the network via <SPAN
CLASS="acronym"
>NFS</SPAN
>.
Alternatively, it may load and mount it from a <SPAN
CLASS="acronym"
>RAM</SPAN
>disk.
</P
><P
>&#13;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.
</P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="ProllDescSection"
>3.4. Additional Software Requirements: Replacement Firmware
(<SPAN
CLASS="application"
>PROLL</SPAN
>)</A
></H2
><P
>&#13;<SPAN
CLASS="productname"
>JavaStations</SPAN
> came with two different
<SPAN
CLASS="acronym"
>PROMs</SPAN
> installed in them. Version 2.30 shipped with
the earliest <SPAN
CLASS="productname"
>Mr. Coffee</SPAN
> models, and was
updated by latter versions of the <SPAN
CLASS="application"
>Sun Netra J</SPAN
>
software environment to 3.11. <SPAN
CLASS="productname"
>Krups</SPAN
> and
<SPAN
CLASS="productname"
>Espresso</SPAN
> came with 3.x versions of the
<SPAN
CLASS="acronym"
>PROM</SPAN
> by default.
</P
><P
>&#13;It turns out the later 3.x series of <SPAN
CLASS="acronym"
>PROMs</SPAN
> is not
conducive to booting <SPAN
CLASS="application"
>Linux</SPAN
> upon.
Fortunately, a complete <SPAN
CLASS="acronym"
>PROM</SPAN
> replacement
called <SPAN
CLASS="application"
>PROLL</SPAN
> now exists to get by this limitation.
</P
><P
>&#13;<SPAN
CLASS="application"
>PROLL</SPAN
> becomes the first image your <SPAN
CLASS="productname"
>&#13;JavaStation</SPAN
> grabs by <SPAN
CLASS="acronym"
>TFTP</SPAN
>. It then
will load your true kernel image and boot into <SPAN
CLASS="application"
>Linux
</SPAN
>.
</P
><P
>&#13;No matter what <SPAN
CLASS="acronym"
>PROM</SPAN
> revision you have, get <SPAN
CLASS="application"
>&#13;PROLL</SPAN
>. This can make troubleshooting new installs easier.
</P
><P
>&#13;The current, master version of <SPAN
CLASS="application"
>PROLL</SPAN
> is available
from:
<A
HREF="http://people.redhat.com/zaitcev/linux/"
TARGET="_top"
>&#13; http://people.redhat.com/zaitcev/linux/</A
>.
</P
><P
>&#13;The current version at the time of this writing is <SPAN
CLASS="QUOTE"
>"14"</SPAN
>.
</P
><P
>&#13;<SPAN
CLASS="application"
>PROLL</SPAN
> can also be found mirrored on <SPAN
CLASS="QUOTE"
>"VGER
"</SPAN
>, and also on this HOWTO's distribution site at:
<A
HREF="http://dubinski-family.org/~jshowto/Files/proll/proll_14.tar.bz2"
TARGET="_top"
>&#13;http://dubinski-family.org/~jshowto/Files/proll/proll_14.tar.bz2</A
>
(HOWTO website mirror - version 14)
</P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="FSTypeDescSection"
>3.5. Decide on your Filesystem-type: <SPAN
CLASS="acronym"
>NFS</SPAN
>-Root, or
Embedded?</A
></H2
><P
>&#13;Before you begin, you must decide upon the root-filesystem type you wish to
use for your diskless <SPAN
CLASS="productname"
>JavaStation</SPAN
>. There are
two possibilities.
</P
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="NFSRootFSDesc"
>3.5.1. <SPAN
CLASS="QUOTE"
>"<SPAN
CLASS="acronym"
>NFS</SPAN
>-Root"</SPAN
> Filesystem</A
></H3
><P
>&#13;In this setup, after the boot kernel is retrieved off the network, the
running <SPAN
CLASS="productname"
>JavaStation</SPAN
> makes an <SPAN
CLASS="acronym"
>NFS</SPAN
>
connection for its root filesystem. The root directory <SPAN
CLASS="QUOTE"
>"/"</SPAN
> is
mounted off the network for the duration of the current session.
</P
><P
>&#13;The <SPAN
CLASS="QUOTE"
>"<SPAN
CLASS="acronym"
>NFS</SPAN
>-Root"</SPAN
> 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).
</P
><P
>&#13;Drawbacks of this type of system is increased network activity as the
running JavaStations locate and execute files, plus file organization
in large environments.
</P
></DIV
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="EmbeddedFSDesc"
>3.5.2. <SPAN
CLASS="QUOTE"
>"Embedded-Root"</SPAN
> Filesystem</A
></H3
><P
>&#13;In this setup, the root filesystem is loaded directly into <SPAN
CLASS="acronym"
>RAM
</SPAN
> and accessed from there.
</P
><P
>&#13;The advantage of this setup is that there is no <SPAN
CLASS="acronym"
>NFS</SPAN
>
traffic to worry about, resulting in a clean solution.
</P
><P
>&#13;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 <SPAN
CLASS="QUOTE"
>"NFS-Root"</SPAN
> 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.
</P
><P
>&#13;First time users will want to set up an <SPAN
CLASS="QUOTE"
>"NFS-Root"</SPAN
>
configuration. When you have things stabilized, move to
<SPAN
CLASS="QUOTE"
>"Embedded-Root"</SPAN
> to take use of its advantages.
</P
></DIV
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="SupportSitesSection"
>3.6. Support Sites to Check Out: Zaitcev's Linux Site</A
></H2
><P
>&#13;One website to keep on reference when you begin thinking about
putting Linux on your JavaStation is kernel hacker Pete Zaitcev's
website at: <A
HREF="http://people.redhat.com/zaitcev/linux/"
TARGET="_top"
>&#13;http://people.redhat.com/zaitcev/linux/</A
>, referenced
throughout this document as the <SPAN
CLASS="QUOTE"
>"ZLS"</SPAN
> 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.
</P
><P
>&#13;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.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="whatischapter.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="kernelbuildchapter.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>What is a <SPAN
CLASS="productname"
>JavaStation</SPAN
>?</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Build Your Kernel</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>