diff options
author | James Meyer <James.meyer@operamail.com> | 2008-10-02 03:19:12 (GMT) |
---|---|---|
committer | James Meyer <James.meyer@operamail.com> | 2008-10-02 03:19:12 (GMT) |
commit | 0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a (patch) | |
tree | c0aa2c0b53c317be87eacfcb77b63f53f1f415e7 /abs/core-testing/live-installer/build_diskless.sh | |
download | linhes_pkgbuild-0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a.zip linhes_pkgbuild-0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a.tar.gz linhes_pkgbuild-0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a.tar.bz2 |
initial import
Diffstat (limited to 'abs/core-testing/live-installer/build_diskless.sh')
-rwxr-xr-x | abs/core-testing/live-installer/build_diskless.sh | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/abs/core-testing/live-installer/build_diskless.sh b/abs/core-testing/live-installer/build_diskless.sh new file mode 100755 index 0000000..4dfd5fc --- /dev/null +++ b/abs/core-testing/live-installer/build_diskless.sh @@ -0,0 +1,143 @@ +#!/bin/bash +#CD=/mnt/cd +. /etc/profile +. /etc/systemconfig + +TFTP=/data/srv/tftp +CD=/data/srv/tftp/live +DESTCD=/data/srv/tftp/CD +BASE=/data/srv/tftp/masterbuild + +MODULES=$DESTCD/MythVantage/base/ +myip=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'|head -n1` +SRCFILES=$BASE/mnt/live/mnt/MythVantage/base/ + +function log () { +echo $1 +} + +function check_xvfb () { +export DISPLAY=127.0.0.1:25 + Xvfb -ac :25 & + +} + + +function create_base_image() { +echo $SRCFILES +if [ -f $SRCFILES/data.lzm ] +then + mkdir $HOST_IMG_DIR + cd $SRCFILES + echo "Creating image.." > $BASE/tmp/.install_state + LIST=`ls *.lzm` + for i in $LIST + do + echo $i + echo $i > $BASE/tmp/.install_percent + lzm2dir $i \/$HOST_IMG_DIR + done + + for i in sys proc dev tmp + do + mkdir /$HOST_IMG_DIR/$i + done + + chmod 777 /$HOST_IMG_DIR/tmp + mknod /$HOST_IMG_DIR/dev/null c 1 3 + mknod /$HOST_IMG_DIR/dev/null c 1 5 + mknod /$HOST_IMG_DIR/dev/console c 5 1 + chmod +s /$HOST_IMG_DIR/usr/bin/Xorg + chmod +s /$HOST_IMG_DIR/usr/bin/crontab + chmod +s /$HOST_IMG_DIR/usr/bin/sudo + chmod +s /$HOST_IMG_DIR/bin/mount + #copy fstab from masterbuild + cp -f $BASE/etc/fstab /$HOST_IMG_DIR/etc/fstab + echo "Done: installing data" > $BASE/tmp/.install_state + return 0 +else + echo "Error: no modules" > $BASE/tmp/.install_state + log "couldn't find modules to install" + return 1 +fi +} + +function configure_image () { + echo "Configuring system" > $BASE/tmp/.install_state + cp -f $BASE/etc/systemconfig $HOST_IMG_DIR/etc/systemconfig + chown root:mythtv $HOST_IMG_DIR/etc/systemconfig + chmod 775 "$HOST_IMG_DIR" /etc/systemconfig + cp /etc/mtab $HOST_IMG_DIR/etc/mtab + mount --bind /dev $HOST_IMG_DIR/dev + + chroot "$HOST_IMG_DIR" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,this_is_install +#copy syssettings template to here. + SE=$BASE$TEMPLATES/settings/syssettings + mkdir -p $HOST_IMG_DIR/$TEMPLATES/settings/syssettings + cp -rp $SE/* ${HOST_IMG_DIR}/$TEMPLATES/settings/syssettings + chown root:mythtv $HOST_IMG_DIR/etc/systemconfig + chown -R mythtv:mythtv $HOST_IMG_DIR/$TEMPLATES/settings/syssettings + chmod -R 775 $HOST_IMG_DIR/$TEMPLATES/settings/syssettings +#update remotedb with this host settings + OLDDISPLAY=$DISPLAY + check_xvfb + chroot $HOST_IMG_DIR $MV_ROOT/bin/MythVantage -t restore,default_1 + chroot $HOST_IMG_DIR $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 "$HOST_IMG_DIR" $MV_ROOT/bin/systemconfig.sh misc,hostype,network,this_is_install + chroot "$HOST_IMG_DIR" $MV_ROOT/bin/restore_default_settings.sh -c ACCESSCONTROL + fi +chroot "$HOST_IMG_DIR" $MV_ROOT/bin/systemconfig.sh advanced,this_is_install +cp -f $BASE/etc/X11/xorg.conf $HOST_IMG_DIR/etc/X11/xorg.conf +echo "Done" > $BASE/tmp/.install_state +DISPLAY=$OLDDISPLAY + +#cp /tmp/mythvantage_install.log $HOST_IMG_DIR/var/log/ +} + +function create_tftp_boot () { + + CFGFILE=$TFTP/pxelinux.cfg/01-$2 + echo "DEFAULT mythfe" > $CFGFILE + echo "LABEL mythfe" >> $CFGFILE + echo "kernel masterbuild/boot/vmlinuz26STB" >> $CFGFILE + echo "append vga=normal root=/dev/nfs rw netboot nfsroot=$myip:/data/srv/tftp/$1 ip=dhcp init=/sbin/runit" >> $CFGFILE + echo "TIMEOUT 2" >> $CFGFILE +} + +function create_nfs_export () { +echo "/data/srv/tftp/$1 *(rw,no_root_squash,anonuid=1000,anongid=1000) " >> /etc/exports +exportfs -arv +} + +#-------------------------------------------------------------------------------MAIN PROGRAM --------------------------------------------------------------------- +if [ x$1 = x -o x$2 = x ] +then + echo "usage: hostname macaddress" + exit 1 +fi + +image_name=$1 +mac_address=`echo $2| tr "[:upper:]" "[:lower:]"` + +echo "using image_name of $image_name" +echo "using mac_address of $mac_address" + +HOST_IMG_DIR=$TFTP/$1 + +create_base_image $image_name +configure_image +umount $HOST_IMG_DIR/dev +create_tftp_boot $image_name $mac_address +create_nfs_export $image_name + + + + +#create_dhcp_entry $mac_address + |