Booting Supplemental CD from a PXE Server
http://docs.sun.com/source/819-3721-11/AppD.html
#=============================================================================
#====================== SECTION 1: PATHS AND LIBRARIES =======================
#=============================================================================
# The following macros specify the name and location of libraries required by
# the BLACS and its tester.
#=============================================================================
# --------------------------------------
# Make sure we've got a consistent shell
# --------------------------------------
SHELL = /bin/sh
# -----------------------------
# The top level BLACS directory
# -----------------------------
BTOPdir = /usr/local/BLACS
# ---------------------------------------------------------------------------
# The communication library your BLACS have been written for.
# Known choices (and the machines they run on) are:
#
# COMMLIB MACHINE
# ....... ..............................................................
# CMMD Thinking Machine's CM-5
# MPI Wide variety of systems
# MPL IBM's SP series (SP1 and SP2)
# NX Intel's supercomputer series (iPSC2, iPSC/860, DELTA, PARAGON)
# PVM Most unix machines; See PVM User's Guide for details
# ---------------------------------------------------------------------------
COMMLIB = MPI
# -------------------------------------------------------------
# The platform identifier to suffix to the end of library names
# -------------------------------------------------------------
PLAT = LINUX
# ----------------------------------------------------------
# Name and location of the BLACS library. See section 2 for
# details on BLACS debug level (BLACSDBGLVL).
# ----------------------------------------------------------
BLACSdir = $(BTOPdir)/LIB
BLACSDBGLVL = 0
BLACSFINIT = $(BLACSdir)/blacsF77init_$(COMMLIB)-$(PLAT)-$(BLACSDBGLVL).a
BLACSCINIT = $(BLACSdir)/blacsCinit_$(COMMLIB)-$(PLAT)-$(BLACSDBGLVL).a
BLACSLIB = $(BLACSdir)/blacs_$(COMMLIB)-$(PLAT)-$(BLACSDBGLVL).a
# -------------------------------------
# Name and location of the MPI library.
# -------------------------------------
MPIdir = /usr/local
MPIdev =
MPIplat = LINUX
MPILIBdir =
MPIINCdir = $(MPIdir)/include
MPILIB =
# -------------------------------------
# All libraries required by the tester.
# -------------------------------------
BTLIBS = $(BLACSFINIT) $(BLACSLIB) $(BLACSFINIT) $(MPILIB)
# ----------------------------------------------------------------
# The directory to put the installation help routines' executables
# ----------------------------------------------------------------
INSTdir = $(BTOPdir)/INSTALL/EXE
# ------------------------------------------------
# The name and location of the tester's executable
# ------------------------------------------------
TESTdir = $(BTOPdir)/TESTING/EXE
FTESTexe = $(TESTdir)/xFbtest_$(COMMLIB)-$(PLAT)-$(BLACSDBGLVL)
CTESTexe = $(TESTdir)/xCbtest_$(COMMLIB)-$(PLAT)-$(BLACSDBGLVL)
#=============================================================================
#=============================== End SECTION 1 ===============================
#=============================================================================
#=============================================================================
#========================= SECTION 2: BLACS INTERNALS ========================
#=============================================================================
# The following macro definitions set preprocessor values for the BLACS.
# The file Bconfig.h sets these values if they are not set by the makefile.
# User's compiling only the tester can skip this entire section.
# NOTE: The MPI defaults have been set for MPICH.
#=============================================================================
# -----------------------------------------------------------------------
# The directory to find the required communication library include files,
# if they are required by your system.
# -----------------------------------------------------------------------
SYSINC =
# ---------------------------------------------------------------------------
# The Fortran 77 to C interface to be used. If you are unsure of the correct
# setting for your platform, compile and run BLACS/INSTALL/xintface.
# Choices are: Add_, NoChange, UpCase, or f77IsF2C.
# ---------------------------------------------------------------------------
INTFACE = -DAdd_
# ------------------------------------------------------------------------
# Allows the user to vary the topologies that the BLACS default topologies
# (TOP = ' ') correspond to. If you wish to use a particular topology
# (as opposed to letting the BLACS make the choice), uncomment the
# following macros, and replace the character in single quotes with the
# topology of your choice.
# ------------------------------------------------------------------------
# DEFBSTOP = -DDefBSTop="'1'"
# DEFCOMBTOP = -DDefCombTop="'1'"
# -------------------------------------------------------------------
# If your MPI_Send is locally-blocking, substitute the following line
# for the empty macro definition below.
# SENDIS = -DSndIsLocBlk
# -------------------------------------------------------------------
SENDIS =
# --------------------------------------------------------------------
# If your MPI handles packing of non-contiguous messages by copying to
# another buffer or sending extra bytes, better performance may be
# obtained by replacing the empty macro definition below with the
# macro definition on the following line.
# BUFF = -DNoMpiBuff
# --------------------------------------------------------------------
BUFF =
# -----------------------------------------------------------------------
# If you know something about your system, you may make it easier for the
# BLACS to translate between C and fortran communicators. If the empty
# macro defininition is left alone, this translation will cause the C
# BLACS to globally block for MPI_COMM_WORLD on calls to BLACS_GRIDINIT
# and BLACS_GRIDMAP. If you choose one of the options for translating
# the context, neither the C or fortran calls will globally block.
# If you are using MPICH, or a derivitive system, you can replace the
# empty macro definition below with the following (note that if you let
# MPICH do the translation between C and fortran, you must also indicate
# here if your system has pointers that are longer than integers. If so,
# define -DPOINTER_64_BITS=1.) For help on setting TRANSCOMM, you can
# run BLACS/INSTALL/xtc_CsameF77 and BLACS/INSTALL/xtc_UseMpich as
# explained in BLACS/INSTALL/README.
TRANSCOMM =
#
# If you know that your MPI uses the same handles for fortran and C
# communicators, you can replace the empty macro definition below with
# the macro definition on the following line.
# TRANSCOMM = -DCSameF77
# -----------------------------------------------------------------------
# TRANSCOMM =
# --------------------------------------------------------------------------
# You may choose to have the BLACS internally call either the C or Fortran77
# interface to MPI by varying the following macro. If TRANSCOMM is left
# empty, the C interface BLACS_GRIDMAP/BLACS_GRIDINIT will globally-block if
# you choose to use the fortran internals, and the fortran interface will
# block if you choose to use the C internals. It is recommended that the
# user leave this macro definition blank, unless there is a strong reason
# to prefer one MPI interface over the other.
# WHATMPI = -DUseF77Mpi
# WHATMPI = -DUseCMpi
# --------------------------------------------------------------------------
WHATMPI =
# ---------------------------------------------------------------------------
# Some early versions of MPICH and its derivatives cannot handle user defined
# zero byte data types. If your system has this problem (compile and run
# BLACS/INSTALL/xsyserrors to check if unsure), replace the empty macro
# definition below with the macro definition on the following line.
# SYSERRORS = -DZeroByteTypeBug
# ---------------------------------------------------------------------------
SYSERRORS =
# ------------------------------------------------------------------
# These macros set the debug level for the BLACS. The fastest
# code is produced by BlacsDebugLvl 0. Higher levels provide
# more debug information at the cost of performance. Present levels
# of debug are:
# 0 : No debug information
# 1 : Mainly parameter checking.
# ------------------------------------------------------------------
DEBUGLVL = -DBlacsDebugLvl=$(BLACSDBGLVL)
# -------------------------------------------------------------------------
# All BLACS definitions needed for compile (DEFS1 contains definitions used
# by all BLACS versions).
# -------------------------------------------------------------------------
DEFS1 = -DSYSINC $(SYSINC) $(INTFACE) $(DEFBSTOP) $(DEFCOMBTOP) $(DEBUGLVL)
BLACSDEFS = $(DEFS1) $(SENDIS) $(BUFF) $(TRANSCOMM) $(WHATMPI) $(SYSERRORS)
#=============================================================================
#=============================== End SECTION 2 ===============================
#=============================================================================
#=============================================================================
#=========================== SECTION 3: COMPILERS ============================
#=============================================================================
# The following macros specify compilers, linker/loaders, the archiver,
# and their options. Some of the fortran files need to be compiled with no
# optimization. This is the F77NO_OPTFLAG. The usage of the remaining
# macros should be obvious from the names.
#=============================================================================
F77 = gfortran
F77NO_OPTFLAGS =
F77FLAGS = $(F77NO_OPTFLAGS) -O
F77LOADER = $(F77)
F77LOADFLAGS =
CC = gcc
CCFLAGS = -O4
CCLOADER = $(CC)
CCLOADFLAGS =
# --------------------------------------------------------------------------
# The archiver and the flag(s) to use when building an archive (library).
# Also the ranlib routine. If your system has no ranlib, set RANLIB = echo.
# --------------------------------------------------------------------------
ARCH = ar
ARCHFLAGS = r
RANLIB = ranlib
#=============================================================================
#=============================== End SECTION 3 ===============================
#=============================================================================
DISTCC_DIR=~/.distccto /etc/profile and be sure to export the new variable as well
PATH=/usr/lib/distcc/bin:$PATH
#!/bin/sh
#
# Init file for Distccd - A distributed compilation front-end.
# WARNING: Don't enable on untrusted networks
#
# Written by Dag Wieers .
#
# chkconfig: - 80 20
# description: Distccd - distributed compilation front-end (daemon) # WARNING: Don't enable on untrusted networks
#
# processname: distccd
#
# config: /etc/sysconfig/distccd
source /etc/init.d/functions
source /etc/sysconfig/network
### Check that networking is up.
[ "${NETWORKING}" == "no" ] && exit 0
[ -x "/usr/local/bin/distccd" ] || exit 1
### Default variables
SYSCONFIG="/etc/sysconfig/distccd"
OPTIONS="--allow=0.0.0.0/0"
USER="nobody"
DISTCCPATH="$PATH"
### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
RETVAL=0
prog="distccd"
desc="Distributed Compiler daemon"
start() {
echo -n $"Starting $desc ($prog): "
PATH="$DISTCCPATH" daemon --user "$USER" $prog --daemon --log-file="/var/log/distccd.log" $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $"Shutting down $desc ($prog): "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
return $RETVAL
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
condrestart)
[ -e /var/lock/subsys/$prog ] && restart
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage $0 {start|stop|restart|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
NET_BOOT_DEFAULT = local in /etc/systemimager/systemimager.conf, will make an always-netboot client boot from the hard drive on next boot
monitord keeps logs of everything
Restart after doing this
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.0.254;
option subnet-mask 255.255.255.0;
option domain-name-servers 130.71.128.8;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range 192.168.0.128 192.168.0.252;
default-lease-time 21600;
max-lease-time 43200;
use-host-decl-names on;
host wolfhead {
hardware ethernet 00:03:47:9D:B2:76;
fixed-address 192.168.0.254;
}
host rockhead {
hardware ethernet 00:03:47:9D:B2:77;
fixed-address 192.168.0.253;
}
host wolf001 {
hardware ethernet 00:03:47:9B:93:82;
fixed-address 192.168.0.1;
}
host wolf002 {
hardware ethernet 00:03:47:9D:B2:7D;
fixed-address 192.168.0.2;
}
host wolf003 {
hardware ethernet 00:03:47:9C:99:59;
fixed-address 192.168.0.3;
}
host wolf004 {
hardware ethernet 00:03:47:9C:C2:E9;
fixed-address 192.168.0.4;
}
host wolf005 {
hardware ethernet 00:03:47:9C:AB:3B;
fixed-address 192.168.0.5;
}
}