Warning: Parameter 1 to Language::getMagic() expected to be a reference, value given in /opt/local/apache2/htdocs/wiki/includes/StubObject.php on line 58
Redstorm:SVN Guide - OSR

Redstorm:SVN Guide

From OSR

(Redirected from Cray SVN Guide)
Jump to: navigation, search

Contents

Building Cray SVN Tree

Checkout

All of this happens on rsc-c3. The checkout is done over a ssh tunnel to a squid server on gold.us.cray.com, which then contacts svn.us.cray.com. Believe it or not, this is faster than doing a local checkout at cray and then copying the entire tree to Sandia.

  • Update your ~/.subversions/servers:
               [groups]
               cray = *.cray.com
               ### Proxy to hosts inside of cray
               [cray]
               http-proxy-host = rsc-c3
               http-proxy-port = 3128
  • Do the checkout. Expect it to take anywhere from one to six hours.

You will need to use your Craypark username and password to authenticate. After the first time Subversion will store the details in its cache and not require a password.

               svn checkout --username n12220 https://svn.us.cray.com/svn/xt/externals/full-nightly

If you want to checkout a specific release, you can do it like this:

               svn co https://svn.us.cray.com/svn/xt/externals/nightly-build/tags/REL_1_4_22


Patches

  • Patch linux/initrd/roots/linuxrc-unified:
               Index: roots/linuxrc-unified
               ===================================================================
               --- roots/linuxrc-unified       (revision 1936)
               +++ roots/linuxrc-unified       (working copy)
               @@ -199,8 +199,11 @@
                
                make_devs()
                {
               -    mknod /dev/zero c 1 3
               -    mknod /dev/null c 1 5
               +    mknod /dev/zero c 1 5
               +    mknod /dev/null c 1 3
               +    mknod /dev/random c 1 8
               +    mknod /dev/tty c 5 0
               +    mknod /dev/ptmx c 5 2
                    mknod -m 666 /dev/ukbridge0 c 62 0
                    mknod -m 666 /dev/ukbridge1 c 62 1
                    mknod -m 600 /dev/console c 5 1
               @@ -437,6 +439,9 @@
                   echo "Initrd: Mounting NID specific /etc..."
                   if [ -n "${NID}" -a  -d /.shared/node/${NID}/etc ];then
                     mount -n --bind /.shared/node/${NID}/etc /etc
               +   elif [ "$harness" = 1 ]; then
               +     echo "WARNING: did not find NID specific /etc. Using default."
               +     mount -n --bind /.shared/default/etc /etc
                   else
                     echo "ERROR: did not find NID specific /etc for NID=${NID}."
                     echo "Create a specialized view for this node. See xtspec(8) and xtcloneshared(8)."
               @@ -453,6 +458,7 @@
                make_devs
                mkfifo -m 600 /dev/initctl
                mkfifo -m 640 /dev/blog
               +mount -n -t tmpfs tmpfs /tmp
                mkdir /dev/pts
                ln -sf /proc/self/fd /dev/fd
                echo "Initrd: done."


Build / Post install

  • Do a full `make`. This step might also take a few hours depending on what is happening on rsc-c3. It has the slowest disks of any Opteron machine out there.
  • Copy old harness binary into `install/bin/snos32/harness`. You can copy `rsc-c3:~tbhudso/src/harness`, although it is possible that there may be a way to build it from the source tree.
  • Update `install/linux/bootable/parameters` for our system. For mine, I add `harness=1` and change `bootpath=/rr/current_2.6`, `bootprot=dhcp` and `bootnodeip=192.168.1.1`. There may be a way to modify `linux/initrd/parameters.in` to do this automatically, but I haven't figured it out yet. You will need to redo this after every build of the `linux/initrd` tree. Here is my full file:
               earlyprintk=rcal0
               load_ramdisk=1
               ramdisk_size=80000
               acpi=off
               console=ttyL0
               bootnodeip=192.168.1.1
               bootproto=dhcp
               bootpath=/rr/current_2.6
               rootfs=nfs-shared
               pci=lastbus=3
               idle=poll
               harness=1


Incremental builds

  • portals.ko:
       make -C linux/portals
  • rcad.ko: (can't use -C since it calls pwd)
       make -C ~/src/full-nightly/linux/rca

The harder way:

       cd RSMS/RCA/rcad
       make KERNDIR=~/src/full-nightly/linux/kernel.2.6-ss-lustre26 modules
  • Firmware:
       make -C hardware/firmware_c clean all install
  • Linux kernel (not sure about this one)
       make -C linux/kernel.2.6-ss-lustre26
  • Catamount QK for Seastar:
        make -C catamount SEASTAR=1