#!/bin/sh #Created by Budh & TheX1le #BackTrack 2 Installer #Alpha 3.0 ############################################################ # Configs # ############################################################ PROG=`basename $0` ############################################################ # display proper usage # ############################################################ usage() { echo " usage: $PROG [options]" echo " " echo " -f --file FILE Config file to be used" echo " -h --help Show the help message" echo " -i --interactive Interactive mode" echo " -s --scan Scan for wireless networks" echo " -v --version Show the version" echo " " exit 0 } ###################################################################################### # Budh Fdisk # ###################################################################################### function budh_fdisk { #Simple shell script that creates the partition for Backtrack HD Install using Parallels #Author: Budh, budh -at- nagologic -dot- com echo "Welcome, this script will set up your hard drives to install Backtrack2" echo "First we need to know what sizes you want your partitions to be" echo -n "Boot Partition size in MB ie 1GB = 1024MB (default 50): "; read BOOTP echo -n "Swap Partition size in MB ie 1GB = 1024MB (default 512)"; read SWAPP #echo -n "ROOT Partition size in MB ie 1GB = 1024MB"; read ROOTP #Warns the user that formatting procedure is taking place. clear echo "WARNING!!" echo "This procedure will wipe the content of the current hard drive." echo -n "Are you sure you want to continue. (y/n): "; read sAnswer if [ $sAnswer = "n" ] ; then echo "Leaving..." exit fi echo "Creating the partitions..." fdisk /dev/hda <<< $'n\np\n1\n\n+'"$BOOTP"$'M\nn\np\n2\n\n+'"$SWAPP"$'M\n\nn\np\n3\n\n\n\na\n1\nt\n2\n82\nw\nq\n' >/dev/null if [ "$?" != "0" ]; then echo "Partition creation failed on" exit else echo "Partition creation was successfull" fdisk /dev/hda <<< $'p\nq\n' fi; echo "Formating the drives..." mkfs.ext3 /dev/hda1 >/dev/null if [ "$?" != "0" ]; then echo "mkfs.ext3 failed" exit fi mkfs.ext3 /dev/hda3 >/dev/null if [ "$?" != "0" ]; then echo "mkfs.ext3 failed" exit fi mkswap /dev/hda2 swapon /dev/hda2 echo "Mounting partition..." mkdir /tmp/boot mkdir /tmp/BT2f mount /dev/hda1 /tmp/boot mount /dev/hda3 /tmp/BT2f echo "Script is completed..." exit 0 } ###################################################################################### # Error checking Function, based on ouput codes ie 0=success any thing is is failure # ###################################################################################### function errcsk { if [ "$?" != "0" ]; then echo $ERRMSG exit else echo $SUCMSG fi } ###################################################################################### # User Input Section # ###################################################################################### function usr_input { clear echo "This simple script is just for installing bt2, it assumes you have created and formatted your partitions all ready. Version BETA 2" #Handles input of boot and root partitions echo "Your Source for BT files EX. /" read SOURCE echo "Your boot partition EX. hda1" read BOOT echo "Your root partition EX. hda3" read ROOT clear } ###################################################################################### # Input Validation Chk # ###################################################################################### function input_val { if [ -z "$SOURCE" ]; then echo "Please set a source" exit else if [ -z "$BOOT" ]; then echo "Please set a boot Destination" exit else if [ -z "$ROOT" ]; then echo "Please set a root Destination" exit fi fi fi } ###################################################################################### # Mounts Partitons and checks that they exist" # ###################################################################################### function mount_an_chk { if [ "$BOOT" == "$ROOT" ]; then echo -e "This is not the best recomended install method. Continue? [y/n]" read YES if [ "y" != "$YES" ]; then exit fi echo "Mounting Drive" ERRMSG=$(echo -e "\033[31m Mounting failed check your partitions") SUCMSG=$(echo "Drive mounted sucessfully") mount /dev/$ROOT /tmp/backtrack errcsk else echo "Mounting Drives" mount /dev/$BOOT /tmp/backtrack/boot mount /dev/$ROOT /tmp/backtrack ERRMSG=$(echo -e "\033[31m Mounting failed check your partitions") SUCMSG=$(echo "Drives mounted sucessfully") mount /dev/$ROOT /tmp/backtrack errcsk fi } ###################################################################################### # Creats new install / with files and folders # ###################################################################################### function cp_root { mkdir -p /tmp/backtrack/boot cp --preserve -R -v $SOURCE/{bin,dev,home,pentest,root,usr,etc,lib,opt,sbin,var} /tmp/backtrack ERRMSG=$(echo -e "\033[31m Files did not copy correctly there were some errors") SUCMSG=$(echo "Backtrack files copied sucessfully") errcsk mkdir /tmp/backtrack/{mnt,proc,sys,tmp} ERRMSG=$(echo -e "\033[31m mnt,proc,sys,tmp failed to be made there was an error") SUCMSG=$(echo "mnt,proc,sys,tmp created sucessfully") errcsk cp "$SOURCE"/boot/vmlinuz /tmp/backtrack/boot ERRMSG=$(echo -e "\033[31m Kernel did not copy correctly there was an error") SUCMSG=$(echo "Kernel copied sucessfully") errcsk read -p "Backtrack copied to hard drive successfully press the ANY KEY to continue" clear echo "mounting dev and proc" mount --bind /dev/ /tmp/backtrack/dev/ mount -t proc proc /tmp/backtrack/proc/ ERRMSG=$(echo -e "\033[31m dev or proc failed to mount there was an error") SUCMSG=$(echo "dev and proc mounted sucessfully") errcsk } ###################################################################################### # Chroot Function # ###################################################################################### function chrooted { echo "your next step is to chroot into your new install IE [chroot /tmp/backtrack/ /bin/bash], then edit /etc/lilo.conf and run lilo -v . Thats it your installed" } ###################################################################################### ##### ############################# Main ########################### ##### ###################################################################################### usage #usr_input #input_val #mount_an_chk #cp_root #chrooted