Start with standard workstation install of GinGin 64. add gv to packages BLAS and LAPACK from acml: http://www.developwithamd.com/acml install in /usr/local/acml cd /usr/local/acml ln -s Doc/acml.info ../info cd /usr/local/lib64; ln -s -v ../acml/gnu64/* . cd /usr/local/lib; ln -s -v ../acml/gnu32/* . rpm -e octave lapack blas ATLAS library for BLAS: http://sourceforge.net/project/showfiles.php?group_id=23725 install in /usr/local/atlas cd /usr/local/lib64; ln -s -v ../atlas/lib/lib* . ln -s -v include/*.h ../include do-lab /sbin/ldconfig -v # update linker everywhere #Contrary to the documentation, mpirun looks in /usr/local/share ln -s -f /usr/local/mpich/util/machines/machines.LINUX /usr/local/share build mpich-1.2.5: ./configure --disable-short-longs --with-comm=shared --with-device=ch_p4 --prefix=/usr/local --libdir=/usr/local/lib64 -opt="-O2 -m64" >& configure.log make >& make.log gcc-3.3 bug stops compile of mpich: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11183 There is a bug in shared memory that causes semaphores to pile up. If this happens: do-lab semaphore Set up all three ethernets as static in /etc/sysconfig/network-scripts For some reason, eth1 and eth2 are switched... Set up Mathematica fonts: add lines to /etc/X11/fs/config /usr/local/mathematica/SystemFiles/Fonts/Type1, /usr/local/mathematica/SystemFiles/Fonts/X, /usr/lib/openoffice/share/fonts/truetype copy -a mathematica /usr/local/mathematica from barak service xfs restart see support.wolfram.com/mathematica/systems/unix/interface/fonterrors.html Get 32 bit glibc libraries from barak and add them to jael. This allows a working compile of gcc-3.3: rpm -q --list glibc glibc-devel | grep "/lib/" > junk tar cvf 32_bit_libs.tar -T junk --absolute-names tar xf 32_bit_libs.tar --keep-old-files ../gcc-3.3/configure --enable-languages=c,c++,f77,java,objc make -j 2 bootstrap >& make_bootstrap.log & Install java: Download install script from www.blackdown.org, j2re-1.4.2-rc1-linux-amd64.bin Install in /usr/local by running script ln -s /usr/local/j2re1.4.2/plugin/amd64/mozilla/libjavaplugin_oji.so /usr/lib64/mozilla/plugins build kernel-2.4.21: Network device support Ethernet (100 Mbit) Y 3COM 3C590 etc. support Ethernet (1000 Mbit) Y Broadcom Tigon 3 support Wireless LAN N Wireless LAN (otherwise, a module compile error) WAN N WAN (otherwise, module compile error) Networking options N IP: multicasting (cruft) N IP: advanced router (cruft) Y IP: kernel level autoconfiguration Y IP: DHCP support File systems Network file systems Y NFS file system suppor Y Root file system Turned off sound support (due to a module compile error) Turned off support, IrDA, Firewire, and Bluetooth (cruft) make -j 4 dep make -j 4 bzImage; make -j 4 modules Install for use on diskless nodes. This kernel will not work on the server since it has NFS root file system. cp arch/x86_64/boot/bzImage /tftpboot/vmlinuz make modules_install INSTALL_MOD_PATH=/export/abimelech cp System.map /export/abimelech/System.map-2.4.21 cd /export/abimelech; ln -s System.map-2.4.21 System.map Copy files over to diskless nodes cp -a /dev/ /export/abimelech cp -a /etc /export/abimelech cp -a /var /export/abimelech cp -a /bin /export/abimelech cp -a /sbin /export/abimelech cp -a /root /export/abimelech cp -a /mnt /export/abimelech cp -a /lib /export/abimelech cp -a /lib64 /export/abimelech mkdir /export/abimelech/usr mkdir /usr45 mkdir /export/abimelech/usr/bin mkdir /export/abimelech/home mkdir /export/abimelech/tmp # # else XFree86 doesn't start # crashes with obscure error # " Fatal server error : could not open default font Fixed ." # chomod a+w /export/abimelech/tmp mkdir /export/abimelech/proc # no extra network cards rm -f /export/abimelech/etc/sysconfig/network-scripts/ifcfg-eth2 rm -f /export/abimelech/etc/raidtab #no raid echo "ServerName jael" >> /export/abimelech/etc/cups/client.conf turn off ipforwarding in /export/abimelech/etc/sysctl.conf modify /export/abimelech/modules.conf to remove network card remove extra kernel versions from /export/abimelech/lib/modules To test the file system, try /usr/sbin/chroot /exports/abimelech. Also ldd will tell if a given binary has the libraries needed. The script /etc/rc.d/rc.sysinit is based on on /bin/bash. However, /bin/bash needs two /user/bin files to run: cp -a /usr/bin/id /export/abimelech/usr/bin cp -a /usr/bin/dircolors /export/abimelech/usr/bin untar the modified files from barak: cd /; tar xf /export/barak_export.tar Since many initscripts need /usr files, add to the end of /export/abimelech/rc.d/rc.sysinit. Portmapper is not started, so we need -o nolock. We need /usr mounted before we can start portmap. action $"Mounting /usr via nfs: " mount -o nolock /usr Modify /etc/rc.d/init.d/halt: # Try them all, one last time. #BvdS: this will unmount / and we have trouble #umount -a -f Modify /etc/rc.d/init.d/netfs (don't include /usr in list): 93c93 < remaining=`LC_ALL=C awk '!/^#/ && $3 ~ /^nfs/ && $2 != "/" {print $2}' /proc/mounts` --- > remaining=`LC_ALL=C awk '!/^#/ && $3 ~ /^nfs/ && $2 != "/" && $2 != "/usr" {print $2}' /proc/mounts` 97c97 < action $"Unmounting NFS filesystems (retry): " umount -f -l -a -t nfs --- > action $"Unmounting NFS filesystems (retry): " umount $remaining 99c99 < action $"Unmounting NFS filesystems: " umount -f -l -a -t nfs --- > action $"Unmounting NFS filesystems: " umount $remaining 102c102 < remaining=`LC_ALL=C awk '!/^#/ && $3 ~ /^nfs/ && $2 != "/" {print $2}' /proc/mounts` --- > remaining=`LC_ALL=C awk '!/^#/ && $3 ~ /^nfs/ && $2 != "/" && $2 != "/usr" {print $2}' /proc/mounts` /export/abimelech/etc/rc.d/init.d/network: 198,205c198 < for i in $interfaces ; do < eval $(fgrep "DEVICE=" ifcfg-$i) < if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi < < if ! check_device_down $i; then < action $"Shutting down interface $i: " ./ifdown $i boot < fi < done --- > echo "Shut down of interfaces disabled" on abimelech, turn off nfs,tftp,dhcpd using /sbin/chkconfig ... off and /sbin/service ... stop on jepthah: echo "bvds@bvds" > /root/.forward to get network stuff to work: etc/sysconfig/network contains only "NETWORKING=yes" make etc/hosts.equiv file chmod go-r etc/hosts.equiv modify etc/xinetd.d/rsh and rlogin to turn off disable /sbin/service xinetd restart add rsh and rlogin to etc/securetty (allows root rsh) add .rhosts file to /root (allows root rsh) to make more nodes: new entry in /etc/dhcpd.conf new entry in /etc/hosts copy /exports/directory edit etc/fstab for the node ------------------------------------------------------------ make local lab user: make initial account on one machine: /usr/sbin/useradd -d /lhome -s /bin/tcsh -m luser rm -r -f /etc/skel cp -a -f /lhome /etc/skel copy /etc/skel to all other machines do-lab /usr/sbin/useradd -d /lhome -s /bin/tcsh -m luser # # there must be a better way of doing this # for instance, the user could be sent over NIS do-lab passwd luser ------------------------------------------------------------ Sept. 2003 linux kernel 2.4.22 install with lm_sensors 2.8.0 patch cd linux-2.4.22 cp ../linux-2.4.20-9.2/configs/kernel-2.4.20-x86_64-smp.config .config patch -p 1 < /home/bvds/scratch/lm_sensors/linux-2.4.22-i2c-2.8.0.patch cp -a /usr/src/linux-2.4.22 /usr/src/linux-2.4.22-diskless on standard: Network device support Wireless LAN N Wireless LAN (otherwise, a module compile error) WAN N WAN (otherwise, module compile error) Character devices I2C support M I2C support M I2C PCF 8584 interfaces M elector ISA card (no idea if I need this) M I2C device interface M I2C /proc interface (definitely need this) Turned off sound support (due to a module compile error) Turned off IrDA, Firewire, and Bluetooth (cruft) on diskless nodes: Network device support Ethernet (100 Mbit) Y 3COM 3C590 etc. support Ethernet (1000 Mbit) Y Broadcom Tigon 3 support Wireless LAN N Wireless LAN (otherwise, a module compile error) WAN N WAN (otherwise, module compile error) Networking options N IP: multicasting (cruft) N IP: advanced router (cruft) Y IP: kernel level autoconfiguration Y IP: DHCP support SCSI support M SCSI support M SCSI disk support Character devices I2C support M I2C support M I2C PCF 8584 interfaces M elector ISA card (no idea if I need this) M I2C device interface M I2C /proc interface (definitely need this) File systems Network file systems Y NFS file system support Y Root file system USB support M USB mass storage support (for memory sticks) Turned off sound support (due to a module compile error) Turned off IrDA, Firewire, and Bluetooth (cruft) Install on jael is standard: need to modify grub cp System.map /boot/System.map-2.4.22 cp arch/x86_64/boot/bzImage /boot/vmlinuz-2.4.22 # it automatically includes the raid1.o module cd /boot; /sbin/mkinitrd -v /boot/initrd-2.4.22.img 2.4.22 Add to /etc/modules.conf: # since we don't have a sound card: alias char-major-14 off Install for use on diskless nodes. This kernel will not work on the server since it has NFS root file system. cp arch/x86_64/boot/bzImage /tftpboot/vmlinuz-2.4.22 modify tftpboot configure files make modules_install INSTALL_MOD_PATH=/export/barak cp System.map /export/barak/System.map-2.4.22 cd /export/barak; ln -s System.map-2.4.22 System.map ------------------------------------------------------------------ lm_sensors install on lab machines If we do the kernel patches discussed above, we don't have to do anything with i2c installation. Modifications to lm_sensors Makefile for use on jael: KERNELVERSION := 2.4.22 LINUX := /usr/src/linux-2.4.22-diskless I2C_HEADERS := $(LINUX_HEADERS) PREFIX := /usr/local MODPREF := /export/barak/lib/modules/2.4.2 ETCDIR := /export/barak/etc LIBDIR := $(PREFIX)/lib64 CFLAGS := -m64 lm_sensors Makefile has some lines missing the tabs make all; make install after installing, on barak run: depmod -a /sbin/modprobe i2c-proc lspci -v # see what is there (use 8111 ) typo on first line of http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/doc/busses/i2c-amd8111 /sbin/modprobe i2c-amd8111 /sbin/ldconfig prog/mkdev/mkdev.sh prog/detect/sensors-detect on barak, add to /etc/modules.conf: # I2C module options alias char-major-89 i2c-dev on barak, add to /etc/rc.d/rc.local: # I2C adapter drivers /sbin/modprobe i2c-isa # I2C chip drivers /sbin/modprobe w83781d # sleep 2 # optional /usr/local/bin/sensors -s # recommended copy from barak to other machines: etc/sensors.conf etc/modules.conf etc/rc.d/rc.local lib/modules/2.4.22 (and subdirectories) ---------------------------------------------------------------------------- Nov. 11 update: (also made separate update to kernel on gideon to support sound card) rpm -U esound-devel-0.2.28-5.1.x86_64.rpm esound-0.2.28-5.1.x86_64.rpm rpm -U XFree86-4.3.0-16.EL.x86_64.rpm XFree86-libs-4.3.0-16.EL.x86_64.rpm XFree86-xfs-4.3.0-16.EL.x86_64.rpm XFree86-twm-4.3.0-16.EL.x86_64.rpm XFree86-devel-4.3.0-16.EL.x86_64.rpm XFree86-libs-data-4.3.0-16.EL.x86_64.rpm March 2, 2004 update: usb-storage only on gideon in kernal /exports/vmlinuz-2.4.22-sound ------------------------------------------------------------------------------