Re: [ILUG] Boot from network

From: Niall Brady (bradyn at domain maths.tcd.ie)
Date: Mon 04 Jun 2001 - 00:49:06 IST


On Fri, 01 Jun 2001 18:36:51 BST, Niall O Broin said:
>
>Are these "real" xterms or Linux boxes just being used as xterms ? If
>they're real xterms then there's only a kernel to be downloaded, as xterms
>themselves do not mount filesystems, nor does their boot process involve
>running god only knows how many binaries, so there isn't that big a network
>load. Of course, the change from 10Mb to 100MB networking helps too - that
>would have made the worst case in the Maynooth example be 3 minutes, which
>wouldn't have been too bad, and of course it gets even better if you've got
>a switch with 100Mb ports for clients and some 1Gb ports for servers. Of
>course, the scenario I spoke about was a bit before 100MB networking or
>switched Ethernets were available.

blurghh... this is kinda disjointed... heavy-duty chemical kinetics
study kinda fries mah brain ;-)

Also, it's all done under FreeBSD, so is hence kinda OT for here,
and in any case, would probably have to be done way differently
under Linux... uses crunchgen and things like that to reduce binary
sizes... and a fairly hairy gzipped kernel loader... thought it
might be of interest though...

Setup is:

        * Box with RAM (32MB+), processor (anything 400MHz+ does
          the job very nicely), network card of some kind... boot
          ROMs or flashable...

        * 3 servers (out of 11 available for logon) providing DHCP
          and netboot facilities, and NFS exports.

        * Here's the doc from the guy who set it up...
          a bit of a wizard by all accounts... all's on DHCP these
          days though...
          ========================================================
          When an xterm boots, it uses bootp to determine its IP
          address, where its root filesystem is, what the kernel
          name is etc.

          The xterm reads its kernel from <server>:<root>/<kernel>.
          The kernel contains a minimal root MFS filesystem which
          is enough to perform bootp (again), and mount filesystems
          from the server.

          /usr and /usr/local are mounted from the server, and
          /var/diskless/root is mounted as /common_root. Most things
          in the MFS root that aren't needed initially are just
          symlinks to the real file in /common_root.

          The only writable nfs filesystem is /swap, which is
          mounted from /var/diskless/swap/whatever.maths.tcd.ie.
          The xterm creates everything it needs in /swap including
          the swap file.

        * Chooser menu which has buttons with server names,
          FreeBSD/Linux pic, pic of whoever/whatever server is
          named after, and a load number/xloadface image, so that
          people will hopefully choose a lightly loaded server...
          then chugs out the server name chosen which goes as the
          argument to "X -query" This is all called from /etc/rc
          scripts... once the person logs off, it goes back to the
          chooser menu
          XF86Config file is generated for each xterm as it
          boots using a template, a wee config file for what
          type of mouse it has, and graphics card etc.

Advantages:

        * centralised admin... ye change one thing, all boxes
          are updated, without even needing an rdist or whatnot

        * cheap... put your money into better servers... years
          ago when it was all being set up, there was enough money
          left over in funds to kit them all out with 17inch
          monitors, which were just pure luxury at that stage...
          this was back in the days when there was still a bit of
          a population of vt320s hanging off of Annex terminal
          servers :-)

        * Create terminals for custom uses... we use it to create
          terminals which start up netscape and go straight to the
          local library search page...

Disadvantages:

        * access to local hardware on the boxes (floppies/CDROMs)
          [though our local wizard, the guy who put a great deal
           of this in operation, has a few bits and bobs which he's
           working on, towards making that easier... at the moment
           we have a weird custom ftp server which accesses the
           floppy drive... but mtools & other stuff should be able
           to work]

        * If ye like 16bit graphics, it can be a little bit slow
          sometimes since it's all coming across the network
          (big xterm & ls bigdirectory is enough to annoy) We keep
          most of 'em at 8bit though, which is tolerable enough,
          seeing as how most people are just coding, reading email
          or browsing the web

We have about (pokes finger in air) 50-60 diskless terminals...
takes about 45-60 seconds to boot at most... 3 minutes would be
quite atrocious...

I'd have to go rooting to be sure, but there's still quite a few
terms running on 10MB ethernet, 'cause they're stuck on old switches...
though we're probably going to upgrade some network gear soon which
should remove that bottleneck...

-- 
	NIall, back to the books... *yaawn*
	Repeat after me... "never study science...
	never study science..." etc. etc.


This archive was generated by hypermail 2.1.6 : Thu 06 Feb 2003 - 13:10:33 GMT