Redstorm:SVN Guide
From OSR
(Redirected from Cray SVN Guide)
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