I've been having a look at the scripts and have been thinking that maybe we can change things.... How about a new installer which installs the correct files dependent on which volume the user points to? That way the installer options can just be for either Standard or EFI. A lot of the code we need is already there in the existing scripts.
Simple Examples for Standard:
User selection in package installer:
HFS+ format partition on a disk with a GPT.
Script Action:
if found any non-HFS+ partitions (or TYPE: Microsoft Basic Data)
write boot0hfs, boot1h and boot
else
write boot0, boot1h and boot
make partition active
User selection in package installer:
FAT+ format partition on a disk with a GPT.
Script Action:
if found any non-HFS+ partitions (or TYPE: Microsoft Basic Data)
write boot0hfs, boot1f2 and boot
else
write boot0, boot1f2 and boot
make partition active
User selection in package installer:
a RAID Volume
Script Action: (Not too sure here as I haven't done this)
if found any non-HFS+ partitions (or TYPE: Microsoft Basic Data)
write boot0hfs, boot1h and boot to each disk
else
write boot0, boot1h and boot to each disk
make partition active
Simple Example for EFI:
User selection in package installer:
Any partition on a disk with a GPT.
Script Action:
if GPT disk and format is hfs then
mount_hfs volume
if found any non-HFS+ partitions (or TYPE: Microsoft Basic Data)
write boot0hfs, boot1h and boot
else
write boot0, boot1h and boot
make partition active
un-mount volume
else (format is ms_dos)
mount_msdos volume
if found any non-HFS+ partitions (or TYPE: Microsoft Basic Data)
write boot0hfs, boot1h and boot
else
write boot0, boot1h and boot
make partition active
un-mount volume
I don't see why this type of logic can't be implemented in only two scripts (Standard and EFI), and could the same standard script be applied to disks with an FDisk_partition_scheme? (obviously no EFI script needed for this). I have only used GPT for my installs so I need to do some testing on that.