else␊ |
␉extra="$1"␊ |
fi␊ |
␊ |
if [[ $# < 2 ]];then␊ |
␉cdBootDir="${extra}"␊ |
else␊ |
␉cdBootDir="$2"␊ |
fi␊ |
echo Extra dir is ${extra} cdBootDir is ${cdBootDir}␊ |
␊ |
echo "Extra dir is ${extra} and cdboot dir is ${cdBootDir}"␊ |
mydir=`dirname $0`␊ |
␊ |
tempDir=/tmp␊ |
|
extradir=/tmp/newiso/Extra␊ |
preDir=/tmp/newiso/Extra/Preboot␊ |
prebootDir="${preDir}/Extra"␊ |
backDir=$finaldir␊ |
bkpdir="${finaldir}/Previous-dmg"␊ |
␊ |
echo "Starting script..."␊ |
echo "Starting CD Boot ISO creation script..."␊ |
␊ |
#errors␊ |
if ([ ! -f $extra/Extensions.mkext ] && [ ! -d $extra/Extensions ]);then␊ |
␉echo "- Error: no Extensions.mkext or Extensions folder. One of them is required"␊ |
␉echo " ------------------------"␊ |
␉echo "*** Error: no Extensions.mkext or Extensions folder. One of them is required"␊ |
␉exit 1␊ |
fi␊ |
␊ |
if [ ! -f $extra/org.chameleon.Boot.plist ];then␊ |
echo "- Error: no org.chameleon.Boot.plist found. File required"␊ |
echo " ------------------------"␊ |
echo "*** Error: no org.chameleon.Boot.plist found. File required"␊ |
exit 1␊ |
fi␊ |
␊ |
if [ ! -f $cdBootDir/cdboot ];then␊ |
echo "- Error: no cdboot found. File required"␊ |
echo " ------------------------"␊ |
echo "*** Error: no cdboot found. File required"␊ |
exit 1␊ |
fi␊ |
␊ |
# Create a work directory␊ |
echo " - temps folders created"␊ |
echo " - Checking files"␊ |
echo " Creating folders ..."␊ |
#copy Extra files to temp directory␊ |
if ([ ! -d $prebootDir ]);then␊ |
␉mkdir -p $prebootDir␊ |
|
if ([ ! -d $bkpdir ]);then␊ |
␉mkdir -p $bkpdir␊ |
fi␊ |
echo " Copying files ..."␊ |
␊ |
if [ -f $cdBootDir/cdboot ];then␊ |
cp -R $cdBootDir/cdboot $isodir␊ |
|
cp -R $tempDir/org.chameleon.Boot.plist $extradir␊ |
fi␊ |
␊ |
echo "- Files copied in temp folder"␊ |
echo " Files copied in temp folder"␊ |
␊ |
# ramdisk creator␊ |
if [ -f $extradir/Preboot.dmg ];then␊ |
|
fi␊ |
hdiutil create -srcfolder $preDir/ -layout GPTSPUD -fs HFS+ -format UDRW -volname Preboot $extradir/Preboot.dmg␊ |
rm -R $preDir␊ |
echo " - ram disk created"␊ |
echo " Ram disk created"␊ |
␊ |
# boot cd creator␊ |
hdiutil makehybrid -o BootCD.iso $isodir/ -iso -hfs -joliet -eltorito-boot $isodir/cdboot -no-emul-boot -hfs-volume-name "Boot CD" -joliet-volume-name "Boot CD"␊ |
echo " - hybrid image created"␊ |
echo " Hybrid image created"␊ |
␊ |
# Create output and backup directories␊ |
if [ -f $finaldir/BootCD.iso ];then␊ |
if [ ! -d $bkpdir ];then␊ |
mkdir $backDir␊ |
mkdir $bkpdir␊ |
echo " - backup folder created"␊ |
mkdir -p $bkpdir␊ |
echo " Backup folder created"␊ |
␉fi␊ |
mv -f $finaldir/BootCD.iso $bkpdir/BootCd-$(date +"%d-%y-%Hh%M").iso␊ |
echo " - previous ISO moved into backup folder"␊ |
echo " Previous ISO moved into backup folder"␊ |
fi␊ |
mv BootCD.iso $finaldir␊ |
echo " - ISO moved on desktop"␊ |
echo " ISO moved on desktop"␊ |
␊ |
# cleanup␊ |
echo " - Perform cleaning"␊ |
echo " - ISO created succefully"␊ |
echo " ------------------------"␊ |
echo " ISO created successfully"␊ |
exit 0 |