tpotce/makeiso.sh

84 lines
2.4 KiB
Bash
Raw Normal View History

2014-11-28 17:02:20 +00:00
#!/bin/bash
2015-01-27 16:46:52 +00:00
2014-11-28 17:02:20 +00:00
########################################################
2015-01-27 16:46:52 +00:00
# T-Pot Community Edition #
# .ISO maker #
2014-11-28 17:02:20 +00:00
# #
2015-03-09 13:05:24 +00:00
# v0.12 by mo, DTAG, 2015-03-09 #
2014-11-28 17:02:20 +00:00
########################################################
# Let's define some global vars
2015-02-20 15:01:07 +00:00
myUBUNTULINK="http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-server-amd64.iso"
myUBUNTUISO="ubuntu-14.04.2-server-amd64.iso"
2014-11-28 17:02:20 +00:00
myTPOTCEISO="tpotce.iso"
myTPOTCEDIR="tpotceiso"
myTMP="tmp"
myDEV=$1
2014-11-28 17:02:20 +00:00
# Let's create a function for colorful output
fuECHO () {
local myRED=1
local myWHT=7
tput setaf $myRED
echo $1 "$2"
tput setaf $myWHT
}
# Let's install all the packages we need
fuECHO "### Installing packages."
2015-02-14 23:26:06 +00:00
apt-get update -y
apt-get install genisoimage syslinux -y
2014-11-28 17:02:20 +00:00
2015-03-09 13:05:24 +00:00
# Let's get Ubuntu 14.04.2 as .iso
fuECHO "### Downloading Ubuntu 14.04.2."
2014-11-28 17:08:32 +00:00
if [ ! -f $myUBUNTUISO ]
2014-11-28 17:02:20 +00:00
then wget $myUBUNTULINK;
2014-11-28 17:08:32 +00:00
else fuECHO "### Found it locally.";
2014-11-28 17:02:20 +00:00
fi
# Let's loop mount it and copy all contents
fuECHO "### Mounting .iso and copying all contents."
mkdir -p $myTMP $myTPOTCEDIR
losetup /dev/loop0 $myUBUNTUISO
mount /dev/loop0 $myTMP
cp -rT $myTMP $myTPOTCEDIR
chmod 777 -R $myTPOTCEDIR
umount $myTMP
losetup -d /dev/loop0
# Let's add the files for the automated install
fuECHO "### Adding the automated install files."
mkdir -p $myTPOTCEDIR/tpotce
2015-01-28 16:08:34 +00:00
cp installer/* -R $myTPOTCEDIR/tpotce/
2014-11-28 17:02:20 +00:00
cp isolinux/* $myTPOTCEDIR/isolinux/
cp kickstart/* $myTPOTCEDIR/tpotce/
cp preseed/* $myTPOTCEDIR/tpotce/
chmod 777 -R $myTPOTCEDIR
# Let's create the new .iso
fuECHO "### Now creating the .iso."
cd $myTPOTCEDIR
mkisofs -D -r -V "T-Pot CE" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../$myTPOTCEISO ../$myTPOTCEDIR
cd ..
isohybrid $myTPOTCEISO
2014-11-28 17:02:20 +00:00
# Let's clean up
fuECHO "### Cleaning up."
rm -rf $myTMP $myTPOTCEDIR
# Let's write the image to $myDEV or show instructions
if [ -b $myDEV ] && [ ! -z $1 ]
then
fuECHO "### Found a block device on $myDEV"
fuECHO "### Writing image to device. Please wait..."
dd bs=1M if="$myTPOTCEISO" of="$myDEV"
else
fuECHO "### Install to usb stick"
fuECHO "###### Show devices: df or fdisk -l"
fuECHO "###### Write to device: dd bs=1M if="$myTPOTCEISO" of=<path to device>"
fi
# Done
2014-11-28 17:02:20 +00:00
fuECHO "### Done."
exit 0