SUMMARY:Dataless Client on Remote Network

From: Tim Perala (tperala@ua.d.umn.edu)
Date: Sat Oct 09 1993 - 03:30:49 CDT


Several weeks ago I posted the following...
========================================================
Any information on where to find a version of route
that will run (statically linked) or compile under
Solaris 2.2 would be greatly appreciated.

I need to put this into /sbin on many dataless clients
that live on networks remote from the server providing
/usr.

I've checked the listings at ftp.uu.net but found nothing
there. My attempts to compile the standard BSD route
program have met with ugly errors. Hints on how to make
this work would also be welcome.

I will summarize unless I am humiliated by being told the
answer is obvious. Thanks...
========================================================

Well, it appears that several generous persons offered help
on how to do this under 4.1.X, which is simpler because it
is relatively easy to get a statically linked version of
route to put into /sbin. Under Solaris2.2 things don't seem
so simple.

Many people offered solutions revolving around attempting to
create a statically linked version of route. This I found to
be impossible, at least I could not get any version of route
I found to compile (statically or otherwise) under Solaris2.2.

The good news is _IT IS DOABLE_. Instead of compiling a new
version of route, copy the dynamically linked version off the
CDROM, then copy the required RunTimeLibraries into /etc/lib.

Thanks to...

David.Miner@east.sun.com [Dave knew exactly what had to be done]
pln@egret1.Stanford.EDU (Patrick L. Nolan)
"Donald A. MacLeod" <dmacleod@mailbox.syr.edu>
Mico Loretan <mico@rainbow.econ.virginia.edu>
tkevans@eplrx7.es.duPont.com (Tim Evans)

Below is a recipe for making this work. You can stop reading
here if you are not interested in configuring, booting and
running Solaris2.X dataless clients on networks that are remote
(i.e. a route lives between the server and itself) from the
file server providing /usr.

=============================================================================
Instructions for setting up a dataless workstation running Solaris2.2
on a network remote from the host supplying /usr to the workstation.

Editorial...

        Sun could have made this _much_ easier by...

                Supplying a statically linked version of route.

                Testing the startup scripts so that they work
                when establishing a route prior to mounting /usr.

                Giving the user a chance to make changes before
                attempting to auto-reboot after suninstall.

The procedure for doing this goes basically like this...

        Boot from CDROM
        Before begining SunInstall, configure ethernet and add default route
        Complete SunInstall
        Halt Workstation (it will hang when auto-rebooting after SunInstall)
        Boot from CDROM
        Mount root partition on disk
        set up /sbin/route and other required RunTimeLibs
        Set up appropriate /etc/defaultrouter file
        Edit /etc/init.d scripts that are broken
        Reboot

The following assumes...

        IPaddr = IPaddress of new dataless workstation
        IPgate = IPaddress of default gateway
        NETMask = your appropriate netmask

1) Boot from CDROM and complete Suninstall Process

        1) Hook up CDROM player to new host
        2) Boot from CDROM
                boot cdrom
        3) The machine will boot completely from CDROM, leaving the
           local disk free for reconfiguration. Openwindows will come
           up and suninstall will begin.
        4) Open up a commandtool window and issue the following commands.
           They configure the ethernet interface and set up the route so
           that the suninstall process can find and mount required files
           from the file server during configuration.

                # ifconfig le0 IPaddr netmask NETMask up
                # route add default IPgate 1
                # exit

        5) Continue with normal SunInstall process. Some caveats...
                SunInstall won't be able to find your server's
                IP address if you chose YPclient and no YP client
                is yet active on your network, you will have to
                supply it yourself.

                Be sure to make / (root) big enough, at least 12MB.

                Sometime the test mounts fail when configuring
                remote file systems.

        6) Begin Installation... If things are set up correctly this
            should take 10-20 minutes. Unfortunately, the system will
            attempt to reboot itself when complete, which will fail.
            The system will hang...

2) Boot from CDROM again to fix up what Suninstall did not do for us...

        1) Bring the system down (<STOP>-A)

        2) boot cdrom

        3) Openwindows will come up with Suninstall window in forground,
           ignore Suninstall window...

        4) open up a commandtool window

        5) start a csh (instead of the default Bourne Shell sh because
           I like csh and some of the following commands are csh-specific)

        6) execute the following csh commands...

# mount the workstation's new root file system on /mnt (assumes root on t3)
mount -F ufs /dev/dsk/c0t3d0s0 /mnt

# set up for running route out of /sbin without /usr mounted
# copy the required RTL out of the CD's /usr/lib
cp /usr/lib/lib{socket,nsl,intl,w,c,c2}.so.1 /mnt/etc/lib
# create /usr/lib which will get covered when mounting /usr via NFS
mkdir /mnt/usr/lib
# this seems to be required (ld.so.1 already exists in /etc/lib)
ln -s /etc/lib/ld.so.1 /mnt/usr/lib/ld.so.1
# copy route into /sbin
cp /usr/sbin/route /mnt/sbin/route

        7) Create default route file, /mnt/etc/defaultrouter, place in
           it the IPgate address.

        8) edit /mnt/etc/init.d/rootusr as follows...

        line 124 : cat not available to sh at this point

        if [ -f /sbin/route -a -f /etc/defaultrouter ]; then
                /sbin/route -f add default `shcat /etc/defaultrouter` 1
        fi

        line 58: put $addr in quotes to allow a FQDN (if hostname is FQ)

        /sbin/ifconfig $1 "$addr" netmask +

        9) Edit /mnt/etc/init.d/inetinit
            (if default router is reset, machine hangs)

                lines 26 - 33 : comment out, skip default route, done earlier

        10) cd / ; umount /mnt ; reboot

-- 
Tim Perala (tperala@d.umn.edu)  (218) 726-6122
University of Minnesota, Duluth - Information Services
(a tribute to a well-loved editor I once knew...)
:wq



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:08:23 CDT