diff options
Diffstat (limited to 'abs/core/live-installer/install_proxy.sh')
-rwxr-xr-x | abs/core/live-installer/install_proxy.sh | 481 |
1 files changed, 0 insertions, 481 deletions
diff --git a/abs/core/live-installer/install_proxy.sh b/abs/core/live-installer/install_proxy.sh deleted file mode 100755 index ec7f29c..0000000 --- a/abs/core/live-installer/install_proxy.sh +++ /dev/null @@ -1,481 +0,0 @@ -#!/bin/bash -#chroot and /tmp -MVHOSTNAME=mvi -. /etc/profile -TEMP_TEMPLATES=/tmp/templates -disk=$2 -rootfs=$3 -rootsize=$4 -datafs=$5 -datasize=$6 -swapsize=$7 -mountpoint="/new_boot" -run=$MV_ROOT/bin/install_functions.sh -. /etc/systemconfig 2>/dev/null -. $MV_ROOT/bin/networkconfig.sh -CMDLINE=$(cat /proc/cmdline) - -#TEMPNET="Hostip"$default_interface -#eval MYTHIP=\$${TEMPNET} - - -progress () { -mypercent=`echo "$1" | cut -d. -f1` -if [ x$mypercent = x ] -then -echo "" > /tmp/.install_percent -else -echo "${mypercent}% complete" > /tmp/.install_percent -fi - - -} - - - - -full_install () { - if [ -f /tmp/.this_is_upgrade ] - then - rm /tmp/.this_is_upgrade - fi - echo "Partitioning $disk" > /tmp/.install_state - progress 1 - sleep 1 - $run partition_it $disk $rootsize $datasize $swapsize - - echo "Formatting $disk" > /tmp/.install_state - progress 2 - sleep 1 - $run format_it $disk $rootfs $datafs - - echo "Preparing $disk" > /tmp/.install_state - progress 3 - sleep 1 - $run mount_it $disk - - startsize=`statgrab -M disk.|grep $disk.write_bytes|cut -d= -f 2|tr -d " "` - - echo "STARTSIZE=$startsize">/tmp/.startsize.io - echo "Installing data" > /tmp/.install_state - - sleep 1 - $run copy_it $disk ALL - rm $mountpoint/etc/fstab - $run fstab_fix_it $disk $rootfs $datafs FULL_INSTALL - - progress 99 - sleep 1 - $run grub_it $disk - - - echo "Configuring system" > /tmp/.install_state - progress 100 - sleep 1 - cp -f /etc/systemconfig "$mountpoint"/etc - #run save syssettings to save settings, then copy to new mountpoint - $MV_ROOT/bin/restore_default_settings.sh -c save -t syssettings -h $MVHOSTNAME -d 127.0.0.1 - SE=$TEMPLATES/settings/syssettings - mkdir -p ${mountpoint}$SE - cp -rp $SE/* ${mountpoint}$SE/ - chown root:mythtv "$mountpoint"/etc/systemconfig - chown -R mythtv:mythtv ${mountpoint}$SE - - chmod -R 775 ${mountpoint}$SE - chmod 775 "$mountpoint"/etc/systemconfig - #copy over any updates that might have occured - cp -f $MV_ROOT/bin/*.sh "$mountpoint"$MV_ROOT/bin/ - chmod -R 755 ${mountpoint}/root - cp /etc/mtab "$mountpoint"/etc/mtab - - - if [ $SystemType = "Master_backend" -o $SystemType = "Standalone" ] - then - #installing DB to local machine - #turn off old live database, so the chroot one can start - /etc/rc.d/mysqld stop - mount --bind /dev "$mountpoint/dev" - chroot "$mountpoint" "$MV_ROOT/bin/install_db_chroot.sh" > /tmp/chrootdb.out - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,this_is_install - echo "stopping mysql in chroot" - chroot "$mountpoint" /etc/rc.d/mysqld stop - umount "$mountpoint/dev" - - #/etc/rc.d/mysqld start - else - #update remotedb with this host settings - chroot "$mountpoint" DISPLAY=127.0.0.1:0 /usr/local/bin/MythVantage -t restore,default_1 - chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings - if [ ! $? = 0 ] - then - touch $mountpoint/tmp/.dbsysfailed - chmod 777 $mountpoint/tmp/.dbsysfailed - else - #Run second time - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,this_is_install - chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c ACCESSCONTROL - fi - fi - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh advanced - echo "Done" > /tmp/.install_state - cp /tmp/mythvantage_install.log $mountpoint/var/log/ - $run unmount_it $disk -} - -function createsquashlist(){ -if [ -f $1 ] -then - rm -f -$1 -fi -for i in bin boot etc home lib opt root sbin usr var -do -echo $i >> $1 -done - - -} - - - - -function upgrade () { - touch /tmp/.this_is_upgrade - - if [ ! x$rootfs = "xDo_not_format" ] - then - echo "Formatting $disk" > /tmp/.install_state - progress 2 - sleep 1 - $run format_it $disk $rootfs NO - fi - echo "Preparing $disk" > /tmp/.install_state - progress 3 - sleep 1 - $run mount_it $disk - startsize=`statgrab -M disk.|grep $disk.write_bytes|cut -d= -f 2|tr -d " "` - echo "STARTSIZE=$startsize">/tmp/.startsize.io - echo "Installing data" > /tmp/.install_state - sleep 1 - cp -rf /tmp/etc /new_boot/etc.old - cp -rf /tmp/oss /new_boot/var/lib/oss.old - #$run copy_it $disk bin.lzm,boot.lzm,etc.lzm,home.lzm,lib.lzm,opt.lzm,root.lzm,sbin.lzm,usr.lzm,var.lzm - SQUASHLIST="/tmp/.squashlist" - createsquashlist $SQUASHLIST - $run copy_it $disk $SQUASHLIST - #copy back ssh keys - - cp -rp /data/var/cache/pacman/pkg/* /new_boot/data/var/cache/pacman/pkg/ - cp -fp /new_boot/etc.old/ssh/*.pub /new_boot/etc/ssh/ - cp -fp /new_boot/etc.old/ssh/*.key /new_boot/etc/ssh/ - cp -fp /new_boot/etc.old/ssh/*key /new_boot/etc/ssh/ - - #funckeys - cadir=/etc/pki/func/ca - mv /new_boot/etc/pki /new_boot/etc/pki.new - cp -rp /new_boot/etc.old/pki /new_boot/etc/ - #passwd/shadow/group - cp -fp /new_boot/etc.old/passwd /new_boot/etc/ - cp -fp /new_boot/etc.old/shadow /new_boot/etc/ - cp -fp /new_boot/etc.old/group /new_boot/etc/ - - if [ x$rootfs = "xDo_not_format" ] - then - #rootfs=`grep ${disk}1 /tmp/etc/fstab |awk ' { print $3 } '` - rootfs=`grep \/\ /tmp/etc/fstab |awk ' { print $3 } '` - fi - #datafs=`grep ${disk}3 /tmp/etc/fstab |awk ' { print $3 } '` - datafs=`grep \/data /tmp/etc/fstab |awk ' { print $3 } '` - $run fstab_fix_it $disk $rootfs $datafs UPGRADE - - echo "Writing boot sector" > /tmp/.install_state - progress 99 - sleep 1 - $run grub_it $disk - - - echo "Configuring system" > /tmp/.install_state - progress - sleep 1 - cp /etc/mtab "$mountpoint"/etc/mtab - cp -f /etc/systemconfig "$mountpoint"/etc - cp -f $MV_ROOT/bin/*.sh "$mountpoint"$MV_ROOT/bin/ - chmod -R 755 ${mountpoint}/root - chown root:mythtv "$mountpoint"/etc/systemconfig - chmod 775 "$mountpoint"/etc/systemconfig - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,this_is_install - #wrap this in a network check_network, no need to update the db if the import worked. -##### do I need to start mysql? - chroot "$mountpoint" DISPLAY=127.0.0.1:0 /usr/local/bin/MythVantage -t restore,default_1 - chroot "$mountpoint" $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings - # - #Run second time - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,advanced,this_is_install - chroot "$mountpoint" $MV_ROOT/bin/systemconfig.sh advanced,this_is_install - - # fi - - echo "Done" > /tmp/.install_state - cp /tmp/mythvantage_install.log $mountpoint/var/log/ - $run unmount_it $disk -} - -function netboot-full_install () { - TEMPVAR=${CMDLINE#*nfsroot=} - NFSROOT=${TEMPVAR%% *} - NFSROOT=`echo $NFSROOT|cut -d: -f1` - MAC=`/sbin/ifconfig eth0|grep HWaddr| cut -d: -f2-|awk '{ print $3}'|tr : -` - URL="http://$NFSROOT:1337/diskless.py?HOSTNAME=$hostname&MAC=$MAC" - echo "calling $URL" - echo "Starting" > /tmp/.install_state - curl $URL - ${MV_ROOT}/bin/xconfig.sh -} - -function killdhcp () { -if [ -f /etc/dhcpc/dhcpcd-eth0.pid ] - then - pid=`cat /etc/dhcpc/dhcpcd-eth0.pid` - kill -9 $pid - rm -f /etc/dhcpc/dhcpcd-eth0.pid - rm -f /var/run/dhcpcd* - fi -if [ -f /var/run/dhcpcd-eth0.pid ] - then - pid=`cat /var/run/dhcpcd-eth0.pid` - kill -9 $pid - rm -f /var/run/dhcpcd-eth0.pid* - fi -ip address flush dev eth0 -} - - -# function vnc_check() { -# CMDLINE=$(cat /proc/cmdline) -# echo $CMDLINE |grep -q vnc -# USEVNC=$? -# echo $CMDLINE |grep -q nfsroot -# NETBOOT=$? -# echo $USEVNC -# if [ ! x$USEVNC = x0 ] -# then -# echo "not using vnc" -# if [ ! x$NETBOOT = x0 ] -# then -# echo "not using netboot" -# else -# echo "using netboot" -# USEVNC=0 -# fi -# -# else -# echo " using vnc" -# fi -# } - - -# function network_setup () { -# DEVICE=eth0 -# if [ ! -f /etc/systemconfig ] -# then -# exit 1 -# fi -# -# if [ ! x$USEVNC = x0 ] -# then -# echo "Resetting the network" -# killdhcp -# if [ $UseDHCP = 0 ] -# then -# /sbin/dhcpcd $DEVICE -# if [ ! $? = 0 ] -# then -# exit 2 -# fi -# fi -# else -# echo "using vnc/netboot, will not reset network" -# echo "nameserver $nameserver" > /etc/resolv.conf -# return 0 -# fi -# -# if [ $UseDHCP = 1 ] -# then -# -# /sbin/ifconfig $DEVICE $ip -# /sbin/route add default gw $route -# echo "nameserver $nameserver" > /etc/resolv.conf -# -# fi -# -# -# } - -function SANE_SYSETTINGS () { -sed -e '/HOSTrootfstype/d' \ - -e '/HOSTrootfstype/d' \ - -e '/HOSTdatafstype/d' \ - -e '/HOSTOSsize/d' \ - -e '/HostUseALLdata/d' \ - -e '/HOSTDATAsize/d' \ - -e '/HOSTuprootfstype/d' \ - -e '/HostUseSWAP/d' \ - -e '/HOSTSWAPsize/d ' /tmp/templates/settings/syssettings/settings.txt > /tmp/settings.new - mv /tmp/settings.new /tmp/templates/settings/syssettings/settings.txt -} - -case $1 in - full_install_it ) full_install ;; - - NETBOOT) -echo "-----------------------------------------------------------------------3-----" - netboot-full_install ;; - - find_update) - #TRY TO mount first partition of drive - #copy /etc/systemconfig to live, import settings into db - #umount drive - $run mount_it $disk - if [ -f /new_boot/etc/systemconfig ] - then - ###########ADD templates - mkdir -p $TEMP_TEMPLATES - cp -pr /new_boot/$TEMPLATES $TEMP_TEMPLATES - SANE_SYSETTINGS - cp -rp $TEMP_TEMPLATES/settings $TEMPLATES/ - - - cp /new_boot/etc/systemconfig /etc/systemconfig - cp -rf /new_boot/etc /tmp/etc - cp -rf /new_boot/var/lib/oss /tmp/oss - - $MV_ROOT/bin/restore_default_settings.sh -c restore -t syssettings -h $MVHOSTNAME -d 127.0.0.1 - fi - $run umount_it $disk - ;; - - upgrade_it) - #"$MV_ROOT/bin/install_proxy.sh upgrade_it " + install_drive + " " + rootfs + "&" - upgrade - - ;; - disk_model_it) - model="unknown" - size="xxx" - case $2 in - - h* ) - model=`cat /proc/ide/$2/model` - ;; - s*) model=`sginfo /dev/$2|grep Product|awk ' { print $2 } '` - ;; - esac - size=`parted /dev/$2 print |grep Disk|awk ' { print $3 } ' ` - - - echo ""$model" $size " >/tmp/model - - ;; - network_check_it) - #Should never return from check_network - case $2 in - setup_network) - vnc_check - install_network_setup - ;; - - check_self) - myipdefault=`ifconfig | grep -C1 $default_interface| grep -v $default_interface | cut -d: -f2 | awk '{ print $1}'` - ping -c 1 $myipdefault - if [ ! $? = 0 ] - then - exit 3 - #can't ping yourself - fi - ;; - check_gw) - #check gateway - mygwdefault=`/sbin/route |grep $default_interface|grep UG|awk '{ print $2}'` - if [ ! x$mygwdefault = x ] - then - ping -c 1 $mygwdefault - if [ ! $? = 0 ] - then - exit 4 - fi - fi - ;; - check_ns) - #check nameserver - mydns=`cat /etc/resolv.conf|grep nameserver|head -1|awk '{ print $2}'` - ping -c 1 $mydns - if [ ! $? = 0 ] - then - exit 5 - fi - ;; - check_names) - host google.com - if [ ! $? = 0 ] - then - exit 6 - fi - ;; - host_names) - host $hostname - if [ $? = 0 ] - then - exit 7 - fi - ;; - - esac - exit 0 - ;; - - - * ) - state=`cat /tmp/.install_state` - if [ x"${state}" = "xConfiguring system" ] - then - progress "" - else - - if [ -f /tmp/.startsize.io ] - then - . /tmp/.startsize.io - #finding the drive - ddrive=`df | grep $mountpoint | head -n1 | awk -F/ ' { print $3 } ' | cut -d" " -f 1|cut -b1,2,3 ` - used=`statgrab -M disk.|grep ${ddrive}.write_bytes|cut -d= -f 2|tr -d " "` - used=`echo $used-$STARTSIZE|bc` - #echo $used - fi - - if [ ! x$used = x ] - then - . /root/.install_size - #somehow find if it's an install or update - if [ -f /tmp/.this_is_upgrade ] - then - total=$UPGRADESIZE - else - total=$TOTALSIZE - fi - percent=`echo "scale=2 ; ($used/$total) * 100 " |bc ` - cond2=$(echo "$percent > 100" |bc ) - if [ $cond2 -eq 1 ] - then - percent=100 - fi - cond3=$(echo "$percent < 3" |bc ) - if [ $cond3 -eq 0 ] - then - progress $percent - fi - fi - fi - ;; -esac - - - |