Method:
(From Recovery, Installer USB, or another operating system):
- Create the RAID either through the GUI or terminal
- Edit the GPT of the newly mounted volume. Add an EFI partition and an HFS+ or APFS partition as required (thanks
Taruga)
- Format the partition
- Mount the formatted volume
- Perform install as normal
- With APFS, expect an error towards the end of the install saying "Running bless to place boot files failed."
- Restart in single user mode. Mount root.
- Rename /usr/standalone/bootcaches.plist
- Reboot and enjoy macOS on RAID
Note that the process can also be applied to High Sierra, but because High Sierra will not auto-convert the array you retain a bootable HFS+ RAID install with correctly populated booter partitions. The booter partitions will populate for an APFS RAID as well, but the kextcache update gets you stuck in a boot loop.
Pictures!
- Create the RAID either through the GUI or terminal:
Code:
diskutil ar create stripe Macintosh\ RAID free /dev/disk5 /dev/disk6 /dev/disk7 /dev/disk8
View attachment 793697
- Edit the GPT. I made mine with a few padder blocks to match what I saw with Apple's layout. Your start block (
-b) and size (
-s) values will be different. I had to keep unmounting the disk between each added entry.
Code:
gpt create /dev/disk9
gpt add -b 40 -s 409600 -i 1 -t efi /dev/disk9
gpt add -b 409640 -s 59440560 -i 2 -t apfs /dev/disk9
gpt show /dev/disk9
View attachment 793699
- Format the partitions
Code:
For HFS+:
newfs_hfs -J -v Macintosh\ RAID /dev/disk9s2
For APFS:
newfs_apfs -v Macintosh\ RAID /dev/disk9s2
View attachment 793701
- Mount the partition
- Install as normal. With a GPT on the disk, there is no need to trick the installer!
With HFS+ and High Sierra, you are done! You're Welcome! With APFS, expect an error:
Code:
macOS could not be installed on your computer
Running bless to place boot files failed.
This is because bless doesn't understand APFS on RAID - it tries to bless the preboot partition, and something says no. It doesn't matter! We can either manually select one of the booter partitions at the startup manager, or set it as the default volume there (
http://hints.macworld.com/article.php?story=20080919150504866)
The new install will boot, attempt to update the boot helper partitions using kextcache, then reboot. It gets stuck in a loop attempting to update the cache. Allow a single reboot cycle to update the caches. Next, boot to single user (command-s at boot) then:
Code:
mount -uw /
mv /usr/standalone/bootcaches.plist /usr/standalone/bootcaches.bkp
This might even be able to be done from the installer, after the failure message, though I haven't tried it.
This results in a fully update-able install on APFS and RAID:
View attachment 793705 View attachment 793704