Path: utzoo!utgpu!jarvis.csri.toronto.edu!daemon
Newsgroups: comp.sys.dec
From: cks@white.toronto.edu (Chris Siebenmann)
Subject: Re: DECstation 3100 Kernel size and Diskless Operation
Message-ID: <89Sep25.235807edt.30815@snow.white.toronto.edu>
Sender: 
Organization: Ziebmef home away from home
References: <1544@esunix.UUCP>
Date: 26 Sep 89 03:59:15 GMT

[Caution: some of this is derived by extension from what I did for
 diskless Vax clients. The important bits work, though; we brought our
 DS3100s up diskless and then scribbled on their local disks.]

 With a bit of trickery, you don't actually HAVE to have a huge
/dlenv0 partition on your server; you can reuse your server's /usr
(regardless of what you do, you only need one /dlenv0 for all your
clients(*)). You can even make /dlenv0 and /dlclient0 live in the same
(non-root) partition; it's more convenient if you make /dlenv0 the
real partition mount point, although not 100% necessary.

 To do this, do the following:
- Make sure your server has a /var, and that /usr/var is a symlink to
  it. If it doesn't, make one by copying /usr/var to /var and changing
  it to a symlink; you probably want to try and put /var on it's own
  partition.
- decide where you're going to put the diskless client support
  partition(%). Let's call it /diskless. Make /dlenv0 and /dlclient0
  be symlinks that point into it.
- use /etc/dms.new to load the minimal setup into /dlenv0/root0.mips
  (base plus kernel plus networking, I think, but it's been a while --
  just pick no optional stuff). You may have to either circumvent the
  check for enough free space if /dlenv0 is a symlink to someplace, or
  you can just temporarily mount the disk partition on /dlenv0 instead
  of it's eventual destination; that's what I did here.
  [You *might* be able to get away with making /dlenv0/root0.mips a
   symlink to /; I'm not sure.]
- Configure your diskless client through /etc/dms.new, following all
  the instructions.
- STOP! Make sure that /dlclient0/.root is exported read-write
  and with the "-r=0" option to the client. This will probably require
  you to fix the /etc/exports line for the mount point where
  /dlclient0/.root lives (/diskless in our example).
- Make sure /usr on the DS3100 server is exported to the client.
- edit /dlclient0/.root/etc/fstab and change the mount of /usr
  from /dlenv0/root0.mips/usr@ to /usr@. While you're
  at it, fix up things like the hosts file and svcorder to match the
  server's. You may also need to add /etc/route invocations in the
  client /etc/rc.local.

 There! You should be done; boot the new client.

Disclaimer: Remember your software licensing; make sure all your
	    clients are licensed for the software on your server. Use
	    this procedure to save disk space, not to bypass licensing
	    restrictions.

*: Assuming all clients are licensed for all the software.
%: You can probably put /dlenv0 and /dlclient0 somewhere in the middle
   of a partition (say /var/diskless, where /var is a partition), but
   it's trickier and I haven't tried it.
-- 
	"I shall clasp my hands together and bow to the corners of the world."
			Number Ten Ox, "Bridge of Birds"
Chris Siebenmann		...!utgpu!{ncrcan,ontmoh!moore}!ziebmef!cks
cks@white.toronto.edu	     or ...!utgpu!{,csri!}cks