638 lines
11 KiB
HTML
638 lines
11 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Set up Your Server</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='"Out of the Box" JavaStation Boot File Solutions'
|
|
HREF="outofthebox-outoftheboxsolutionchapter.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Booting Your JavaStation"
|
|
HREF="javastationboot-bootyourjavastationchapter.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="outofthebox-outoftheboxsolutionchapter.html"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="javastationboot-bootyourjavastationchapter.html"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="sect1"
|
|
><H1
|
|
CLASS="sect1"
|
|
><A
|
|
NAME="ServerSetup-ServerSetupChapter"
|
|
>7. Set up Your Server</A
|
|
></H1
|
|
><P
|
|
> This chapter describes the configuration steps necessary for
|
|
the server machine to hand-off your <SPAN
|
|
CLASS="productname"
|
|
>JavaStation</SPAN
|
|
>
|
|
boot image.
|
|
</P
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="ServerSetup-ServerPrefaceSection"
|
|
>7.1. Preface</A
|
|
></H2
|
|
><P
|
|
> It is now time to setup your server to deliver the <SPAN
|
|
CLASS="acronym"
|
|
>OS</SPAN
|
|
>
|
|
and filesystem to the <SPAN
|
|
CLASS="productname"
|
|
>JavaStation</SPAN
|
|
>.
|
|
</P
|
|
><P
|
|
> In our examples here, we configure a Linux/SPARC server <SPAN
|
|
CLASS="QUOTE"
|
|
>"lnxserv
|
|
"</SPAN
|
|
> at private IP 192.168.128.100 to deliver a boot image to
|
|
<SPAN
|
|
CLASS="productname"
|
|
>JavaStation</SPAN
|
|
> <SPAN
|
|
CLASS="QUOTE"
|
|
>"java01"</SPAN
|
|
> at
|
|
private IP 192.168.128.1. Both are on private network 192.168.128/24.
|
|
When using an <SPAN
|
|
CLASS="QUOTE"
|
|
>"NFS-Root"</SPAN
|
|
> Filesystem, the location on
|
|
the server of the filesystem in our sample is at <SPAN
|
|
CLASS="QUOTE"
|
|
>"/path/to/nfsroot
|
|
"</SPAN
|
|
>.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="ServerSetup-ConfigureRARPSection"
|
|
>7.2. Setting up the <SPAN
|
|
CLASS="acronym"
|
|
>RARP</SPAN
|
|
> service</A
|
|
></H2
|
|
><P
|
|
> We first need to set up <SPAN
|
|
CLASS="acronym"
|
|
>RARP</SPAN
|
|
> service on our server,
|
|
so the <SPAN
|
|
CLASS="productname"
|
|
>JavaStation</SPAN
|
|
> can auto-configure its
|
|
<SPAN
|
|
CLASS="acronym"
|
|
>IP</SPAN
|
|
>.
|
|
</P
|
|
><P
|
|
> First, populate the <SPAN
|
|
CLASS="QUOTE"
|
|
>"/etc/ethers"</SPAN
|
|
> file with the mapping of
|
|
the mac address of the <SPAN
|
|
CLASS="productname"
|
|
>JavaStation</SPAN
|
|
> to its
|
|
hostname:
|
|
</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="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)
|
|
#
|
|
###
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
> Next, populate the <SPAN
|
|
CLASS="QUOTE"
|
|
>"/etc/hosts"</SPAN
|
|
> file with the <SPAN
|
|
CLASS="acronym"
|
|
>IP
|
|
</SPAN
|
|
> to hostname maps:
|
|
</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="screen"
|
|
> ### /etc/hosts
|
|
192.168.128.100 lnxserv
|
|
192.168.128.1 java01
|
|
###
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
> Lastly, configure the <SPAN
|
|
CLASS="acronym"
|
|
>RARP</SPAN
|
|
> cache to fill.
|
|
On 2.2.x based systems, you do this with the /sbin/rarp command, so
|
|
fill the cache at startup:
|
|
</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="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
|
|
###
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
> On 2.4.x based systems, you must use the userland RARP daemon to answer
|
|
RARP requests instead.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="ServerSetup-ConfigureDHCPSection"
|
|
>7.3. Setting up the <SPAN
|
|
CLASS="acronym"
|
|
>DHCP</SPAN
|
|
> service</A
|
|
></H2
|
|
><P
|
|
> You now need to configure your server to deliver <SPAN
|
|
CLASS="acronym"
|
|
>DHCP</SPAN
|
|
>
|
|
service. This will help identify the <SPAN
|
|
CLASS="productname"
|
|
>JavaStation</SPAN
|
|
>,
|
|
the network it is on, and where to get its boot image from.
|
|
</P
|
|
><P
|
|
> The following is a sample <SPAN
|
|
CLASS="QUOTE"
|
|
>"dhcpd.conf"</SPAN
|
|
> file for the
|
|
<SPAN
|
|
CLASS="application"
|
|
>ISC DHCP server</SPAN
|
|
> software which ships
|
|
with most <SPAN
|
|
CLASS="application"
|
|
>Linux/SPARC</SPAN
|
|
> distributions.
|
|
</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="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
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
> A longer
|
|
<A
|
|
HREF="http://dubinski-family.org/~jshowto/Files/conf/petes_dhcpd.conf.txt"
|
|
TARGET="_top"
|
|
>dhcpd.conf</A
|
|
> from the ZLS is mirrored here for demonstration purposes.
|
|
</P
|
|
><P
|
|
> Note: Some early versions of <SPAN
|
|
CLASS="application"
|
|
>ISC DHCPD</SPAN
|
|
> are
|
|
reported to not work well. It is recommended you use <SPAN
|
|
CLASS="application"
|
|
>ISC
|
|
DHCPD Version 2.0 and above</SPAN
|
|
>. If you still find youself
|
|
having problems, there is a patch to the ISC DHCP server on the ZLS website.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="ServerSetup-ConfigureNFSSection"
|
|
>7.4. Set up <SPAN
|
|
CLASS="acronym"
|
|
>NFS</SPAN
|
|
> service (<SPAN
|
|
CLASS="QUOTE"
|
|
>"NFS-Root Options"</SPAN
|
|
>
|
|
Only)</A
|
|
></H2
|
|
><P
|
|
> When you are serving up an <SPAN
|
|
CLASS="QUOTE"
|
|
>"NFS-Root"</SPAN
|
|
> filesystem, you need
|
|
to share the filesystem you created to the <SPAN
|
|
CLASS="productname"
|
|
>JavaStation
|
|
</SPAN
|
|
> client. You do this with the <SPAN
|
|
CLASS="QUOTE"
|
|
>"/etc/exports"</SPAN
|
|
>
|
|
file.
|
|
</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="screen"
|
|
> ###/etc/exports
|
|
/path/to/nfsroot java01(rw,no_root_squash)
|
|
###
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
> Be sure your <SPAN
|
|
CLASS="acronym"
|
|
>NFS</SPAN
|
|
> server gets properly started
|
|
up at boot-time.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="ServerSetup-ConfigureTFTPSection"
|
|
>7.5. Setting up for Boot with <SPAN
|
|
CLASS="acronym"
|
|
>TFTP</SPAN
|
|
></A
|
|
></H2
|
|
><P
|
|
> Now we need to set up the last step on our server: the <SPAN
|
|
CLASS="acronym"
|
|
>TFTP
|
|
</SPAN
|
|
> configuration. For this step, you will need the kernel
|
|
you created (using the <SPAN
|
|
CLASS="QUOTE"
|
|
>"NFS-Root"</SPAN
|
|
> option) or the
|
|
piggybacked kernel/fs boot image (using the <SPAN
|
|
CLASS="QUOTE"
|
|
>"Embedded-Root"</SPAN
|
|
>
|
|
option), the appropriate <SPAN
|
|
CLASS="application"
|
|
>PROLL</SPAN
|
|
>, and some
|
|
knowledge of hexadecimal numbering.
|
|
</P
|
|
><P
|
|
> The first thing you need to do is verify that <SPAN
|
|
CLASS="QUOTE"
|
|
>"TFTPd"</SPAN
|
|
> is
|
|
enabled in your <SPAN
|
|
CLASS="QUOTE"
|
|
>"/etc/inetd.conf"</SPAN
|
|
> file:
|
|
</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="screen"
|
|
> tftp dgram udp wait root /usr/sbin/tcpd in.tftpd
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
> Now, you move your copy of proll for your <SPAN
|
|
CLASS="productname"
|
|
>JavaStation
|
|
</SPAN
|
|
> architecture, along your kernel or piggybacked kernel
|
|
image to /tftpboot.
|
|
</P
|
|
><P
|
|
> Now, you create of symbolic link from the hexidecimal version of your
|
|
<SPAN
|
|
CLASS="acronym"
|
|
>IP</SPAN
|
|
> to your <SPAN
|
|
CLASS="application"
|
|
>PROLL</SPAN
|
|
> image,
|
|
and a map from <SPAN
|
|
CLASS="QUOTE"
|
|
>"HEXIP.PROL"</SPAN
|
|
> to your real kernel image. If
|
|
you are using <SPAN
|
|
CLASS="QUOTE"
|
|
>"Embedded-Root"</SPAN
|
|
> option, you point to your
|
|
<SPAN
|
|
CLASS="QUOTE"
|
|
>"Embedded-Root"</SPAN
|
|
> Filesystem plus Kernel image. If you are
|
|
using the <SPAN
|
|
CLASS="QUOTE"
|
|
>"NFS-Root"</SPAN
|
|
> option, you need to point to the
|
|
normal <SPAN
|
|
CLASS="QUOTE"
|
|
>"vmlinux.aout"</SPAN
|
|
> image, plus have a separate map of
|
|
<SPAN
|
|
CLASS="acronym"
|
|
>IP</SPAN
|
|
>->nfsroot location. For sake of completeness,
|
|
you might also want a <SPAN
|
|
CLASS="QUOTE"
|
|
>"HEXIP.SUN4M"</SPAN
|
|
> -> <SPAN
|
|
CLASS="QUOTE"
|
|
>"HEXIP
|
|
"</SPAN
|
|
> map, as that is the custom way of dealing with net boot
|
|
situations with the Sun.
|
|
</P
|
|
><P
|
|
> Example for java01 booting from <SPAN
|
|
CLASS="QUOTE"
|
|
>"NFS-Root"</SPAN
|
|
>:
|
|
</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="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
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
> Example for java01 booting from <SPAN
|
|
CLASS="QUOTE"
|
|
>"Embedded-Root"</SPAN
|
|
> boot image:
|
|
</P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="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
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></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="outofthebox-outoftheboxsolutionchapter.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="javastationboot-bootyourjavastationchapter.html"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>"Out of the Box" JavaStation Boot File Solutions</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Booting Your JavaStation</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |