85 |
} |
} |
86 |
|
|
87 |
function isClonezillaSysRescCDRunning(){ |
function isClonezillaSysRescCDRunning(){ |
88 |
if [ -e /live/image/README.txt ] || [ -e /mnt/livecd/README.txt ];then |
if [ -e /live/image/restorecd/what-cd ] || [ -e /restorecd/what-cd ];then |
89 |
ClonezillaSysRescCDRunning='y' |
ClonezillaSysRescCDRunning='y' |
90 |
fi |
fi |
91 |
} |
} |
94 |
function cleanUp(){ |
function cleanUp(){ |
95 |
cd |
cd |
96 |
echo -n "Cleanning up... " |
echo -n "Cleanning up... " |
97 |
|
[ -z "$inputFileMounted" ] || umount "$mountPoint" 2>/dev/null |
98 |
|
[ -z "$savePartitionMounted" ] || umount "$savePartition" 2>/dev/null |
99 |
[ -z "$mountPointCreated" ] || rmdir "$mountPoint" 2>/dev/null |
[ -z "$mountPointCreated" ] || rmdir "$mountPoint" 2>/dev/null |
100 |
[ -z "$newIsoCreated" ] || { |
[ -z "$newIsoCreated" ] || { |
101 |
[ -z "$keepFiles" ] && rm -rf "$savePartitionMountPoint"/new-iso 2>/dev/null |
[ -z "$keepFiles" ] && rm -rf "$savePartitionMountPoint"/new-iso 2>/dev/null |
104 |
rmdir "$savePartitionMountPoint"/new-iso 2>/dev/null |
rmdir "$savePartitionMountPoint"/new-iso 2>/dev/null |
105 |
rmdir "$savePartitionMountPoint" 2>/dev/null |
rmdir "$savePartitionMountPoint" 2>/dev/null |
106 |
} |
} |
|
[ -z "$inputFileMounted" ] || umount "$mountPoint" 2>/dev/null |
|
|
[ -z "$savePartitionMounted" ] || umount "$savePartition" 2>/dev/null |
|
107 |
echo "done" |
echo "done" |
108 |
} |
} |
109 |
|
|
143 |
# # |
# # |
144 |
############################################################################## |
############################################################################## |
145 |
if [ -z "$workingFromCD" ];then |
if [ -z "$workingFromCD" ];then |
146 |
genisoimage --version >/dev/null 2>&1 && MKISO=genisoimage || MKISO=mkisofs |
genisoimage --version >/dev/null 2>&1 && MKISO=genisoimage || MKISO=mkisofs |
147 |
savePartitionMountPoint=/root/tmp/savePartition.$$ |
savePartitionMountPoint=/root/tmp/savePartition.$$ |
148 |
else |
else |
149 |
MKISO=genisoimage |
MKISO=genisoimage |
189 |
|
|
190 |
####### Script starts here ####### |
####### Script starts here ####### |
191 |
|
|
|
# set -x |
|
192 |
while getopts ":i:o:s:r:t:fp:bdwnvhl:k:" Option |
while getopts ":i:o:s:r:t:fp:bdwnvhl:k:" Option |
193 |
do |
do |
194 |
case $Option in |
case $Option in |
304 |
|
|
305 |
# Check parameters |
# Check parameters |
306 |
[ -z "$inputFile" ] && { |
[ -z "$inputFile" ] && { |
307 |
echo " Error: Parameter -i (input file) not specified!!!" |
printHelp |
308 |
exit 1 |
exit 1 |
309 |
} |
} |
310 |
[ -z "$mainSplash" ] || { |
[ -z "$mainSplash" ] || { |
333 |
# echo " Error: Parameter -t (boot screen title) not specified!!!" |
# echo " Error: Parameter -t (boot screen title) not specified!!!" |
334 |
# exit 1 |
# exit 1 |
335 |
# } |
# } |
|
|
|
336 |
[ -z "$outputFile" ] && { |
[ -z "$outputFile" ] && { |
337 |
outputFile=$(basename "$0").$$.iso |
outputFile=$(basename "$0").$$.iso |
338 |
burnISO='y' |
burnISO='y' |
344 |
exit 1 |
exit 1 |
345 |
} |
} |
346 |
|
|
347 |
[ -n "$burnISO" ] || { |
[ -n "$burnISO" ] && { |
348 |
[ -z "$cdWritter" ] && { |
[ -z "$cdWritter" ] && { |
349 |
WHAT_CD=$(which what-cd) |
WHAT_CD=$(which what-cd) |
350 |
[ -z "$WHAT_CD" ] && { |
[ -z "$WHAT_CD" ] && { |
363 |
} |
} |
364 |
} |
} |
365 |
} |
} |
|
|
|
366 |
printVersion |
printVersion |
367 |
|
# set -x |
368 |
echo -n "Mounting files... " |
echo -n "Mounting files... " |
369 |
isClonezillaSysRescCDRunning |
isClonezillaSysRescCDRunning |
370 |
|
|
382 |
# working with ClonezillaSysRescCD |
# working with ClonezillaSysRescCD |
383 |
mountPoint=/mountPoint.$$ |
mountPoint=/mountPoint.$$ |
384 |
fi |
fi |
385 |
|
mountOptions="-oro" |
386 |
if [ -z "$workingFromCD" ];then |
if [ -z "$workingFromCD" ];then |
387 |
# working with ClonezillaSysRescCD image |
# working with ClonezillaSysRescCD image |
388 |
mountOptions="-oloop" |
mountOptions="-oloop" |
404 |
fi |
fi |
405 |
else |
else |
406 |
# our inputFile is mounted!!! |
# our inputFile is mounted!!! |
407 |
mountPoint=$(mount | grep "$inputFile" | grep 's|.* on \(.*\) type .*)|\1|') |
mountPoint=$(mount | grep "$inputFile" | sed 's|.* on \(.*\) type .*)|\1|') |
408 |
fi |
fi |
409 |
############################################################################## |
############################################################################## |
410 |
|
|
421 |
# can i write to it? |
# can i write to it? |
422 |
savePartitionMountPoint=$(mount | grep "$savePartition" | sed "s|"$savePartition" on \(.*\) type .*)|\1|") |
savePartitionMountPoint=$(mount | grep "$savePartition" | sed "s|"$savePartition" on \(.*\) type .*)|\1|") |
423 |
rm -rf "$savePartitionMountPoint"/new-iso 2>/dev/null |
rm -rf "$savePartitionMountPoint"/new-iso 2>/dev/null |
424 |
mkdir "$savePartitionMountPoint"/new-iso 2>/dev/null || { |
mkdir "$savePartitionMountPoint"/new-iso 2>/dev/null && newIsoCreated='y' || { |
425 |
echo |
echo |
426 |
echo " Error: Partition $savePartition is already mounted read-only" |
echo " Error: Partition $savePartition is already mounted read-only" |
427 |
exit 1 |
exit 1 |
456 |
|
|
457 |
else |
else |
458 |
|
|
459 |
|
# if [ -z "$mountPoint" ];then |
460 |
|
# echo "mountPoint is empty!!!" |
461 |
|
# exit |
462 |
|
# fi |
463 |
|
|
464 |
for n in "$mountPoint"/*;do |
for n in "$mountPoint"/*;do |
465 |
if [ "$n" != "$savePartitionMountPoint" ] && [ "$n" != "/proc" \ && [ "$n" != "/sys" ];then |
if [ "$n" != "$savePartitionMountPoint" ] && [ "$n" != "/proc" ] && [ "$n" != "/sys" ];then |
466 |
cp -r "mountPoint"/"$n" "$savePartitionMountPoint"/new-iso 2>/dev/null || { |
cp -r "$n" "$savePartitionMountPoint"/new-iso 2>/dev/null || { |
467 |
echo "failed" |
echo "failed" |
468 |
echo |
echo |
469 |
cleanUp |
cleanUp |
482 |
fi |
fi |
483 |
if [ -e "$mainSplash" ];then |
if [ -e "$mainSplash" ];then |
484 |
cp "$mainSplash" "$savePartitionMountPoint"/new-iso/isolinux/ocswp.png |
cp "$mainSplash" "$savePartitionMountPoint"/new-iso/isolinux/ocswp.png |
485 |
|
cp "$mainSplash" "$savePartitionMountPoint"/new-iso/syslinux/ocswp.png |
486 |
if [ -e "$restoreSplash" ];then |
if [ -e "$restoreSplash" ];then |
487 |
cp "$restoreSplash" "$savePartitionMountPoint"/new-iso/restorecd/default-restore-ocswp.png |
cp "$restoreSplash" "$savePartitionMountPoint"/new-iso/restorecd/default-restore-ocswp.png |
488 |
cp "$restoreSplash" "$savePartitionMountPoint"/new-iso/restorecd/ocswp.png |
cp "$restoreSplash" "$savePartitionMountPoint"/new-iso/restorecd/ocswp.png |
508 |
done |
done |
509 |
fi |
fi |
510 |
|
|
511 |
tar czf menu-iso.tar.gz $(find . -iname "*.cfg") |
tar czf menu-for-iso.tar.gz $(find . -iname "*.cfg") |
512 |
mv menu-iso.tar.gz restorecd |
mv menu-for-iso.tar.gz restorecd |
513 |
echo "done" |
echo "done" |
514 |
|
|
515 |
[ -z "$keepFiles" ] || { |
[ -z "$keepFiles" ] || { |
525 |
read |
read |
526 |
|
|
527 |
outputFile="$savePartitionMountPoint"/"$outputFile" |
outputFile="$savePartitionMountPoint"/"$outputFile" |
528 |
|
genisoimage --version >/dev/null 2>&1 && MKISO=genisoimage || MKISO=mkisofs |
529 |
$MKISO -r -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat \ |
$MKISO -r -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat \ |
530 |
-no-emul-boot -boot-load-size 4 -boot-info-table \ |
-no-emul-boot -boot-load-size 4 -boot-info-table \ |
531 |
"$savePartitionMountPoint"/new-iso \ |
"$savePartitionMountPoint"/new-iso \ |
568 |
if [ -n "$chIsoHyb" ];then |
if [ -n "$chIsoHyb" ];then |
569 |
echo found |
echo found |
570 |
echo -n "Isohybriding $outFile... " |
echo -n "Isohybriding $outFile... " |
571 |
isohybrid "$outFile" |
isohybrid "$outputFile" |
572 |
echo 'done' |
echo 'done' |
573 |
else |
else |
574 |
echo not found |
echo not found |