727 lines
14 KiB
HTML
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
|
|
> 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
|
|
> 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"
|
|
> 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
|
|
> This document will describe how to set up serving the network <SPAN
|
|
CLASS="application"
|
|
> 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
|
|
> 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
|
|
> 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
|
|
> 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
|
|
> 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
|
|
> The <SPAN
|
|
CLASS="productname"
|
|
>JavaStations</SPAN
|
|
> follow a typical <SPAN
|
|
CLASS="hardware"
|
|
> diskless workstation</SPAN
|
|
> boot sequence.
|
|
</P
|
|
><P
|
|
> 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
|
|
> 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
|
|
> C: <SPAN
|
|
CLASS="QUOTE"
|
|
>"Who am I?"</SPAN
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> S: <SPAN
|
|
CLASS="QUOTE"
|
|
>"You are xxx"</SPAN
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> C: <SPAN
|
|
CLASS="QUOTE"
|
|
>"Where do I go for my boot image?"</SPAN
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> S: <SPAN
|
|
CLASS="QUOTE"
|
|
>"You go here."</SPAN
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> C: <SPAN
|
|
CLASS="QUOTE"
|
|
>"Give me my image from here...Please?"</SPAN
|
|
>
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> S: <SPAN
|
|
CLASS="QUOTE"
|
|
>"Here's your image."</SPAN
|
|
>
|
|
</P
|
|
></LI
|
|
></OL
|
|
><P
|
|
> 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
|
|
> 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
|
|
> <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
|
|
> 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
|
|
> <SPAN
|
|
CLASS="application"
|
|
>PROLL</SPAN
|
|
> becomes the first image your <SPAN
|
|
CLASS="productname"
|
|
> 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
|
|
> No matter what <SPAN
|
|
CLASS="acronym"
|
|
>PROM</SPAN
|
|
> revision you have, get <SPAN
|
|
CLASS="application"
|
|
> PROLL</SPAN
|
|
>. This can make troubleshooting new installs easier.
|
|
</P
|
|
><P
|
|
> The current, master version of <SPAN
|
|
CLASS="application"
|
|
>PROLL</SPAN
|
|
> is available
|
|
from:
|
|
<A
|
|
HREF="http://people.redhat.com/zaitcev/linux/"
|
|
TARGET="_top"
|
|
> http://people.redhat.com/zaitcev/linux/</A
|
|
>.
|
|
</P
|
|
><P
|
|
> The current version at the time of this writing is <SPAN
|
|
CLASS="QUOTE"
|
|
>"14"</SPAN
|
|
>.
|
|
</P
|
|
><P
|
|
> <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"
|
|
> 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
|
|
> 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
|
|
> 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
|
|
> 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
|
|
> 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
|
|
> In this setup, the root filesystem is loaded directly into <SPAN
|
|
CLASS="acronym"
|
|
>RAM
|
|
</SPAN
|
|
> and accessed from there.
|
|
</P
|
|
><P
|
|
> 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
|
|
> 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
|
|
> 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
|
|
> 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"
|
|
> 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
|
|
> 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"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Build Your Kernel</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |