IEPM

Installing a WEB-100 Enabled System at SLAC

SLAC Home Page

Install RedHat

Visit the Installation and Maintenance Procedures for Linux at SLAC web page, and follow the instructions for the NFS installation of the latest supported version. Use Lilo as the boot loader. Do not proceed to the SLAC Configuration Step .

Install the new kernel

Once you have completed the vanilla installation and rebooted, log on (as root) to the target system (e.g. Antonia) and download the required kernel (ie the one supported by the latest version of web100) from ftp://ftp.kernel.org/pub/linux/kernel/v2.4

At the time of writing the required kernel is 2.4.19. Install the files in the /usr/src area as shown,

cd /usr/src
tar xzf linux-2.4.19.tar.gz

Patch the kernel

Get the latest version of web100 from http://www.web100.org/download and place the tar ball in /usr/src. Next install the files as shown,
ln -s linux-2.4.19 linux
cd /usr/src/linux
tar xzf ../web100-*
patch -p3 < web100/web100-*
make mrproper
Next copy the existing configuration for the starting point of the new kernel,
cp ../linux-2.4/configs/kernel-2.4.18-i386-smp.config .config
And configure
make menuconfig

Select the following under different kernel options:

    Code maturity level options  --->
        [*] Prompt for development and/or incomplete code/drivers
    Processor type and features --->
        [*] Symmetric multi-processing support  (Select for SMPs only)
    Networking options  --->
        [*] Web100 networking enhancements (NEW)
        [*] Web100: TCP statistics (NEW)
        [*] Web100: default winscale sysctl variable (NEW)
        (7) Web100: default winscale initial value (NEW)

Turn on the benign parts of Net100 by editing the top level Makefile to add -DWEB100_NET100 to the CFLAGS define: CFLAGS := .... -DWEB100_NET100

Compile the patched kernel and modules and install the neccessary things in the neccessary places,

make dep
make bzImage
cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.19-web100
make modules
make modules_install
mkinitrd /boot/initrd-2.4.19-web100.img 2.4.19-web100
Finally, modify the lilo configuration in /etc/lilo.conf. Make the default to be the new kernel
default=linux-web100
and add a new image describing the new kernel
image=/boot/vmlinuz-2.4.19-web100
        label=linux-web100
        initrd=/boot/initrd-2.4.19-web100.img
        read-only
        root=/dev/sdb1
Run lilo on the new lilo configuration
/sbin/lilo -v

Compile the AFS client

Reboot the machine so you are running the new kernel.

At the time of writing, the latest version of OpenAFS is 1.2.9, amend the following if there is a later version. Copy over /afs/slac/package/OpenAFS/src/openafs-1.2.9-src.tar.gz

tar zxf openafs-1.2.9-src.tar.gz
cd openafs-1.2.9
./configure --enable-transarc-paths
make dest
mkdir /usr/vice/ ; mkdir /usr/vice/etc
cp -r i386_linux24/dest/root.client/usr/vice/etc/* /usr/vice/etc/.

Run taylor

Complete the SLAC installation procedure by running taylor,
lynx -dump http://www/comp/unix/linux/go-taylor | sh
Enable the SCS /usr/local.

Sometimes, shutting down AFS causes a hang. You may need to do a hard reboot.

Modify the buffers, and disable the Caching

add the following lines to /etc/sysctl.conf
# increase Linux TCP buffer limits
net.core.rmem_max = 33554432
net.core.wmem_max = 33554432
net.core.rmem_default = 65536
net.core.wmem_default = 65536
net.ipv4.tcp_rmem = 4096 87380 33554432
net.ipv4.tcp_wmem = 4096 65536 33554432
net.ipv4.tcp_mem = 33554432 33554432 33554432
# flush old route information
net.ipv4.route.flush = 1
# web100 tuning
net.ipv4.web100_default_wscale = 7
net.ipv4.web100_no_metrics_save = 1
net.ipv4.web100_sbufmode = 1
net.ipv4.web100_rbufmode = 1
# net100 tuning
net.ipv4.WAD_FloydAIMD = 1
net.ipv4.WAD_IFQ = 1

Install the Userland code

./configure --prefix=/usr
make
make install

Created July 23, 2002. Last updated April 21, 2003.
URL: http://www-iepm.slac.stanford.edu/
Comments to iepm-l@slac.stanford.edu