ViitorInstall/install_system
kueller 330c1fe19d V961 Tree Umbau
git-svn-id: svn://svn.compuextreme.de/Viitor/V961/ViitorInstall@4265 504e572c-2e33-0410-9681-be2bf7408885
2008-05-03 16:58:48 +00:00

170 lines
3.9 KiB
Bash

#!/bin/bash
# Monsum Installation Script - für Unattendet Installation
# (c) 2001 by RainMaer MultiMedia OHG Bamberg
#
#$Author$
#$Date$
#$Revision$
#
#$Log$
#Revision 1.3 2003/02/18 15:29:21 kueller
#Kommando Argument Auswertung auf getopts umgestellt
#
#Revision 1.2 2002/05/15 15:16:45 hkueller
#Installationsfunktion installpkg entfernt - wird nun durch neues installpkg
#script ersetzt
#
#Revision 1.1.1.1 2001/09/23 17:50:40 kueller
#Neustart wg. Datenverlust
#
#Revision 1.2 2001/09/14 13:01:17 kueller
#Umsetzung der Unattendet Installation auf Monsum 3 CD System (ab 920)
#Aktuell: Installation der Basis Tools sollte Funktionieren,
#Installation der Packete auf Tools oder X11 CD noch nicht berücksichtigt
#
#Revision 1.1.1.1 2001/08/06 22:09:47 kueller
#Aufnahme in CVS Überwachung
#
#
CURRDIR=`pwd`
cd ..
SOURCE=`pwd`
KERNEL=`uname -r`
STAGE2=0
USAGE="$0 [-d installdir] [-c cfgdir] [-m cfgdevice] [-f]"
source $SOURCE/install/.function
while getopts :d:c:m:fh opt_char; do
case $opt_char in
d)
INSTALLDIR=$OPTARG
;;
c)
CFG=$OPTARG
;;
m)
MEDIASRC=$OPTARG
;;
f)
STAGE2=1
;;
h)
echo $USAGE
echo "where:"
echo "-d - Root der neuen Installation angeben"
echo "-c - Wenn Konfiguraion ueber Filesystem erreichbar ist - Pfad angeben"
echo "-m - Pfad zu Medium auf welchem die Konfiguration gespeichert wurde"
echo "-f - Installation Schritt 2 starten (erfolgt normalerweise automatisch"
echo " nach 1. reboot"
exit
;;
\?)
echo "$OPTARG ist keine erlaubte Option"
echo
echo $USAGE
exit
;;
esac
done
if [ -d $CFG ]; then
CFGFILE=`basename $CFG`.cfg
XPATH=`dirname $CFG`
NAME=`basename $CFG`
CFGDIR=$CFG
touch /tmp/NOQUEST
else
if [ -d /tmp/`basename $CFG` ]; then
CFGFILE=`basename $CFG`.cfg
XPATH=/tmp
NAME=`basename $CFG`
CFGDIR=/tmp/$NAME
touch /tmp/NOQUEST
else
echo "Config $CFG konnte nicht gefunden werden"
exit 10
fi
fi
echo "CFGDIR=$CFGDIR"
echo "CFGFILE=$CFGFILE"
echo "XPATH=$XPATH"
echo "NAME=$NAME"
echo "CFGDIR=$CFGDIR"
if [ -d $CFGDIR ]; then
for i in $CFGDIR/*.sfdiskout; do
DISK=/dev/discs/`basename $i|sed -e "s/.sfdiskout//"`/disc
sfdisk $DISK <$i
done
make_FileSystem $CFGDIR $1
fi
echo -n "Erstelle Directory Struktur"
$DEBUG install/.basedirs $1
print_status success
cd $INSTALLDIR
if [ ! -d $INSTALLDIR/var/install ]; then
echo -n "Erstelle install Info Verzeichniss"
mkdir -p $INSTALLDIR/var/install
chwon root:root $INSTALLDIR/var/install
chmod 750 $INSTALLDIR/var/install
print_status success
fi
for i in `cat $CFGDIR/$CFGFILE`; do
if [ `dirname $i` == "Base" ] && [ STAGE2=0 ]; then
installpkg -m $INSTALLDIR -i $SOURCE/$i
fi
done
if [ -d $CFGDIR ]; then
for i in $SOURCE/install/cfg_modules/*; do
if [ -f $INSTALLDIR/var/install/`basename $i`* ]; then
PKG=`basename $i`
PKG=`basename /var/install/$PKG*`
if [ ! -f /var/install/$PKG.cfg]; then
export XPATH NAME
echo -n "Konfiguriere $PKG"
$i r $INSTALLDIR
print_status success
touch /var/install/$PKG.cfg
fi
fi
done
echo -n "Zuruecksichern von fstab, lilo.conf und loadmods"
$DEBUG cp $XPATH/$NAME/fstab $INSTALLDIR/etc
$DEBUG cp $XPATH/$NAME/lilo.conf $INSTALLDIR/etc
$DEBUG cp $XPATH/$NAME/loadmods $INSTALLDIR/etc/sysconfig
print_status success
fi
if [ -d $CFGDIR ]; then
if [ -d $CFGDIR/kernel ]; then
$DEBUG cp -rp $CFGDIR/kernel/modules/* $INSTALLDIR/lib/modules
for i in $CFGDIR/kernel/*; do
if [ -f $i ]; then
$DEBUG cp $i $INSTALLDIR/boot
fi
done
fi
#$DEBUG sed -e "s/\/boot/\/`basename $INSTALLDIR`\/boot/" \
#$INSTALLDIR/etc/lilo.conf >/tmp/lilo.conf
if [ ! -f /boot/vmlinuz ]; then
$DEBUG ln -s $INSTALLDIR/boot /boot
fi
if [ ! -f /boot/vmlinuz.old ]; then
$DEBUG cp /boot/vmlinuz $INSTALLDIR/boot/vmlinuz.old
fi
$DEBUG $INSTALLDIR/sbin/lilo -r $INSTALLDIR -C /tmp/lilo.conf
else
install_kernel $INSTALLDIR
make_boot $INSTALLDIR
fi