1. 15 Mar, 2005 1 commit
  2. 01 Feb, 2005 1 commit
    • Kirk Webb's avatar
      · b33e9635
      Kirk Webb authored
      Stargate client-side boot support.
      
      Similar to linux, but the sg linux distribution is based on debian, so some
      things are a little different.
      
      WARNING: if you do a client-install in a cross-compile environment
      (with DESTDIR set), watch out for bogus symlinks in <root>/etc/rc*.d!
      Have to fix these up by hand in this case.
      
      Also note that the stargate rc script doesn't yet start the robot pilot
      daemon - Tim said he needed to do finalize some stuff w.r.t. this, so
      he would take care of modifying the rc script.
      
      The ntp settings are still not ideal.  Even though the root fs is on a
      journalling jffs filesys, its still not good to write to it regularly.  Need
      to point the ntp drift file off into /var (ramfs)
      b33e9635
  3. 14 Jan, 2005 1 commit
    • Timothy Stack's avatar
      · dee46d59
      Timothy Stack authored
      Cross compilation fixes for the stargates, 'gmake client' should now
      build, link, and install properly.  Haven't really tried to run stuff though.
      
      	* GNUmakerules: Add target for stripping executables, used instead
      	of "install -s" since that doesn't work for cross-compiling.
      
      	* Makeconf.in: Add ELVIN_CONFIG variable that refers to
      	'elvin-config'.
      
      	* configure, configure.in: Detect and save the elvin-config path
      	since we need a different one for cross-compiling.
      
      	* event/lib/GNUmakefile.in, event/link-agent/GNUmakefile.in,
      	event/linktest/GNUmakefile.in, event/program-agent/GNUmakefile.in,
      	event/proxy/GNUmakefile.in, event/tbgen/GNUmakefile.in,
      	event/trafgen/GNUmakefile.in, os/dijkstra/GNUmakefile.in,
      	os/syncd/GNUmakefile.in, sensors/slothd/GNUmakefile.in,
      	tmcd/GNUmakefile.in, tmcd/linux/GNUmakefile.in: Cross compilation
      	fixes, don't statically link on arm, create "foo-debug"
      	executables with debugging info and install separately stripped
      	ones instead of passing "-s" to install.
      dee46d59
  4. 03 Jan, 2005 1 commit
  5. 13 Dec, 2004 1 commit
    • Leigh B. Stoller's avatar
      Force DHCP to set interfaces to: · 2247fde5
      Leigh B. Stoller authored
      	media "media 100baseTX mediaopt full-duplex";
      
      since they will be in autosense mode by default, which does not play
      well with switchports that are fixed to speed/duplex.
      2247fde5
  6. 23 Sep, 2004 1 commit
    • Mike Hibler's avatar
      Add a "kernel rename" script for Linux which reruns LILO if the · 97f3da16
      Mike Hibler authored
      file /var/emulab/boot/runlilo exists.  This is used for post-diskload
      configuration.  The rc.frisbee script modifies the lilo.conf file if
      necessary (for disk types other than IDE) and touches the runlilo file.
      So next time Linux boots, it will re-run lilo and get everything in synch.
      
      So how do we boot Linux the first time before lilo has been rerun?
      I'm glad you asked!  rc.frisbee also runs the magic groklilo program which
      knows how to set the one-time command line in LILO.  We use this to set
      "root=802" or whatever to make it boot that first time.
      97f3da16
  7. 21 Jul, 2004 1 commit
  8. 14 Jul, 2004 1 commit
    • Mike Hibler's avatar
      1. Better control net detection. · ff2335dd
      Mike Hibler authored
         No longer rely on looking at kernel boot time messages and extracting
         a hardware signature to determine the nodetype to then determine the
         control net.  Now we just DHCP on all interfaces and decree that the
         interface that answers is our control net interface.
      
         An extraordinary number of sleezy tricks were needed to get FBSD4,
         FBSD5, and RHL to DHCP on all interfaces without changing any standard
         scripts.
      
         For now, the nodetype/cpuspeed/chipset scripts still exist for the
         benefit of healthd, which uses the output of nodetype to determine
         what kernel module to load.  We should fix this.
      
         Side-effect: pump, the old RHL DHCP client, is history!  For older
         RHL releases, you will need a version of dhclient.
      
         Side-effect: in Linux, all non-control net interfaces are left up
         but without a legit IP address.  This is a consequence of dhclient.
         In FBSD, it was trivial to clean this up, RHL will take a little
         more work.  Up or down, it shouldn't matter.
      
      2. Add an mfs-install make target, a scaled-down version of the client
         install.  Added a mandatory DESTDIR check so you don't accidentally
         install in the wrong place on boss.
      ff2335dd
  9. 02 Jul, 2004 1 commit
  10. 24 Jun, 2004 1 commit
    • Mike Hibler's avatar
      Improve the client-side install. With these changes, it should now be · 976133e4
      Mike Hibler authored
      possible to:
      
      	gmake client
      	sudo gmake client-install
      
      on a FBSD4, FBSD5, RHL7.3, and RHL9.0 client node.
      
      There are still some dependencies that are not explicit and which would
      prevent a build/install from working on a "clean" OS.  Two that I know of are:
      you must install our version of the elvin libraries and you must install boost.
      976133e4
  11. 26 Apr, 2004 2 commits
    • Mike Hibler's avatar
      Cleanup Makefiles: · 297019fb
      Mike Hibler authored
      1. "make clean" will just remove stuff built in the process of a regular build
      2. "make distclean" will also clean out configure generated files.
      
      This is how it was always supposed to be, there was just some bitrot.
      297019fb
    • Mike Hibler's avatar
      Added config option DISABLE_EXPORTS_SETUP for sites without proper control · 56acaee5
      Mike Hibler authored
      of their file server (aero)
      
      Extend DISABLE_NAMED_SETUP: when set, we don't set a nodes hostname to
      <name>.<eid>.<pid>.<domain> since that won't resolve.  Just stick with
      pc<XXX>.<domain> in those cases.  The various sethostname* scripts are
      now .in so that they get preprocessed to check for the option.
      56acaee5
  12. 20 Apr, 2004 1 commit
    • Mike Hibler's avatar
      Improve the client-install. You can now do a "make client-install" from · 361ee691
      Mike Hibler authored
      the top level.  This will build all the necessary binaries and then install
      them.  This works on FBSD4 and RHL7.3.  It still doesn't work on FBSD5
      (newer compiler that no longer supports a style of use of _FUNCTION_ in the
      event lib) or RHL9 (event lib needs SSL lib which has a bad dependency
      on Kerberos).  Notes:
      
      - requires that elvin libraries be installed on nodes (they are) to build
        event agents, requires linuxthreads be installed on FBSD (it is now) to
        build imagezip (which is installed, but is not strictly necessary)
      
      - installed event-agents and other binaries are stripped
      
      - added a few missing files to the source tree for bsd (healthd.conf)
        and linux (healthd.conf, rc.local)
      
      - the only thing that doesn't get rebuilt in /usr/local/etc/emulab is
        healthd, I couldn't quickly find how it gets built
      
      - uses a scaled down version of libtb with no DB functions (since mysql
        isn't installed on nodes).  N.B. DO NOT DO A CLIENT INSTALL FROM YOUR
        REGULAR OBJ TREE OR ELSE YOU MAY WIND UP WITH A NEUTERED VERSION OF
        libtb.a!
      
      The build-as-well-as-install semantics are counter to the regular install
      targets, but this is what we gotta do for now.  Once the TB source builds
      under Linux and newer BSDs, we could undo this and just require that people
      do a regular "make" followed by "make client-install"  OTOH, there should
      be no reason to require installation of mysql and other server-side packages
      just to build clients (or make them sit through the compilation of assign),
      so maybe we will keep the client build special.
      361ee691
  13. 15 Mar, 2004 1 commit
  14. 20 Feb, 2004 1 commit
    • Leigh B. Stoller's avatar
      A bunch of little changes to make the Redhat 9.0 image work in a · 8551d9a7
      Leigh B. Stoller authored
      passable manner. Mostly this change overwrites Mike's changes for
      dealing with the pump race. Rather than setting ONBOOT="yes" for all
      interfaces (which is what triggers the pump race), only set the control
      interface to ONBOOT="yes", all the others get ONBOOT="no" so that
      ifup will not be called on them. Also remove the hostname set from the
      ifcfg scripts since that totally messes up dhclient-script, which is what
      is used in Redhat 9.0 (instead of pump).
      
      The problem with ONBOOT="no" is that the interfaces will not get
      probed if ifup is not called. This messes up testbed ifconfig later.
      So, added an rc.linux script that does just the probe for all interfaces.
      This script is called from rc.bootsetup, if rc."osname" exists.
      8551d9a7
  15. 17 Feb, 2004 1 commit
    • Leigh B. Stoller's avatar
      Medium size cleanup of the client side code. The main impetus behind · 069dc7d3
      Leigh B. Stoller authored
      this was to add soft reconfig support so that nodes could be
      reconfigured without having to reboot them. This appears to work, and
      has been tested with jails getting moved around. I've also tested the
      new code on the MFS, but still no testing has been done on PLAB nodes.
      
      The main change is that most of the code moved out of libsetup.pm, and
      was split into constituent rc scripts, each of which does its own
      thing, including cleaning up and preparing for making an image. Most
      of that central knowledge has been moved out into the scripts. Still more
      to do but this was a good start.
      069dc7d3
  16. 05 Nov, 2003 1 commit
    • Leigh B. Stoller's avatar
      Client side of the event system changes. · 70246c91
      Leigh B. Stoller authored
      * Download the eventkey with new tmcd call.
      
      * Pass -k option to various agents so that they can verify the HMACs
        in the incoming notifications.
      
      * Change program agent; The list of agents from tmcd now includes the
        command, which is written to a config file for the program-agent to
        read in. The command string in the event is now ignored.
      
      * Build the local proxy for linux, and add the goo to start the local
        elvind and use the proxy. It has been this way on FreeBSD for a
        while, but I never got it installed for Linux before now.
      70246c91
  17. 06 Oct, 2003 1 commit
    • Leigh B. Stoller's avatar
      * New libtmcc.pm module that encapsulates the tmcc interface. Most of the · 434a472a
      Leigh B. Stoller authored
        code that was in libsetup has moved into this library, and underwent a
        giant cleaning and pumping up. The interface from your typical perl
        script now looks like this:
      
        use libtmcc;
      
        if (tmcc(TMCCCMD_STATUS, "optional arguments", \@tmccresults) < 0) {
            warn("*** WARNING: Could not get status from server!\n");
            return -1;
        }
        foreach my $me (@tmccresults) {
      	print "bite $me";
        }
      
        The arguments and results are optional values. There is a fourth optional
        value that is a hash of config options (basically converted to command
        line switches passed to tmcc). For example, to set the timeout on an
        individual call, pass a fourth argument like:
      
      	("timeout" => 5)
      
        There is also a way to set global options so that all subsequent tmcc
        calls are affected:
      
      	configtmcc("timeout", 5);
      
        I'll probably clean this up a bit to avoid the direct strings.
      
        The result list is a list of strings. Since we are trending away from
        using tmcc to transfer large amounts of data, I think this is okay.
      
      * A new tmcc.pl which does little more than load libtmcc and use it.
        This will become the new tmcc, with the existing C version becoming a
        backend binary for it.
      
      * All of the perl scripts in tmcd have been changed to use the new
        library. I left the few uses of tmcc in shell scripts alone since they
        were of the simple variety (mostly "state" command).
      
      * And again, if you have read this far, you will learn why I bothered with
        all this. Well, the existing code was really bad and it was getting out
        of control. Sort of like a squid that was getting harder to control as
        its rotting tenticles slithered into more and more scripts. Anyway ...
      
        More important, my goal is to use the libtmcc library to add caching.  I
        have not worked out the details yet, but I am envisioning a configuration
        file, perhaps generated initially by tmcd, of all of the config
        values. If the library finds that file, it sucks the info out of the file
        instead of going to tmcd. Eventually, this config file would be generated
        as part of experiment swapping and stored in the DB, but thats a longer
        term project, and perhaps orthogonal (how we fill the cache is not as
        important as adding the ability to use a cache, right?).
      
        Note that certain operations (like "state" and "ready") are flagged by
        the library to always bypass the "cache".
      434a472a
  18. 02 Sep, 2003 1 commit
    • Leigh B. Stoller's avatar
      Initial IXP support. Very primitive; the IXP does not configure from · 9da75cd2
      Leigh B. Stoller authored
      inside, but rather I do just enough to get the card booted (using
      Abhijeet's minicom/expect scripts, but with changes to support the
      configuration coming from tmcd. I also create a file of interface and
      routeadd directives, so that the network configures properly, but
      thats about it. Getting a more complete client side environment that
      includes perl and sshd for the arm will have to wait.
      9da75cd2
  19. 15 Aug, 2003 1 commit
  20. 24 Jul, 2003 1 commit
  21. 22 Jul, 2003 1 commit
    • Kirk Webb's avatar
      · d356ef16
      Kirk Webb authored
      Here we have the Linux delaysetup startup script - first revision.  This
      uses iproute2+tc, modprobe, and iptables to setup traffic shaping.
      A few notes are warranted:
      
      1) [g]red is not yet supported
         - need to make these modules classful in the kernel first
      
      2) sysctls are used here to up the amount of buffer space available for
         sk_bufs (socket buffers).  Couldn't see a place to do this in the kernel
         config.
      
      3) Only linkdelay support is implemented
         - probably could add normal delay-node support without too much trouble.
      
      4) reverse pipe numbers are (currently) ignored
         - not needed since the IMQ device used to shape incoming traffic
           is distinct from the actual interface - no namespace collision.
      
      5) Kernel selection is similar to FBSD: check running kernel, and reboot
         if the kernel version isn't what we expect (have to rerun lilo too)
      d356ef16
  22. 04 Apr, 2003 1 commit
    • Kirk Webb's avatar
      Did a few things to update the tmcd install targets, and scripts for RHL73. · 19d9c18a
      Kirk Webb authored
      * New modules.conf that works with 7.1 and 7.3 (old one broke on 7.3)
        - Uses module aliases, instead of probe directives
      
      * Updated sfs-install target for linux startup cmds
        - RCDIR variable was used inconsistently
        - reorged rc.d startup script links to not start sfs by default
        - still need to revert back to the 6.0 startup script in the cvs repo
      
      * Updated common directory "other" target to include slothd
      19d9c18a
  23. 07 Jan, 2003 1 commit
  24. 06 Jan, 2003 1 commit
  25. 18 Dec, 2002 1 commit
  26. 11 Dec, 2002 1 commit
  27. 26 Sep, 2002 1 commit
  28. 20 Sep, 2002 1 commit
  29. 10 Sep, 2002 1 commit
  30. 27 Aug, 2002 1 commit
  31. 07 Jul, 2002 1 commit
  32. 06 Jun, 2002 1 commit
  33. 16 Apr, 2002 1 commit
  34. 24 Feb, 2002 1 commit
  35. 10 Jan, 2002 1 commit
  36. 28 Dec, 2001 1 commit
  37. 17 Dec, 2001 1 commit
  38. 20 Nov, 2001 1 commit
  39. 01 Nov, 2001 1 commit