--- trunk/create-clonezilla-sysresccd/patch-clonezilla-sysresccd.sh 2010/08/13 08:30:37 93 +++ trunk/create-clonezilla-sysresccd/patch-clonezilla-sysresccd.sh 2010/09/10 18:39:43 105 @@ -85,7 +85,7 @@ } function isClonezillaSysRescCDRunning(){ -if [ -e /live/image/README.txt ] || [ -e /mnt/livecd/README.txt ];then +if [ -e /live/image/restorecd/what-cd ] || [ -e /restorecd/what-cd ];then ClonezillaSysRescCDRunning='y' fi } @@ -94,6 +94,8 @@ function cleanUp(){ cd echo -n "Cleanning up... " +[ -z "$inputFileMounted" ] || umount "$mountPoint" 2>/dev/null +[ -z "$savePartitionMounted" ] || umount "$savePartition" 2>/dev/null [ -z "$mountPointCreated" ] || rmdir "$mountPoint" 2>/dev/null [ -z "$newIsoCreated" ] || { [ -z "$keepFiles" ] && rm -rf "$savePartitionMountPoint"/new-iso 2>/dev/null @@ -102,8 +104,6 @@ rmdir "$savePartitionMountPoint"/new-iso 2>/dev/null rmdir "$savePartitionMountPoint" 2>/dev/null } -[ -z "$inputFileMounted" ] || umount "$mountPoint" 2>/dev/null -[ -z "$savePartitionMounted" ] || umount "$savePartition" 2>/dev/null echo "done" } @@ -143,7 +143,7 @@ # # ############################################################################## if [ -z "$workingFromCD" ];then - genisoimage --version >/dev/null 2>&1 && MKISO=genisoimage || MKISO=mkisofs + genisoimage --version >/dev/null 2>&1 && MKISO=genisoimage || MKISO=mkisofs savePartitionMountPoint=/root/tmp/savePartition.$$ else MKISO=genisoimage @@ -189,7 +189,6 @@ ####### Script starts here ####### -# set -x while getopts ":i:o:s:r:t:fp:bdwnvhl:k:" Option do case $Option in @@ -305,7 +304,7 @@ # Check parameters [ -z "$inputFile" ] && { - echo " Error: Parameter -i (input file) not specified!!!" + printHelp exit 1 } [ -z "$mainSplash" ] || { @@ -334,7 +333,6 @@ # echo " Error: Parameter -t (boot screen title) not specified!!!" # exit 1 # } - [ -z "$outputFile" ] && { outputFile=$(basename "$0").$$.iso burnISO='y' @@ -346,7 +344,7 @@ exit 1 } -[ -n "$burnISO" ] || { +[ -n "$burnISO" ] && { [ -z "$cdWritter" ] && { WHAT_CD=$(which what-cd) [ -z "$WHAT_CD" ] && { @@ -365,9 +363,8 @@ } } } - printVersion - +# set -x echo -n "Mounting files... " isClonezillaSysRescCDRunning @@ -385,6 +382,7 @@ # working with ClonezillaSysRescCD mountPoint=/mountPoint.$$ fi + mountOptions="-oro" if [ -z "$workingFromCD" ];then # working with ClonezillaSysRescCD image mountOptions="-oloop" @@ -406,7 +404,7 @@ fi else # our inputFile is mounted!!! - mountPoint=$(mount | grep "$inputFile" | grep 's|.* on \(.*\) type .*)|\1|') + mountPoint=$(mount | grep "$inputFile" | sed 's|.* on \(.*\) type .*)|\1|') fi ############################################################################## @@ -423,7 +421,7 @@ # can i write to it? savePartitionMountPoint=$(mount | grep "$savePartition" | sed "s|"$savePartition" on \(.*\) type .*)|\1|") rm -rf "$savePartitionMountPoint"/new-iso 2>/dev/null - mkdir "$savePartitionMountPoint"/new-iso 2>/dev/null || { + mkdir "$savePartitionMountPoint"/new-iso 2>/dev/null && newIsoCreated='y' || { echo echo " Error: Partition $savePartition is already mounted read-only" exit 1 @@ -458,9 +456,14 @@ else +# if [ -z "$mountPoint" ];then +# echo "mountPoint is empty!!!" +# exit +# fi + for n in "$mountPoint"/*;do -if [ "$n" != "$savePartitionMountPoint" ] && [ "$n" != "/proc" \ && [ "$n" != "/sys" ];then - cp -r "mountPoint"/"$n" "$savePartitionMountPoint"/new-iso 2>/dev/null || { +if [ "$n" != "$savePartitionMountPoint" ] && [ "$n" != "/proc" ] && [ "$n" != "/sys" ];then + cp -r "$n" "$savePartitionMountPoint"/new-iso 2>/dev/null || { echo "failed" echo cleanUp @@ -479,6 +482,7 @@ fi if [ -e "$mainSplash" ];then cp "$mainSplash" "$savePartitionMountPoint"/new-iso/isolinux/ocswp.png + cp "$mainSplash" "$savePartitionMountPoint"/new-iso/syslinux/ocswp.png if [ -e "$restoreSplash" ];then cp "$restoreSplash" "$savePartitionMountPoint"/new-iso/restorecd/default-restore-ocswp.png cp "$restoreSplash" "$savePartitionMountPoint"/new-iso/restorecd/ocswp.png @@ -521,7 +525,7 @@ read outputFile="$savePartitionMountPoint"/"$outputFile" - +genisoimage --version >/dev/null 2>&1 && MKISO=genisoimage || MKISO=mkisofs $MKISO -r -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ "$savePartitionMountPoint"/new-iso \ @@ -564,7 +568,7 @@ if [ -n "$chIsoHyb" ];then echo found echo -n "Isohybriding $outFile... " - isohybrid "$outFile" + isohybrid "$outputFile" echo 'done' else echo not found