1. 14 Mar, 2015 1 commit
  2. 13 Mar, 2015 1 commit
    • Mike Hibler's avatar
      MFS fixups. · e12934a2
      Mike Hibler authored
      Make sure we clear out any partial GPTs. On FreeBSD we just use
      "gpart destroy" which will get rid of an MBR or GPT.
      
      Tee the output of rc.frisbee into a file and upload that back to
      boss in the event of a failure. We will see if this proves useful.
      e12934a2
  3. 05 Mar, 2015 1 commit
  4. 24 Feb, 2015 1 commit
  5. 16 Jan, 2015 1 commit
    • Mike Hibler's avatar
      The Joy of Sed. · a861dd6c
      Mike Hibler authored
      We were parsing the disk number out with:
      
        dunit=`echo $disk | sed -e 's/..\([0-7]\)/\1/'`
      
      which works fine with "ad0", giving a dunit of "0"
      but with "ada0" you get a dunit of "a0"
      
      And, after misinterpreting through another sed command:
      
      dunit=`echo $dunit | sed -e 'y/01234567/abcdefgh/'`
      
      we get "aa" instead of "a". Append that to "sd" and your disk
      becomes "sdaa" instead of "sda". Next thing you know I'm blaming
      Emacs for inserting an extra character in /etc/fstab!
      a861dd6c
  6. 09 Oct, 2014 1 commit
    • Mike Hibler's avatar
      Rework client-side storage scripts to semi-coexist with mkextrafs uses. · 9cf8f9c6
      Mike Hibler authored
      Broke rc.storage into two phases, local blockstores and remote blockstores.
      Setup of the former will also pick a best candidate for an old-school
      "extrafs" and put the info in /var/emulab/boot/extrafs. This will be a
      single line with one of DISK=foo, PART=foo, or FS=foo depending on whether
      it found an available full disk, disk partition, or mounted filesystem
      that we can use for mkextrafs (in the first two cases) or where we can
      mooch off of (the last). This is only used in os_mountextrafs() right now;
      i.e., I have NOT changed the mkextrafs script. So explicit invocations
      by the user could still screw things up.
      
      I have tested this with local blockstores and a non-nfs experiment
      on both Linux and FreeBSD to make sure the most common sharing of space
      works. I have not made any new images and I have not yet tested to make
      sure I did not break non-blockstore, non-nfs experiments (i.e., where
      we really should run mkextrafs).
      
      So maybe don't make any new images til I get back, or else be prepared
      to clean up after me.
      9cf8f9c6
  7. 18 Sep, 2014 1 commit
  8. 28 Aug, 2014 1 commit
  9. 04 Aug, 2014 1 commit
  10. 31 Jul, 2014 1 commit
  11. 30 Jul, 2014 1 commit
  12. 28 Jul, 2014 1 commit
  13. 25 Jul, 2014 1 commit
    • Mike Hibler's avatar
      Get the FreeBSD and Linux versions back in sync. · 06591f8a
      Mike Hibler authored
      Mostly this was adding the necessary versioning code (only slicefix each
      partition once) but also support sizing the socket buffer now that I
      finally managed to rebuild the Linux/ulibc version of the frisbee client.
      06591f8a
  14. 16 Jul, 2014 1 commit
    • Mike Hibler's avatar
      Fix to run slicefix after all images have been loaded. · 03bec3a7
      Mike Hibler authored
      Otherwise we might run slicefix after a base image and before a delta
      which could cause a train wreck in the FS if slicefix changes allocate
      or deallocate blocks.
      
      Also, grudgingly update some of the shell syntax to use constructs
      introduced in the early 1990s. Sigh...this script will no longer run
      on a PDP-11.
      03bec3a7
  15. 02 Jun, 2014 1 commit
  16. 20 May, 2014 1 commit
  17. 09 May, 2014 1 commit
    • Mike Hibler's avatar
      Change to use only geom and GPTs for FBSD 10 and above. · 0639a119
      Mike Hibler authored
      As of FreeBSD 10, I am tired of fighting the old MBR tools.
      So for whole disks (slice == 0) we are going to use GPT so that we
      can get good (1M) alignment and potentially big-ass partitions with
      a minimum of fuss.
      
      This means that you cannot image those partitions since imagezip
      does not yet (as of 05/2014) understand GPT. But we have no mechanism
      for capturing an image from anything but the system disk anyway, so
      we can live with this until GPT support is added.
      0639a119
  18. 07 May, 2014 1 commit
    • Mike Hibler's avatar
      Prepare for the coming of MBR version 3. · b4fdf8e0
      Mike Hibler authored
      Ironic. After all that hoo-haw about dynamically-created MBRs in the
      previous commit, we introduce a new hardcoded static MBR...
      
      Goals:
       * Single OS partition, in the fast area of rotating disks
       * Proper alignment for 4k sector drives and SSDs (1MB alignment)
       * Still works on 40GB disk (aka, pc850s)
       * P1 16 GiB: goldilocks FS: not too small (> 10GB), but not too big (< 30GB)
       * P2  3 GiB: can hold a co-loaded MBR 1 image (e.g., FBSD410 delay node OS)
       * P3  3 GiB: at least as much swap at currently (>= 1GB)
      
      The partition table:
        P1:     2048	33554432	FS, 16GiB
        P2: 33556480	 6291456	possible delay-node OS or additional swap, 3GiB
        P3: 39847936	 6291456	swap, 3GiB
        P4: 46139392	34278848+	extrafs, 16+GB
      
      The larger size and partition alignment are why I pushed this through despite
      my noble intentions.
      b4fdf8e0
  19. 05 May, 2014 1 commit
    • Mike Hibler's avatar
      Fix the "dark magic" used to overwrite an existing partition. · 24cb6595
      Mike Hibler authored
      The old way worked...sorta. When we deleted the old partition and then
      recreated it with gpart, it would create the new one at the end of the
      disk, not likely where the old partition was previously.
      
      In elabinelab setup the combo:
      
         mkextrafs -s 2 ... /usr/testbed
         mkextrafs -s 4 ... /q
      
      resulted in slice 2 getting created at the end of the disk (where slice 4
      would normally be) and then slice 4 getting created in the only remaining
      available space (where slice 2 would normally be). Very confusing to my
      Monday morning brain...
      24cb6595
  20. 17 Apr, 2014 1 commit
  21. 19 Mar, 2014 1 commit
    • Mike Hibler's avatar
      get FreeBSD firewall working with vnodes. · 650adc28
      Mike Hibler authored
      Firewall needed to be taught about the vnode control net (172.16.0.0).
      Basic stuff works now. Haven't tested everything.
      
      Unrelated to this commit, the Linux firewall seems to be broken.
      No traffic flows between the inside and outside even in an "open"
      configuration. Needs investigation.
      650adc28
  22. 21 Feb, 2014 1 commit
  23. 13 Feb, 2014 1 commit
  24. 11 Feb, 2014 1 commit
  25. 30 Jan, 2014 1 commit
  26. 23 Jan, 2014 1 commit
  27. 17 Dec, 2013 1 commit
  28. 16 Dec, 2013 1 commit
  29. 06 Dec, 2013 2 commits
  30. 04 Nov, 2013 1 commit
  31. 12 Oct, 2013 1 commit
  32. 04 Oct, 2013 1 commit
  33. 09 Sep, 2013 1 commit
  34. 22 Aug, 2013 1 commit
  35. 15 Aug, 2013 1 commit
    • Mike Hibler's avatar
      Change the semantics of "reset". · c30b122e
      Mike Hibler authored
      "reset" now just unmounts blockstores, it does not destroy them.
      Need this so that people can include a SYSVOL blockstore in a custom image
      (the only place where "reset" is used). Also, destroying blockstores would
      have come as an unpleasant surprise to anyone who created a custom image
      and then expected their data to still be around afterward!
      
      Also work around a bizzare bug in BSD sed that happens in the prepare script.
      That script does:
      
           sed -e '/# next line is swap device/,+1d' /etc/fstab
      
      which should remove the matched comment and the line after it (the swapdev
      entry). But if there are EXACTLY two additional lines after the matched line,
      it would remove both of them (effectively "+2")! So if there was a mount for
      a blockstore device after the swap device, prepare would remove that line too.
      
      So in the finest tradition of "if it hurts, don't do it", the blockstore code
      makes sure that it adds at least two additional lines.
      c30b122e
  36. 21 Jun, 2013 2 commits
  37. 20 Jun, 2013 1 commit
  38. 06 Jun, 2013 1 commit