Actually this:
fungalnet wrote
The # 1 assumption on the obarun-install script is that partitioning is done, mounted, and ready for the installation to begin
is the same reason why there's absolutely no need to split anything.
You're making this more complicated than it is :D
Let me try to elaborate:
The number one assumption is that partitioning is done, mounted and ready to begin the installation.
The default installation guide further assumes a BIOS based setup.
If somebody wanted to install on UEFI he'd either know how to partition or read some wiki and then partition accordingly. (This is why it should be an expert option, to not raise any doubt in the mind of a less experienced user when he'd be asked about this. He wouldn't even know.)
The checks make sure that even the informed user didn't make any mistake by accident and that:
(a) The EFI system partition really exists (The Partition type GUID of the ESP will always be c12a7328-f81f-11d2-ba4b-00a0c93ec93b as it has to be set to be recognized by the firmware)
(b) If using EFISTUB the ESP is mounted at /mnt/boot (really this is not a spec requirement, but it's such an awesome commodity that there's no reason why not to point the NVRAM entry to the default Arch application path; and the script does use this location so it is a requirement for the installer)
As for Grub the ESP could be mounted almost anywhere and the script would still work as Grub internally sets the pointers.
There is no need to mount a /mnt/root. What makes you think that? The EFI system partition should get mounted by the user before hand to /mnt/efi for GRUB and to /mnt/boot for EFISTUB.
The installation of either of these is in reality only one single line of code, is nested in the usual /mnt directory and does not need any special installation scripts. It does assume that the user has the partition done right, mounted and ready for the installation though ;)
I hope this makes it more understandable.
Now, there might be users who:
(a) don't know the difference between UEFI and BIOS to begin with
(b) know the difference and might want to try it from the installer
without having read the installation guides
(c) might want to try a mixed legacy setup like UEFI/MBR
These cases are easily accounted for:
(a) should just use the script as always and not change the according expert option. He's not an expert for this option.
(b) this might seem tricky first, but the checks would inform the user exactly of the necessary steps to take. He could then exit out of the script and redo his partitioning and mounting.
(c) UEFI won't mind. It's backwards compatible with MBR. The script will inform that GPT is recommended though. Correct partitioning and mounting still applies.
I think it's pretty solid. I think programming scripts is mostly about: "Where could the user f**k up? Can I prevent this from happening?" Apparently not everything can be covered by code and some things (few really) have to be done manually, generally speaking. So if a user would like some super exotic installation boot mechanism he'd just choose not to install a bootloader, chroot into his install and go do some wizardry. (That's how I usually set up Obarun on EFISTUB to begin with)
What do you think?