␊ |
checkpartitionactive ()␊ |
{␊ |
partitionactive=$( fdisk440 -d ${bootrdisk} | grep -n "*" | awk -F: '{print $1}')␊ |
partitionactive=$( fdisk -d ${bootrdisk} | grep -n "*" | awk -F: '{print $1}')␊ |
␊ |
if [ -n "${partitionactive}" ]; then ␊ |
␉echo "Partition flagged active is ${partitionactive}"␊ |
|
checkpartitionactive␊ |
␊ |
if ${diskupdate}; then␊ |
␉echo "Executing command: fdisk440 -u -f ${diskloader} -y ${bootdisk}"␊ |
␉fdisk440 -u -f "${osxvolume}/${diskloader}" -y ${bootdisk}␊ |
␉echo "Executing command: fdisk -u -f ${diskloader} -y ${bootdisk}"␊ |
␉fdisk -u -f "${osxvolume}/${diskloader}" -y ${bootdisk}␊ |
fi␊ |
␊ |
#echo "Executing command: dd if=${partitionloader} of=${bootrdev}"␊ |
|
# If table is MBR make the correct slice active. If table is GPT make the first partition active (BadAxe compatibility).␊ |
[ "${partitiontable}" = "GUID_partition_scheme" ] && bootslice=1␊ |
if [[ "${partitiontable}" = "FDisk_partition_scheme" || "${partitiontable}" = "GUID_partition_scheme" ]]; then␊ |
␉fdisk440 -e ${bootdisk} <<-MAKEACTIVE␊ |
␉fdisk -e ${bootdisk} <<-MAKEACTIVE␊ |
␉print␊ |
␉flag ${bootslice}␊ |
␉write␊ |
|
checkpartitionactive␊ |
␊ |
[ -d "${bootvolume}" ] || mkdir -p "${bootvolume}"␊ |
echo "Executing command: mount_msdos -u 0 -g 0 ${bootdev} ${bootvolume}"␊ |
echo "Executing command: mount_hfs ${bootdev} ${bootvolume}"␊ |
mount_msdos -u 0 -g 0 "${bootdev}" "${bootvolume}"␊ |
␊ |
echo "Executing command: cp ${osxvolume}${filesystemloader} ${bootvolume}/boot"␊ |
cp "${osxvolume}${filesystemloader}" "${bootvolume}/boot"␊ |
#cp -R "${osxvolume}/Extra" "${bootvolume}/Extra"␊ |
␊ |
#if ! [ -d "${bootvolume}/Extra/Extensions" ]; then␊ |
#␉echo "Executing command: mkdir -p ${bootvolume}/Extra/Extensions"␊ |
#␉mkdir -p "${bootvolume}/Extra/Extensions"␊ |
#fi␊ |
if ! [ -d "${bootvolume}/Extra/Extensions" ]; then␊ |
␉echo "Executing command: mkdir -p ${bootvolume}/Extra/Extensions"␊ |
␉mkdir -p "${bootvolume}/Extra/Extensions"␊ |
fi␊ |
# unpack any existing Extensions.mkext already on the booter volume␊ |
#if [ -e "${bootvolume}/Extra/Extensions.mkext" ]; then␊ |
#␉echo "Executing command: mkextunpack -d ${bootvolume}/Extra/Extensions ${bootvolume}/Extra/Extensions.mkext"␊ |
#␉mkextunpack -d "${bootvolume}/Extra/Extensions" "${bootvolume}/Extra/Extensions.mkext"␊ |
#␉echo "Executing command: rm -R -f ${bootvolume}/Extra/Extensions.mkext"␊ |
#␉rm -R -f "${bootvolume}/Extra/Extensions.mkext"␊ |
#fi␉␊ |
if [ -e "${bootvolume}/Extra/Extensions.mkext" ]; then␊ |
␉echo "Executing command: mkextunpack -d ${bootvolume}/Extra/Extensions ${bootvolume}/Extra/Extensions.mkext"␊ |
␉mkextunpack -d "${bootvolume}/Extra/Extensions" "${bootvolume}/Extra/Extensions.mkext"␊ |
␉echo "Executing command: rm -R -f ${bootvolume}/Extra/Extensions.mkext"␊ |
␉rm -R -f "${bootvolume}/Extra/Extensions.mkext"␊ |
fi␉␊ |
␊ |
# copy existing /Extra␊ |
#if [ -d "${2}/Extra" ]; then␊ |
#␉[ -d "${bootvolume}/Extra/Extensions" ] || mkdir -p "${bootvolume}/Extra/Extensions"␊ |
#␉echo "Executing command: find ${2}/Extra -name '*.plist' -depth 1 -exec cp -f {} ${bootvolume}/Extra \;"␊ |
#␉find "${2}/Extra" -name '*.plist' -depth 1 -exec cp -f {} "${bootvolume}/Extra/" \;␊ |
#␉if [ -f "${2}/Extra/Extensions.mkext" ]; then␊ |
#␉␉echo "Executing command: mkextunpack -d ${2}/Extra/Extensions ${2}/Extra/Extensions.mkext"␊ |
#␉␉mkextunpack -d "${bootvolume}/Extra/Extensions" "${2}/Extra/Extensions.mkext"␊ |
#␉fi␊ |
#␉if [ -d "${2}/Extra/Extensions" ]; then␊ |
#␉␉echo "Executing command: find ${2}/Extra/Extensions -name '*.kext' -depth 1 -exec cp -R {} ${bootvolume}/Extra/Extensions \;"␊ |
#␉␉find "${2}/Extra/Extensions" -name '*.kext' -depth 1 -exec cp -R {} "${bootvolume}/Extra/Extensions" \;␊ |
#␉fi␊ |
#fi␊ |
if [ -d "${2}/Extra" ]; then␊ |
␉[ -d "${bootvolume}/Extra/Extensions" ] || mkdir -p "${bootvolume}/Extra/Extensions"␊ |
␉echo "Executing command: find ${2}/Extra -name '*.plist' -depth 1 -exec cp -f {} ${bootvolume}/Extra \;"␊ |
␉find "${2}/Extra" -name '*.plist' -depth 1 -exec cp -f {} "${bootvolume}/Extra/" \;␊ |
␉if [ -f "${2}/Extra/Extensions.mkext" ]; then␊ |
␉␉echo "Executing command: mkextunpack -d ${2}/Extra/Extensions ${2}/Extra/Extensions.mkext"␊ |
␉␉mkextunpack -d "${bootvolume}/Extra/Extensions" "${2}/Extra/Extensions.mkext"␊ |
␉fi␊ |
␉if [ -d "${2}/Extra/Extensions" ]; then␊ |
␉␉echo "Executing command: find ${2}/Extra/Extensions -name '*.kext' -depth 1 -exec cp -R {} ${bootvolume}/Extra/Extensions \;"␊ |
␉␉find "${2}/Extra/Extensions" -name '*.kext' -depth 1 -exec cp -R {} "${bootvolume}/Extra/Extensions" \;␊ |
␉fi␊ |
fi␊ |
␊ |
# setup link for extras␊ |
#echo "Executing command: ln -s /Volumes/${bootervolumename} ${2}/.Chameleon"␊ |
#ln -s "/Volumes/${bootervolumename}" "${2}/.Chameleon" ␊ |
# setup link for extras␊ |
echo "Executing command: ln -s /Volumes/${bootervolumename} ${2}/.Chameleon"␊ |
ln -s "/Volumes/${bootervolumename}" "${2}/.Chameleon"␊ |
␊ |
exit␊ |