/[clonezilla-sysresccd]/trunk/create-clonezilla-sysresccd/create-clonezilla-sysresccd.sh
ViewVC logotype

Annotation of /trunk/create-clonezilla-sysresccd/create-clonezilla-sysresccd.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 47 - (hide annotations)
Thu May 20 12:12:53 2010 UTC (11 years, 4 months ago) by sng
File MIME type: application/x-sh
File size: 21902 byte(s)
adding release scripts

1 sng 47 ##############################################################################
2     # #
3     # create-clonezilla-sysresccd, (C) 2007-2010 S. Georgaras <sng@hellug.gr> #
4     # #
5     # This file is part of Clonezilla-SysRescCD. #
6     # #
7     # Clonezilla-SysRescCD is free software: you can redistribute it and/or #
8     # modify it under the terms of the GNU General Public License as published #
9     # by the Free Software Foundation, either version 2 of the License, or #
10     # (at your option) any later version. #
11     # #
12     # Clonezilla-SysRescCD is distributed in the hope that it will be useful, #
13     # but WITHOUT ANY WARRANTY; without even the implied warranty of #
14     # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15     # GNU General Public License for more details. #
16     # #
17     # You should have received a copy of the GNU General Public License along #
18     # with Clonezilla-SysRescCD. If not, see <http://www.gnu.org/licenses/>. #
19     # #
20     ##############################################################################
21     function noRoot(){
22     echo " Error: You must be root to execute this script"
23     exit 1
24     }
25    
26     function getScript(){
27     echo 'Insert script to be executed'
28     echo -n '> '
29     read exScript
30     }
31    
32     function getSysCD(){
33     echo 'Insert "System Rescue CD" ISO file name'
34     until [ ! -z "$sysCD" ];do
35     echo -n '> '
36     read sysCD
37     done
38    
39     if [ ! -s "$sysCD" ];then
40     echo -n " Error: File not found. Press ENTER to continue... "
41     sysCD=''
42     read
43     getSysCD
44     fi
45     }
46    
47     function getCloneCD(){
48     echo 'Insert "Clonezilla Live" ISO file name'
49     until [ ! -z "$cloneCD" ];do
50     echo -n '> '
51     read cloneCD
52     done
53    
54     if [ ! -s "$cloneCD" ];then
55     echo -n " Error: File not found. Press ENTER to continue... "
56     cloneCD=''
57     read
58     getCloneCD
59     fi
60     }
61    
62     function getcfgFile(){
63     echo 'Insert "isolinux.cfg" file to use'
64     until [ ! -z "$cfgFile" ];do
65     echo -n '> '
66     read cfgFile
67     done
68     if [ ! -s "$cfgFile" ];then
69     echo -n " Error: File not found. Press ENTER to continue... "
70     cfgFile=''
71     read
72     getcfgFile
73     fi
74     }
75    
76     function getPreparer(){
77     echo 'Insert Preparer ID'
78     until [ ! -z "$preparerID" ];do
79     echo -n '> '
80     read preparerID
81     done
82     }
83    
84     function getPublisher(){
85     echo 'Insert Publisher ID'
86     until [ ! -z "$publisher" ];do
87     echo -n '> '
88     read publisher
89     done
90     }
91    
92     function getvolLabel(){
93     echo 'Insert CD Volume label'
94     until [ ! -z "$volLabel" ];do
95     echo -n '> '
96     read volLabel
97     done
98     }
99    
100     function getDebianLiveFolder(){
101     echo 'Insert Debian Live folder'
102     until [ ! -z "$DebianLiveFolder" ];do
103     echo -n '> '
104     read DebianLiveFolder
105     done
106     }
107    
108    
109    
110     function createTempFolders(){
111     echo -n "Creating /root/tmp folder... "
112     mkdir /root/tmp 2>/dev/null
113     if [ ! -d /root/tmp ];then
114     echo
115     echo " Error creating folder: /root/tmp"
116     echo " This shouldn't be happening..."
117     exit 1
118     fi
119     echo 'done'
120    
121     echo -n "Creating temp folders... "
122     rm -rf /root/tmp/clonezilla-sysresccd-"$version".iso 2>/dev/null
123     rm -rf /root/tmp/syscd 2>/dev/null
124     rm -rf /root/tmp/clonecd 2>/dev/null
125     rm -rf /root/tmp/clonezilla-sysresccd 2>/dev/null
126     mkdir /root/tmp/syscd /root/tmp/clonecd /root/tmp/clonezilla-sysresccd 2>/dev/null
127     if [ ! -d /root/tmp/syscd ];then
128     echo
129     echo " Error creating temp folder: /root/tmp/syscd"
130     exit 1
131     fi
132     if [ ! -d /root/tmp/clonecd ];then
133     echo
134     echo " Error creating temp folder: /root/tmp/clonecd"
135     exit 1
136     fi
137    
138    
139     if [ ! -d /root/tmp/clonezilla-sysresccd ];then
140     echo
141     echo " Error creating temp folder: /root/tmp/clonezilla-sysresccd"
142     exit 1
143     fi
144     echo 'done'
145     }
146    
147     function errorMount(){
148     echo "$1"
149     cleanUp
150     exit 1
151     }
152    
153     function errorISO(){
154     echo " Error creating the new ISO file: /root/tmp/output.iso"
155     rm /root/tmp/clonezilla-sysresccd-"$outName""$version".iso 2>/dev/null
156     cleanUp
157     exit 1
158     }
159    
160     function cleanUp(){
161     echo -n "
162     Cleaning up... "
163     umount /root/tmp/clonecd 2>/dev/null
164     umount /root/tmp/syscd 2>/dev/null
165     if [ -z "$cleanUpValue" ];then
166     rm -rf /root/tmp/clonezilla-sysresccd 2>/dev/null
167     fi
168     rm -rf /root/tmp/clonecd /root/tmp/syscd 2>/dev/null
169     echo 'done'
170     echo
171     exit $exitStatus
172     }
173    
174     function isnumber(){
175     if [ "$1" = "0" ];then return 0;fi
176     local n="$1"
177     (( n ++ )) 2>/dev/null || return 1
178     return 0
179     }
180    
181     function readProfiles(){
182     local n=0
183     local tmpName=${profile[0]}
184     until [ -z "$tmpName" ];do
185     (( n ++ ))
186     tmpName=${profile[$n]}
187     done
188     numOfProfiles=$(( n - 1 ))
189     }
190    
191     function applyProfile(){
192     test -z "${sysCDP[$1]}" || sysCD="${sysCDP[$1]}"
193     test -z "${cloneCDP[$1]}" || cloneCD="${cloneCDP[$1]}"
194     test -z "${cfgFileP[$1]}" || cfgFile="${cfgFileP[$1]}"
195     test -z "${splashP[$1]}" || splash="${splashP[$1]}"
196     test -z "${outNameP[$1]}" || outName="${outNameP[$1]}"
197     test -z "${preparerIDP[$1]}" || preparerID="${preparerIDP[$1]}"
198     test -z "${publisherP[$1]}" || publisher="${publisherP[$1]}"
199     test -z "${volLabelP[$1]}" || volLabel="${volLabelP[$1]}"
200     test -z "${exScriptP[$1]}" || exScript="${exScriptP[$1]}"
201     # test -z "${DebianLiveFolderP[$1]}" || DebianLiveFolder="${DebianLiveFolderP[$1]}"
202     }
203    
204     function printHelp(){
205     echo "$(basename $0) - v $version - Spiros Georgaras <sng@hellug.gr>
206     A utility to create a multi boot CD containing
207     Clonezilla Live CD and
208     System Rescue CD
209     (they have to be downloaded seperately)
210    
211     Usage: $(basename $0) [options]
212     Available options are:
213     s show profiles and let user select profile to use
214     p [number] use profile number
215     f copy files only. Don't create ISO file and don't
216     burn anything on CD
217     nf don't copy files. Use files existing in folder
218     \"/root/tmp/clonezilla-sysresccd\".
219     *** Caution: Dangerous!!! ***
220     i only create ISO file. Don't burn anything on CD
221     b burn a previously created ISO file
222     x [script] A user defined and written BASH script
223     to be executed just before mastering the CD
224     v print version and exit
225     h print this screen and exit
226    
227     More information on available customization in file
228     /root/.clonezilla-sysresccd/clonezilla-sysresccd.conf"
229     }
230    
231     function printVersion(){
232     echo "$(basename $0) - v $version - Spiros Georgaras <sng@hellug.gr>
233     A utility to create a multi boot CD containing
234     Clonezilla Live CD and
235     System Rescue CD
236     (they have to be downloaded seperately)"
237     exit
238     }
239    
240     # function decectDVDWriter(){
241     # local z
242     # # local DEV0 DEV1
243     # local CDW0 CDW1
244     # local DVDW0 DVDW1
245     #
246     # z=`cat /proc/sys/dev/cdrom/info 2>/dev/null | grep name | sed 's/.*name://' | sed 's/[ ][ ]*/ /g'| sed 's/^[ ][ ]*//' `
247     # DEV0=`echo "$z" | sed 's/\([^ ]*\).*/\1/'`
248     # DEV1=`echo "$z" | sed 's/[^ ]* *\([^ ]*\)/\1/'`
249     #
250     # z=`cat /proc/sys/dev/cdrom/info 2>/dev/null| grep 'write' | grep 'DVD-R:'| sed 's/.*DVD-R://' | sed 's/[ ][ ]*/ /g'| sed 's/^[ ][ ]*//' `
251     # # echo z=$z
252     # DVDW0=`echo "$z" | sed 's/\([^ ]*\).*/\1/'`
253     # DVDW1=`echo "$z" | sed 's/[^ ]* *\([^ ]*\)/\1/'`
254     #
255     #
256     # z=`cat /proc/sys/dev/cdrom/info 2>/dev/null| grep 'write' | grep 'CD-R:'| sed 's/.*CD-R://' | sed 's/[ ][ ]*/ /g'| sed 's/^[ ][ ]*//' `
257     # # echo z=$z
258     # CDW0=`echo "$z" | sed 's/\([^ ]*\).*/\1/'`
259     # CDW1=`echo "$z" | sed 's/[^ ]* *\([^ ]*\)/\1/'`
260     #
261     # if ! test -z "$DEV0";then
262     # if [ "$DVDW0" = "1" ];then DVDRECORDER=/dev/"$DEV0";fi
263     # if [ "$CDW0" = "1" ];then CDRECORDER=/dev/"$DEV0";fi
264     # fi
265     #
266     # if ! test -z "$DEV1";then
267     # if test -z "$DVDRECORDER"; then
268     # if [ "$DVDW1" = "1" ];then
269     # DVDRECORDER=/dev/"$DEV1"
270     # fi
271     # fi
272     # if test -z "$CDRECORDER"; then
273     # if [ "$CDW1" = "1" ];then
274     # CDRECORDER=/dev/"$DEV1"
275     # fi
276     # fi
277     # fi
278     #
279     # }
280    
281     function sourceProfiles(){
282     if [ -r /root/.clonezilla-sysresccd/profiles.conf ];then
283     . /root/.clonezilla-sysresccd/profiles.conf 2>/dev/null || profilesError=1
284     profilesExist=1
285     fi
286     if [ $profilesError -eq 1 ];then
287     echo " Error: Your profiles configuration file \"/root/.clonezilla-sysresccd/profiles.conf\""
288     echo " has errors and cannot be used. Please fix the problem and try again"
289     exit 1
290     fi
291     }
292    
293    
294     function readConfig(){
295     if [ -n "$configAlreadyRead" ];then return; fi
296     test "$(whoami)" = "root" || noRoot
297     [ -r /root/.clonezilla-sysresccd/clonezilla-sysresccd.conf ] || {
298     echo " Error: Your configuration file \"/root/.clonezilla-sysresccd/clonezilla-sysresccd.conf\""
299     echo " does not exist or can not be read. Please fix the problem and try again"
300     exit 1
301     }
302    
303     . /root/.clonezilla-sysresccd/clonezilla-sysresccd.conf 2>/dev/null
304     if [ $? -ne 0 ];then
305     echo " Error: Your configuration file \"/root/.clonezilla-sysresccd/clonezilla-sysresccd.conf\""
306     echo " has errors and cannot be used. Please fix the problem and try again"
307     exit 1
308     fi
309     configAlreadyRead='true'
310     }
311    
312     ####### Script starts here #######
313     onlyBurnISO=0
314     onlyCopyFiles=0
315     onlyCreateISO=0
316     noFileCopy=0
317     exitStatus=0
318    
319     profilesExist=0
320     profilesError=0
321    
322    
323     while getopts ":sp:bfihvn:x:" Option
324     do
325     case $Option in
326     s)
327     readConfig
328     sourceProfiles
329     if [ $profilesExist -eq 1 ];then
330     readProfiles
331     until [ ! -z "$prN" ];do
332     clear
333     echo "Available profiles"
334     for i in `seq 0 $numOfProfiles`;do
335     echo " Profile[$i]: ${profile[$i]}"
336     done
337     echo -n "Insert profile number ([0]-$numOfProfiles): "
338     read prN
339     test -z "$prN" && prN=0
340     isnumber "$prN" || prN=''
341     if [ $prN -gt $numOfProfiles ] 2>/dev/null; then prN='';fi
342     done
343     applyProfile $prN
344     else
345     echo " Error: You have requested to use profiles but your profiles configuration file"
346     echo " \"/root/.clonezilla-sysresccd/profiles.conf\" does not exist or cannot be read"
347     exit 1
348     fi
349     ;;
350     p)
351     readConfig
352     sourceProfiles
353     if [ $profilesExist -eq 1 ];then
354     if $(isnumber "$OPTARG");then
355     applyProfile $OPTARG
356     else
357     echo " Error in parameter: -p $OPTARG"
358     exit 1
359     fi
360     else
361     echo " Error: You have requested to use profile No $OPTARG but your profiles configuration file"
362     echo " \"/root/.clonezilla-sysresccd/profiles.conf\" does not exist or cannot be read"
363     exit 1
364     fi
365     ;;
366     b)
367     readConfig
368     onlyBurnISO=1;;
369     f)
370     readConfig
371     onlyCopyFiles=1;;
372     i)
373     readConfig
374     onlyCreateISO=1;;
375     x)
376     readConfig
377     [ -s "OPTARG" ] || {
378     echo " Error: The specified script \"$OPTARG\" cannot be found"
379     exit 1
380     }
381     [ -r "$OPTARG" ] && exScript="$OPTARG" || {
382     echo " Error: The specified script \"$OPTARG\" cannot be read"
383     exit 1
384     };;
385     h)
386     printHelp
387     exit
388     ;;
389     v)
390     printVersion
391     ;;
392     n)
393     readConfig
394     if [ "$OPTARG" != "f" ] ;then
395     echo "Error: Not a valid parameter -n$OPTARG"
396     exit 1
397     fi
398     noFileCopy=1
399     ;;
400     esac
401     done
402     shift $(($OPTIND - 1))
403    
404     test "$(whoami)" = "root" || noRoot
405     # Check input parameters
406     checkInParms=0
407     checkInParms=$(( onlyBurnISO + onlyCreateISO + onlyCopyFiles + noFileCopy ))
408     if [ $noFileCopy -eq 1 ] && [ $onlyCreateISO -eq 1 ];then
409     okToContinue=1
410     elif [ $checkInParms -gt 1 ];then
411     echo " Error: Conflicting input parameters detected..."
412     exit 1
413     fi
414     if [ "$outName" = "" ];then
415     outFile=/root/tmp/clonezilla-sysresccd-"$version".iso
416     else
417     outFile=/root/tmp/clonezilla-sysresccd-"$outName"-"$version".iso
418     fi
419    
420     if [ $onlyBurnISO -eq 0 ];then
421     if [ $noFileCopy -eq 0 ];then
422     while [ "$ans" != "y" ] || [ "$ans" = "Y" ];do
423     test -z "$sysCD" && getSysCD
424     test -z "$cloneCD" && getCloneCD
425     test -z "$cfgFile" && getcfgFile
426     test -z "$exScript" && getScript
427     # test -z "$DebianLiveFolder" && getDebianLiveFolder
428     clear
429     # echo -n "Current settings:
430     # System Rescue CD: $sysCD
431     # Clonezilla Live CD: $cloneCD
432     # isolinux.cfg to use: $cfgFile
433     # Debian Live folder: $DebianLiveFolder
434     # script to execute: $exScript
435     #
436     # Is this correct? (y/[n]): "
437    
438     echo -n "Current settings:
439     System Rescue CD: $sysCD
440     Clonezilla Live CD: $cloneCD
441     isolinux.cfg to use: $cfgFile
442     script to execute: $exScript
443    
444     Is this correct? (y/[n]): "
445    
446     read ans
447     if [ "$ans" = "n" ] || [ "$ans" = "N" ] || [ "$ans" = "" ];then
448     sysCD=''
449     cloneCD=''
450     cfgFile=''
451     fi
452     done
453     ans=''
454     while [ 1 ];do
455     test -z "$preparerID" && getPreparer
456     test -z "$publisher" && getPublisher
457     test -z "$volLabel" && getvolLabel
458     clear
459     echo -n "Current CD info:
460     Preparer: $preparerID
461     Publisher: $publisher
462     Volume label: $volLabel
463    
464     Is this correct? (y/[n]): "
465     read ans
466     if [ "$ans" = "n" ] || [ "$ans" = "N" ] || [ "$ans" = "" ];then
467     preparerID=''
468     publisher=''
469     volLabel=''
470     fi
471     if [ "$ans" = "y" ] || [ "$ans" = "Y" ];then break;fi
472     done
473     trap cleanUp 2
474     clear
475     echo "$(basename $0) - v $version - Spiros Georgaras <sng@hellug.gr>
476     "
477     createTempFolders
478    
479     echo -n "Mounting ISO files... "
480     mount "$sysCD" /root/tmp/syscd -o loop || errorMount ' Error mounting "System Rescue CD" file'
481     mount "$cloneCD" /root/tmp/clonecd -o loop || errorMount ' Error mounting Clonezilla" file'
482     echo 'done'
483     echo -n "Copying files... "
484     cp -RL /root/tmp/syscd/* /root/tmp/clonezilla-sysresccd
485     cp -RL /root/tmp/clonecd/* /root/tmp/clonezilla-sysresccd
486     echo 'done'
487    
488    
489     # echo -n "Extracting boot programs... "
490     echo "Extracting boot programs... "
491     cd /root/tmp/clonezilla-sysresccd/bootprog
492     mkdir tmp
493     cp *zip tmp
494     unzip -x sys*zip win32/syslinux.exe
495     mv win32/* .
496     rmdir win32
497     unzip -x gr* gr*/grub.exe
498     mv gr*/grub.exe .
499     rm -rf grub4dos*
500     cp tmp/* .
501     rm -rf tmp
502     # echo 'done'
503    
504     if [ ! -z "$splash" ];then
505     echo -n "Copying new spalsh screen... "
506     cp -L "$splash" /root/tmp/clonezilla-sysresccd/isolinux/ocswp.png
507     echo 'done'
508     else
509     cp -L /root/.clonezilla-sysresccd/files/default-ocswp.png /root/tmp/clonezilla-sysresccd/isolinux/ocswp.png
510     fi
511    
512     echo -n "Copying Super Grub Disk... "
513     cp -L /root/.clonezilla-sysresccd/files/sgd.img /root/tmp/clonezilla-sysresccd/bootdisk/sgd.img && echo 'done' || {
514     echo
515     echo
516     echo
517     echo " Error: Copying Super Grub Disk failed!!!"
518     echo
519     echo " Please make sure that the image file exists"
520     echo " Image file: /root/tmp/clonezilla-sysresccd/bootdisk/sgd.img"
521     echo
522     echo
523     cleanUp
524     exit 1
525     }
526     if [ -e /root/.clonezilla-sysresccd/files/sgd2.img ];then
527     echo -n "Copying Super Grub Disk 2... "
528     cp -L /root/.clonezilla-sysresccd/files/sgd2.img /root/tmp/clonezilla-sysresccd/bootdisk/grubdisk.img && echo 'done' || {
529     echo
530     echo
531     echo
532     echo " Error: Copying Super Grub Disk 2 failed!!!"
533     echo
534     echo " Please make sure that the image file exists"
535     echo " Image file: /root/tmp/clonezilla-sysresccd/bootdisk/sgd2.img"
536     echo
537     echo
538     cleanUp
539     exit 1
540     }
541     fi
542     echo -n "Copying new cfg file(s)... "
543     if [ -z $(echo "$cfgFile" | grep 'cfg$') ];then
544     tar -C /root/tmp/clonezilla-sysresccd -xzhf /root/.clonezilla-sysresccd/files/menu-iso.tar.gz
545     else
546     cp -L "$cfgFile" /root/tmp/clonezilla-sysresccd/isolinux/isolinux.cfg
547     fi
548     echo 'done'
549    
550     echo -n "Creating folder restorecd... "
551     WHERE="$(pwd)"
552     mkdir /root/tmp/clonezilla-sysresccd/restorecd 2>/dev/null
553     cd /root/.clonezilla-sysresccd/files
554     cp -L pre* ocs-iso what-cd continue-multi-cd isolinux-restore-cd.cfg \
555     isolinux-restore-cd-ram.cfg menu-iso.tar.gz doc.tar.gz imginfo imgconvert cust-menu /root/tmp/clonezilla-sysresccd/restorecd
556     cp -L default-restore-ocswp.png /root/tmp/clonezilla-sysresccd/restorecd/ocswp.png
557     cp sbminst /root/tmp/clonezilla-sysresccd/restorecd
558    
559     # Copy Smart Boot Manager and rawrite-fdimage to bootdisk
560     mkdir /root/tmp/clonezilla-sysresccd/rawrite
561     cp raw* fd* *dll /root/tmp/clonezilla-sysresccd/rawrite
562     cp sbm.img /root/tmp/clonezilla-sysresccd/bootdisk
563     cd "$DebianLiveFolder" 2>/dev/null || debFilesError=yes
564     # if [ -s files.tar.gz ];then
565     # cp -L files.tar.gz /root/tmp/clonezilla-sysresccd/restorecd/ 2>/dev/null || debFilesError=yes
566     # else
567     # [ -e "$DebianLiveFolder"/unifont.bgf ] || {
568     # uniFontCopied=yes
569     # cp -L /root/.clonezilla-sysresccd/files/unifont.bgf "$DebianLiveFolder"
570     # }
571     # tar chzf /root/tmp/clonezilla-sysresccd/restorecd/files.tar.gz unifont.bgf debian-live-for-ocs.iso 2>/dev/null || debFilesError=yes
572     # [ -z "$uniFontCopied" ] || rm "$DebianLiveFolder"/unifont.bgf
573     # fi
574     # [ -z "$debFilesError" ] || {
575     # echo
576     # echo
577     # echo
578     # echo " Error: Copying files.tar.gz failed!!!"
579     # echo
580     # echo " Please make sure that the variable DebianLiveFolder points either to"
581     # echo " the folder where the files unifont.bgf and debian-live-for-ocs.iso"
582     # echo " reside, or the files files.tar.gz (which contains unifont.bgf and"
583     # echo " debian-live-for-ocs.iso) can be found"
584     # echo
585     # echo
586     # echo
587     # cleanUp
588     # exit 1
589     # }
590     cd "$WHERE"
591     echo "done"
592    
593     echo -n "Copying documentation files... "
594     cd /root/tmp/clonezilla-sysresccd
595     tar xzhf /root/tmp/clonezilla-sysresccd/restorecd/doc.tar.gz
596     echo 'done'
597    
598     if [ ! -z "$exScript" ];then
599     # echo -n "Executing external script: \"$exScript\"... "
600     echo -n "Executing external script... "
601     . "$exScript" || {
602     echo
603     echo
604     echo
605     echo " Error: The execution of the script failed!!!"
606     echo " Please correct it and try again"
607     echo
608     echo " Script: \"$exScript\""
609     cleanUp
610     exit 1
611     }
612     fi
613     echo 'done'
614     # echo
615     # echo
616     # echo
617     else
618     trap cleanUp 2
619     cleanUpValue=1
620     if [ ! -d /root/tmp/clonezilla-sysresccd ];then
621     echo " Error accessing folder \"/root/tmp/clonezilla-sysresccd\""
622     exitStatus=1
623     cleanUp
624     fi
625     fi
626    
627     # move extra folders into utils
628     mv /root/tmp/clonezilla-sysresccd/rawrite /root/tmp/clonezilla-sysresccd/bootprog /root/tmp/clonezilla-sysresccd/utils
629     mv /root/tmp/clonezilla-sysresccd/version /root/tmp/clonezilla-sysresccd/SystemRescueCD-Version
630    
631     if [ $onlyCopyFiles -eq 1 ];then
632     cleanUpValue=1
633     # echo
634     # echo
635     echo "Both CDs have been copyied in: /root/tmp/clonezilla-sysresccd"
636     cleanUp
637     fi
638     echo
639     echo -n "Ready to create the new ISO file.
640    
641     ************************************************************************
642     Ready to master your CD. If you want to alter any files contained
643     in the CD, now is the right time.
644     CD root is \"/root/tmp/clonezilla-sysresccd\"
645    
646     When you are done
647     ***********************************************************************
648    
649     Press ENTER to continue... "
650     read
651     find /root/tmp/clonezilla-sysresccd -name "*~" -exec rm '{}' ';'
652     # mkisofs -quiet -f -r -J -o "$outFile" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 3 -joliet-long -input-charset utf-8 -output-charset utf-8 -V "$volLabel" -publisher "$publisher" -p "$preparerID" /root/tmp/clonezilla-sysresccd || errorISO
653     mkisofs -quiet -f -r -J -o "$outFile" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "$volLabel" -publisher "$publisher" -p "$preparerID" /root/tmp/clonezilla-sysresccd || errorISO
654     echo "
655     Done creating new ISO file
656     The file is saved as $outFile"
657     ans=c
658     chIsoHyb=`type isohybrid 2>/dev/null`
659     if [ -n "$chIsoHyb" ];then
660     echo -n "Isohybriding $outFile... "
661     isohybrid "$outFile"
662     echo 'done'
663     fi
664    
665     echo '
666    
667     '
668    
669     else
670     while [ ! -r "$outFile" ];do
671     echo 'Insert "clonezilla-resccd" ISO file name'
672     echo -n "> "
673     read outFile
674     done
675     ans=y
676     fi
677    
678     if [ $onlyCreateISO -eq 1 ];then ans=n;fi
679    
680     while [ 1 ];do
681     if [ "$ans" = "" ];then ans=y;fi
682     if [ "$ans" = "y" ] || [ "$ans" = "Y" ] || [ "$ans" = "n" ] || [ "$ans" = "N" ];then break;fi
683     echo -n "Do you want to burn this ISO file? ([y]/n): "
684     read ans
685     done
686     burnISO=0
687     if [ "$ans" = "y" ] || [ "$ans" = "Y" ];then
688     echo
689     echo "File to burn: $outFile"
690     echo
691     burnISO=1
692     # decectDVDWriter
693    
694     CDRECORDER=$(sh /root/.clonezilla-sysresccd/files/what-cd -wb)
695    
696     echo CD redorder found: "$CDRECORDER"
697     ans=''
698     until [ "$ans" = "y" ] || [ "$ans" = "Y" ];do
699     echo -n "Is this correct? ([y]/n): "
700     read ans
701     if [ "$ans" = "y" ] || [ "$ans" = "Y" ] || [ "$ans" = "" ];then
702     ans='y'
703     cdW="$CDRECORDER"
704     else
705     echo -n "Insert your CD redorder device name ($CDRECORDER): "
706     read cdW
707     if [ "$cdW" = "" ];then cdW="$CDRECORDER";fi
708     echo CD redorder: "$cdW"
709     fi
710     done
711     fi
712    
713     if [ $burnISO -eq 1 ];then
714     ans=c
715     while [ 1 ];do
716     if [ "$ans" = "" ];then ans="y";fi
717     if [ "$ans" = "y" ] || [ "$ans" = "Y" ] || [ "$ans" = "n" ] || [ "$ans" = "N" ];then break;fi
718     echo -n "Does the CD need blanking (RW-CD)? ([y]/n): "
719     read ans
720     done
721     if [ "$ans" = "y" ] || [ "$ans" = "Y" ];then
722     blankCD=1
723     else
724     blankCD=0
725     fi
726     ans=c
727     while [ 1 ];do
728     if [ "$ans" = "" ];then ans="y";fi
729     if [ "$ans" = "y" ] || [ "$ans" = "Y" ] || [ "$ans" = "n" ] || [ "$ans" = "N" ];then break;fi
730     echo -n "Do you wan to to start a multi-session CD? ([y]/n): "
731     read ans
732     done
733     if [ "$ans" = "y" ] || [ "$ans" = "Y" ];then
734     MULTI='-multi'
735     else
736     MULTI=''
737     fi
738    
739     clear
740     echo "Ready to burn the ISO file to CD. Please load a (re)writable CD
741     in $cdW and Press ENTER to continue... "
742     read
743     echo -n "Unmounting CD... "
744     while [ $(mount |grep "$cdW" | wc -l) -gt 0 ] ;do
745     umount "$cdW" 2>/dev/null
746     done
747     echo 'done'
748     if [ $blankCD -eq 1 ];then
749     echo "Blanking CD...
750     -----------"
751     cdrecord dev="$cdW" blank=fast -eject || errorMount '
752    
753     Error: Blanking procedure failed...
754    
755    
756     '
757     fi
758     echo
759     echo "Burinng ISO file
760     ----------------"
761     cdrecord -v dev="$cdW" driveropts=burnfree "$MULTI" -eject "$outFile" || errorMount '
762    
763     Error: Burning procedure failed...
764    
765    
766     '
767     fi
768     cleanUp

webmaster@linux.gr
ViewVC Help
Powered by ViewVC 1.1.26