Hello list,

I updated the mksles9root.sh script.  It now offers the following old and
new features:
-) Creates a SLES9 install tree for 31-bit or 64-bit .iso images per SuSE
docs
-) Creates a merged SLES9 install tree with SP1, SP2, or SP3 (new - SP3 is
still a release candidate)
-) Allows for loopback mounts via the -m or --mounts flag (new)
-) Allows for multiple trees by naming the root directory one of (new):
   sles9root/      - vanilla 31-bit
   sles9sp1root/   - SP1 31-bit
   sles9sp2root/   - SP2 31-bit
   sles9sp3root/   - SP3 31-bit
   sles9xroot/     - vanilla 64-bit
   sles9xsp1root/  - SP1 64-bit
   sles9xsp2root/  - SP2 64-bit
   sles9xsp3root/  - SP3 64-bit
-) Creates a merged patch directory (new) - this is a bit of a hack, but I
believe it works around a bug in the "patch CD Update" process described
in my last append. The file .../s390x/update/SUSE-CORE/9/patches/mediamap
is modified so the second record is always 1. Further, the directory is
merged under the tree roots (e.g. sles9xsp3root/s390x), rather than into
the CD1 directory  (e.g. sles9xsp3root/sp3-9/CD1/s390x). In this fasion,
your install tree and your patch update tree can be the same directory.

I've tested a fair number of permutations, but certainly not all.  I've
tested mostly with SP2, SP3 and 64-bit.  I tested installing via FTP
against a tree with loopback mounts rather than copied (an NFS install
against this tree will immediately fail unless your NFS server can cross
mount points).  It seemed to work fine after working around the
install-via-FTP-bug where a path name relative to the home directory is
required though an absolute path name is displayed (a workaround is to set
the FTP user's home directory to / so relative names == absolute names). I
tested with the --mounts flag when you run out of loopback devices - the
script cleans up the mess before it aborts.

The SP3 RC names hard coded are of the form
SLES-9-SP-3-s390x-RC3-CD[123].iso and SLES-9-SP-3-s390-RC3-CD[123].iso.
These will probably change when this service pack goes golden master, so
the script will have to change.  Maybe then I can work with Mark on
getting it hosted on linuxvm.org/patches.

But for a beta, I'll append the script right here.  Feedback is welcome.

"Mike MacIsaac" <[EMAIL PROTECTED]>   (845) 433-7061


----------------------cut here-----------------------
#!/bin/bash
#
# mksles9root.sh - a script to build a SLES9 install tree
#
----------------------------------------------------------------------------
# THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS
# OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
ANY
# WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
# OR FITNESS FOR A PARTICULAR PURPOSE.
# NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES
# (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY
THEORY
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
# DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
# HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
#
----------------------------------------------------------------------------
#

#+--------------------------------------------------------------------------+
function usage
# Give help
#+--------------------------------------------------------------------------+
 {
  scriptName=`basename $0`
  echo ""
  echo "$scriptName: Create a SLES9 install tree "
  echo ""
  echo "Usage: $scriptName [option] <arch>"
  echo "where [option] can be:"
  echo "    -m, --mounts "
  echo "        Mount ISO images loopback, don't copy"
  echo "where <arch> must be one of:"
  echo "    s390"
  echo "        For 31-bit SLES9 install tree"
  echo "    s390x"
  echo "        For 64-bit SLES9"
  echo ""
  echo "The 6 ISO images for vanilla SLES9 must exist in the current
directory"
  echo "If 3 SP3 ISO images exist, they will be built into the tree
sles9[x]sp1root/"
  echo "else if 3 SP2 ISO images exist, they will be built into the tree
sles9[x]sp2root/"
  echo "else if 2 SP1 ISO images exist, they will be built into the tree
sles9[x]sp3root/"
  echo "else the vanilla SLES9 tree will be sles9[x]root/"
  exit
 }

#+--------------------------------------------------------------------------+
function check_for_discs
# Check if the 6 SLES9 ISO images exist - if any are missing then exit
# Check for the 2 SLES9 SP1 and the 3 SP2 ISO images
# return:
#     0: Only the 6 SLES9 ISO images are found
#     1: The 2 SP1 ISO images are found
#     2: The 3 SP2 ISO images are found
#     3: The 3 SP3 ISO images are found
#+--------------------------------------------------------------------------+
 {
  for i in $cd1 $cd2 $cd3 $cd4 $cd5 $cd6; do # check for the 6 SLES9 ISO
images
    if [ ! -f $i ]; then
      echo "The file $i is not found"
      echo "Error: cannot proceed without the following 6 SLES9 ISO
images:"
      echo "$cd1"
      echo "$cd2"
      echo "$cd3"
      echo "$cd4"
      echo "$cd5"
      echo "$cd6"
      echo ""
      usage
    fi
  done
  retVal="0"
  if [[ -f $sp3cd1 && -f $sp3cd2 && -f $sp3cd3 ]]; then
    echo "SP3 ISO images found ..."
    retVal=3
  elif [[ -f $sp2cd1 && -f $sp2cd2 && -f $sp2cd3 ]]; then
    echo "SP2 ISO images found ..."
    retVal=2
  elif [[ -f $sp1cd1 && -f $sp1cd2 ]]; then # SP1 ISOs found
    echo "SP1 ISO images found ..."
    retVal=1
  fi
  return $retVal
 }

#+--------------------------------------------------------------------------+
function mount_copy
# Mount an ISO image over the directory tmpCD/ and copy its contents
#   arg 1: the ISO image to mount
#   arg 2: the temporary directory over which to mount
#   arg 3: the directory to copy to
#+--------------------------------------------------------------------------+
 {
  ISO_image=$1
  temp_dir=$2
  target_dir=$3
  echo "  Mounting and copying $ISO_image ..."
  mount -o loop,ro $ISO_image $temp_dir
  if [ $? != 0 ]; then # unable to mount
    echo "Error: unable to mount $ISO_image over $temp_dir - exiting"
    rmdir $temp_dir
    exit
  fi
  cd $temp_dir
  rsync -HlogptrS * ../$target_dir
  cd ..
  umount $temp_dir
 }

#+--------------------------------------------------------------------------+
function copy_CDs
# Mount and copy appropriate CDs
#   arg 1: service pack level (0 = vanilla)
#+--------------------------------------------------------------------------+
 {
  echo "Copying SLES9 ISO images ..."
  temp_dir=tmpCD
  if [ ! -d $temp_dir ]; then mkdir $temp_dir; fi
  mount_copy $cd1 $temp_dir $rdir/$sles/CD1/
  mount_copy $cd2 $temp_dir $rdir/$core/CD1/
  mount_copy $cd3 $temp_dir $rdir/$core/CD2/
  mount_copy $cd4 $temp_dir $rdir/$core/CD3/
  mount_copy $cd5 $temp_dir $rdir/$core/CD4/
  mount_copy $cd6 $temp_dir $rdir/$core/CD5/
  if [ $1 = 1 ]; then # then SP1 ISO images exist
    echo "Copying SLES9 SP1 ISO images ..."
    mount_copy $sp1cd1 $temp_dir $rdir/$sp1/CD1
    mount_copy $sp1cd2 $temp_dir $rdir/$sp1/CD2
  elif [ $1 = 2 ]; then # then SP2 ISO images exist
    echo "Copying SLES9 SP2 ISO images ..."
    mount_copy $sp2cd1 $temp_dir $rdir/$sp2/CD1
    mount_copy $sp2cd2 $temp_dir $rdir/$sp2/CD2
    mount_copy $sp2cd3 $temp_dir $rdir/$sp2/CD3
  elif [ $1 = 3 ]; then # then SP3 ISO images exist
    echo "Copying SLES9 SP3 ISO images ..."
    mount_copy $sp3cd1 $temp_dir $rdir/$sp3/CD1
    mount_copy $sp3cd2 $temp_dir $rdir/$sp3/CD2
    mount_copy $sp3cd3 $temp_dir $rdir/$sp3/CD3
  fi
  echo "Removing temporary mount point ..."
  rmdir $temp_dir
 }

#+--------------------------------------------------------------------------+
function mk_directory_structure
# Make the directory structure
#   arg 1: service pack level (0 = vanilla)
# The directory structure is as follows:
# /sles9root/
#     boot -> sles9/CD1/boot
#     content -> sles9/CD1/content
#     control.xml -> sles9/CD1/control.xml
#     media.1 -> sles9/CD1/media.1
#     core9/
#         CD1/
#         CD2/
#         CD3/
#         CD4/
#         CD5/
#     sles9/
#         CD1/
#     sp1-9/       // if the 2 SP1 ISO images exist
#         CD1/
#         CD2/
#     sp2-9/       // if the 3 SP2 ISO images exist
#         CD1/
#         CD2/
#         CD3/
#     sp3-9/       // if the 3 SP3 ISO images exist
#         CD1/
#         CD2/
#         CD3/
#     yast/
#         instorder
#         order
#+--------------------------------------------------------------------------+
 {
  echo "Making the directory structure ..."
  if [ -d $rdir ]; then # the subdirectory already exists - don't
overwrite it
    echo "Error: root directory $rdir exists - must be removed first (rm
-fr $rdir)"
    exit
  fi
  if [ ! -d $rdir/$sles/CD1 ]; then mkdir -p $rdir/$sles/CD1; fi
  if [ ! -d $rdir/$core/CD1 ]; then mkdir -p $rdir/$core/CD1; fi
  if [ ! -d $rdir/$core/CD2 ]; then mkdir -p $rdir/$core/CD2; fi
  if [ ! -d $rdir/$core/CD3 ]; then mkdir -p $rdir/$core/CD3; fi
  if [ ! -d $rdir/$core/CD4 ]; then mkdir -p $rdir/$core/CD4; fi
  if [ ! -d $rdir/$core/CD5 ]; then mkdir -p $rdir/$core/CD5; fi
  if [ ! -d $rdir/yast ]; then mkdir -p $rdir/yast; fi
  if [ $1 = 1 ]; then # SP1 ISO images exist
    if [ ! -d $rdir/$sp1/CD1 ]; then mkdir -p $rdir/$sp1/CD1; fi
    if [ ! -d $rdir/$sp1/CD2 ]; then mkdir -p $rdir/$sp1/CD2; fi
  elif [ $1 = 2 ]; then # SP2 ISO images exist
    if [ ! -d $rdir/$sp2/CD1 ]; then mkdir -p $rdir/$sp2/CD1; fi
    if [ ! -d $rdir/$sp2/CD2 ]; then mkdir -p $rdir/$sp2/CD2; fi
    if [ ! -d $rdir/$sp2/CD3 ]; then mkdir -p $rdir/$sp2/CD3; fi
  elif [ $1 = 3 ]; then # SP3 ISO images exist
    if [ ! -d $rdir/$sp3/CD1 ]; then mkdir -p $rdir/$sp3/CD1; fi
    if [ ! -d $rdir/$sp3/CD2 ]; then mkdir -p $rdir/$sp3/CD2; fi
    if [ ! -d $rdir/$sp3/CD3 ]; then mkdir -p $rdir/$sp3/CD3; fi
  fi
 }

#+--------------------------------------------------------------------------+
function mk_symbolic_links
# Make symbolic links as specified in the SLES9 install manual
#   arg 1: service pack level (0 = vanilla)
#+--------------------------------------------------------------------------+
 {
  echo "Making symbolic links ..."
  cd $rdir
  ln -fs $sles/CD1/boot boot
  ln -fs $sles/CD1/content content
  ln -fs $sles/CD1/control.xml control.xml
  ln -fs $sles/CD1/media.1 media.1
  if [ $1 = 1 ]; then # the SP1 ISO images exist
    ln -fs $sp1/CD1/driverupdate
    ln -fs $sp1/CD1/linux
  elif [ $1 = 2 ]; then # the SP2 ISO images exist
    ln -fs $sp2/CD1/driverupdate
    ln -fs $sp2/CD1/linux
  elif [ $1 = 3 ]; then # the SP3 ISO images exist
    ln -fs $sp3/CD1/driverupdate
    ln -fs $sp3/CD1/linux
  fi
  cd ..
 }

#+--------------------------------------------------------------------------+
function clean_mounts
# Clean up loopback mount points
#   arg 1: service pack level (0 = vanilla)
#+--------------------------------------------------------------------------+
 {
  echo "Cleaning up mount points ..."
  umount $rdir/$sles/CD1/
  umount $rdir/$core/CD1/
  umount $rdir/$core/CD2/
  umount $rdir/$core/CD3/
  umount $rdir/$core/CD4/
  umount $rdir/$core/CD5/
# check for Service Packs
  if [ $1 = 1 ]; then # then SP1 ISO images exist
    umount $rdir/$sp1/CD1/
    umount $rdir/$sp1/CD2/
  elif [ $1 = 2 ]; then # then SP2 ISO images exist
    umount $rdir/$sp2/CD1/
    umount $rdir/$sp2/CD2/
    umount $rdir/$sp2/CD3/
  elif [ $1 = 3 ]; then # then SP3 ISO images exist
    umount $rdir/$sp3/CD1/
    umount $rdir/$sp3/CD2/
    umount $rdir/$sp3/CD3/
  fi
  echo "Cleaning up remains of $rdir ..."
  rm -fr $rdir
  echo "Cleaned up - exiting"
  echo "You may need more loopback devices"
  exit
 }

#+--------------------------------------------------------------------------+
function mount_CDs
# Check that the 6 ISO images exist then mount and copy them
#   arg 1: service pack level (0 = vanilla)
#+--------------------------------------------------------------------------+
 {
  echo "Mounting ISO images loopback ..."
  echo "  Mounting $rdir/$sles/CD1/ ..."
  mount -o loop,ro $cd1 $rdir/$sles/CD1/
  if [ $? -ne 0 ]; then clean_mounts $1; fi
  echo "  Mounting $rdir/$core/CD1/ ..."
  mount -o loop,ro $cd2 $rdir/$core/CD1/
  if [ $? -ne 0 ]; then clean_mounts $1; fi
  echo "  Mounting $rdir/$core/CD2/ ..."
  mount -o loop,ro $cd3 $rdir/$core/CD2/
  if [ $? -ne 0 ]; then clean_mounts $1; fi
  echo "  Mounting $rdir/$core/CD3/ ..."
  mount -o loop,ro $cd4 $rdir/$core/CD3/
  if [ $? -ne 0 ]; then clean_mounts $1; fi
  echo "  Mounting $rdir/$core/CD4/ ..."
  mount -o loop,ro $cd5 $rdir/$core/CD4/
  if [ $? -ne 0 ]; then clean_mounts $1; fi
  echo "  Mounting $rdir/$core/CD5/ ..."
  mount -o loop,ro $cd6 $rdir/$core/CD5/
  if [ $? -ne 0 ]; then clean_mounts $1; fi

# check for Service Packs
  if [ $1 = 1 ]; then # then SP1 ISO images exist
    echo "Mounting SLES9 SP1 ISO images loopback ..."
    echo "  Mounting $rdir/$sp1/CD1/ ..."
    mount -o loop,ro $sp1cd1 $rdir/$sp1/CD1
    if [ $? -ne 0 ]; then clean_mounts $1; fi
    echo "  Mounting $rdir/$sp1/CD2/ ..."
    mount -o loop,ro $sp1cd2 $rdir/$sp1/CD2
    if [ $? -ne 0 ]; then clean_mounts $1; fi
  elif [ $1 = 2 ]; then # then SP2 ISO images exist
    echo "Mounting SLES9 SP2 ISO images loopback ..."
    echo "  Mounting $rdir/$sp2/CD1/ ..."
    mount -o loop,ro $sp2cd1 $rdir/$sp2/CD1
    if [ $? -ne 0 ]; then clean_mounts $1; fi
    echo "  Mounting $rdir/$sp2/CD2/ ..."
    mount -o loop,ro $sp2cd2 $rdir/$sp2/CD2
    if [ $? -ne 0 ]; then clean_mounts $1; fi
    echo "  Mounting $rdir/$sp2/CD3/ ..."
    mount -o loop,ro $sp2cd3 $rdir/$sp2/CD3
    if [ $? -ne 0 ]; then clean_mounts $1; fi
  elif [ $1 = 3 ]; then # then SP3 ISO images exist
    echo "Mounting SLES9 SP3 ISO images loopback ..."
    echo "  Mounting $rdir/$sp3/CD1/ ..."
    mount -o loop,ro $sp3cd1 $rdir/$sp3/CD1
    if [ $? -ne 0 ]; then clean_mounts $1; fi
    echo "  Mounting $rdir/$sp3/CD2/ ..."
    mount -o loop,ro $sp3cd2 $rdir/$sp3/CD2
    if [ $? -ne 0 ]; then clean_mounts $1; fi
    echo "  Mounting $rdir/$sp3/CD3/ ..."
    mount -o loop,ro $sp3cd3 $rdir/$sp3/CD3
    if [ $? -ne 0 ]; then clean_mounts $1; fi
  fi
 }

#+--------------------------------------------------------------------------+
function mk_order_files
# Create yast/instorder and yast/order files per SLES Install manual
#   arg 1: service pack level (0 = vanilla)
#+--------------------------------------------------------------------------+
 {
  echo "Creating yast/*order files ..."
  cd $rdir
  if [ $1 = 0 ]; then # the SP1 ISO images exist - add 3 entries
    echo "  Creating files for SLES9..."
    echo -e "/$sles/CD1 /$sles/CD1" > yast/instorder
    echo -e "/$core/CD1 /$core/CD1" >> yast/instorder
  elif [ $1 = 1 ]; then # the SP1 ISO images do not exist - add 2 entries
    echo "  Creating files for SLES9 + SP1..."
    echo -e "/$sp1/CD1 /$sp1/CD1" > yast/instorder
    echo -e "/$sles/CD1 /$sles/CD1" >> yast/instorder
    echo -e "/$core/CD1 /$core/CD1" >> yast/instorder
  elif [ $1 = 2 ]; then # the SP2 ISO images do not exist - add 2 entries
    echo "  Creating files for SLES9 + SP2..."
    echo -e "/$sp2/CD1 /$sp2/CD1" > yast/instorder
    echo -e "/$sles/CD1 /$sles/CD1" >> yast/instorder
    echo -e "/$core/CD1 /$core/CD1" >> yast/instorder
  elif [ $1 = 3 ]; then # the SP3 ISO images do not exist - add 2 entries
    echo "  Creating files for SLES9 + SP3..."
    echo -e "/$sp3/CD1 /$sp3/CD1" > yast/instorder
    echo -e "/$sles/CD1 /$sles/CD1" >> yast/instorder
    echo -e "/$core/CD1 /$core/CD1" >> yast/instorder
  fi
  cp yast/instorder yast/order
  cd ..
 }

#+--------------------------------------------------------------------------+
function merge_patches
# Merge patches from $rdir/sp-<n>/CD[1-3]/s390[x]/update/SUSE_CORE/9 to
$rdir
#   arg 1: service pack level
#+--------------------------------------------------------------------------+
 {
  echo "Merging patches for service pack $1 ..."
  cd $rdir
  if [ $1 = 1 ]; then # merge service pack 1
    for i in 1 2; do
      rsync -HlogptrS $sp1/CD$i/$arch .
      rm -fr $sp1/CD$i/$arch
    done
  elif [ $1 = 2 ]; then # merge service pack 2
    for i in 1 2; do
      rsync -HlogptrS $sp2/CD$i/$arch .
      if [ $mounts = "no" ]; then rm -fr $sp2/CD$i/$arch; fi
    done
    echo "Hacking mediamap file for service pack $1 ..."
    cd $arch/update/SUSE-CORE/9/patches
    cp mediamap mediamap.orig
    sed -e 's/ 2/ 1/g' mediamap.orig > mediamap
    cd ../../../../..
  elif [ $1 = 3 ]; then # merge service pack 3
    for i in 1 2; do
      rsync -HlogptrS $sp3/CD$i/$arch .
      if [ $mounts = "no" ]; then rm -fr $sp3/CD$i/$arch; fi
    done
    echo "Hacking mediamap file for service pack $1 ..."
    cd $arch/update/SUSE-CORE/9/patches
    cp mediamap mediamap.orig
    sed -e 's/ 2/ 1/g' mediamap.orig > mediamap
    cd ../../../../..
  fi
  cd $arch/update
  ln -fs SUSE-CORE SUSE-SLES
  cd ..
 }

#+--------------------------------------------------------------------------+
function process_args
#
#   args: all arguments passed to the script - valid values are:
#     s390     31-bit architecture
#     s390x    64-bit architecture
#     -m       use loopback mounts for CDs, don't copy
#     --mounts use loopback mounts for CDs, don't copy
#+--------------------------------------------------------------------------+
 {
  while (( "$#" )); do
    case $1 in
      "s390")
        arch=$1
        ;;
      "s390x")
        arch=$1
        ;;
      "-m")
        mounts="yes"
        ;;
      "--mounts")
        mounts="yes"
        ;;
      *)
        echo "Error: Unrecognized parameter: $1"
        usage
    esac
    shift
  done # while there are more parms
 }

# main() - mainline code starts here - modify file names below if
necessary
mounts="no"
arch="not set"
process_args $@
if [[ $arch = "s390" ]]; then # set the SLES9 s390 .iso file names
# hard-coded file names for the 6 31-bit SLES9 CD .iso images
  cd1="SLES-9-s390-RC5a-CD1.iso"
  cd2="SLES-9-s390-RC5-CD2.iso"
  cd3="SLES-9-s390-RC5-CD3.iso"
  cd4="SLES-9-s390-RC5-CD4.iso"
  cd5="SLES-9-s390-RC5-CD5.iso"
  cd6="SLES-9-s390-RC5-CD6.iso"
# hard-coded file names for the 2 31-bit SLES9 Service Pack 1 CD .iso
images
  sp1cd1="SLES-9-SP-1-s390-RC5-CD1.iso"
  sp1cd2="SLES-9-SP-1-s390-RC5-CD2.iso"
# hard-coded file names for the 3 31-bit SLES9 Service Pack 2 CD .iso
images
  sp2cd1="SLES-9-SP-2-s390-GM-CD1.iso"
  sp2cd2="SLES-9-SP-2-s390-GM-CD2.iso"
  sp2cd3="SLES-9-SP-2-s390-GM-CD3.iso"
# hard-coded file names for the 3 31-bit SLES9 Service Pack 3 CD .iso
images
  sp3cd1="SLES-9-SP-3-s390-RC3-CD1.iso"
  sp3cd2="SLES-9-SP-3-s390-RC3-CD2.iso"
  sp3cd3="SLES-9-SP-3-s390-RC3-CD3.iso"
elif [[ $arch = "s390x" ]]; then # set the SLES9 s390x .iso file names
# hard-coded file names for the 6 64-bit SLES9 CD .iso images
  cd1="SLES-9-s390x-RC5a-CD1.iso"
  cd2="SLES-9-s390x-RC5-CD2.iso"
  cd3="SLES-9-s390x-RC5-CD3.iso"
  cd4="SLES-9-s390x-RC5-CD4.iso"
  cd5="SLES-9-s390x-RC5-CD5.iso"
  cd6="SLES-9-s390x-RC5-CD6.iso"
# hard-coded file names for the 2 64-bit SLES9 Service Pack 1 CD .iso
images
  sp1cd1="SLES-9-SP-1-s390x-RC5-CD1.iso"
  sp1cd2="SLES-9-SP-1-s390x-RC5-CD2.iso"
# hard-coded file names for the 3 64-bit SLES9 Service Pack 2 CD .iso
images
  sp2cd1="SLES-9-SP-2-s390x-GM-CD1.iso"
  sp2cd2="SLES-9-SP-2-s390x-GM-CD2.iso"
  sp2cd3="SLES-9-SP-2-s390x-GM-CD3.iso"
# hard-coded file names for the 3 31-bit SLES9 Service Pack 3 CD .iso
images
  sp3cd1="SLES-9-SP-3-s390x-RC3-CD1.iso"
  sp3cd2="SLES-9-SP-3-s390x-RC3-CD2.iso"
  sp3cd3="SLES-9-SP-3-s390x-RC3-CD3.iso"
else # the one required parameter is not correct - give help
  echo "Error: Missing parameter 's390' or 's390x'"
  usage
fi
# set the directory names that will be created beneath the root
sles="sles9"
core="core9"
sp1="sp1-9"
sp2="sp2-9"
sp3="sp3-9"

echo "Making a SLES9 install tree ..."
check_for_discs
spLevel=$?
if [ $arch = "s390" ]; then
  rdir="sles9"
else
  rdir="sles9x"
fi
if [ $spLevel = 0 ]; then
  rdir="$rdir""root"  # the subdirectory in which the SLES9 install tree
will be built
  echo "The tree named $rdir/ will be SLES9 without any service packs ..."
elif [ $spLevel = 1 ]; then
  rdir="$rdir""sp1root"  # the subdirectory in which the SLES9 install
tree will be built
  echo "The tree named $rdir/ will be SLES9 + SP1 ..."
elif [ $spLevel = 2 ]; then
  rdir="$rdir""sp2root"  # the subdirectory in which the SLES9 install
tree will be built
  echo "The tree named $rdir/ will be SLES9 + SP2 ..."
elif [ $spLevel = 3 ]; then
  rdir="$rdir""sp3root"  # the subdirectory in which the SLES9 install
tree will be built
  echo "The tree named $rdir/ will be SLES9 + SP3 ..."
fi
mk_directory_structure $spLevel
if [ $mounts = "no" ]; then
  copy_CDs $spLevel
else # use loopback mounts
  mount_CDs $spLevel
fi
mk_symbolic_links $spLevel
mk_order_files $spLevel
if [ $spLevel > 0 ]; then # merge the patches for the SP into
$rdir/s390x/update/SUSE-CORE
  merge_patches $spLevel
fi
echo "The install tree is built under $rdir/"

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to