Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
An Open Letter to the Unsupported Mac Community

Hello! I'm Foxlet, one of the developers in the unsupported Mac community who made tools such as AUSEnabler, NightEnabler, newCore, FetchMacOS, and APFSBoot, and have been working on getting High Sierra to work on unsupported Macs as of the latest.

Even when Apple may not be supporting the latest macOS on older, but still capable machines, it's exciting to see many users on the MacRumors community helping to get around the limitations of the installer and the operating system to give new life to these older machines. It's also a great learning experience for those unfamiliar with macOS's underlaying technologies, and generally it's just fun.

I want to talk about two things: Honesty and openness. It's at the very core of what drives many of the users here to develop the tools to enable these machines to work. We learn from each other through openness and communication, and everyone gets to fairly pitch in their work in improving the tools that allow these Macs to run macOS. One example of a community that has done this well is the Hackintosh Community, but even them can have one or two people with the problems that are to be noted.

As of recently, many of you have noticed that I have not recently released any tools or spoken much in the forums. Some may have thought I was in a hiatus or that I had become disinterested in macOS High Sierra. I would like to take this time to explain why I have been seemingly inactive recently.

If you have recently gotten a copy of the macOS High Sierra Patcher with dosdude1's latest technique for booting APFS without a helper partition, I would like you to open the app's Package Contents, and navigate to Contents/Resources/macOS Post Install.app/Contents/Resources. Inside the Resources folder exists a file called startup.nsh. This is the primary script that powers that APFS boot technique.

I would've liked to commend dosdude1 for the time taken to research and develop that technique, had it actually been his work alone. Unfortunately, that isn't the case. What is actually the case is that said APFS boot technique isn't his original work at all. If you were to look at the credits for the application and his recent posts, you might be inclined to believe it was his work. What is actually true is that the real author is never mentioned at all. This is where honesty is involved.

Namely, one of the projects mentioned above, APFSBoot, has a script that controls the boot logic for APFS under EFI. Said script starts a little like this:
f4BAyvW.png

Note line number 8 in the source code. It seems like an important line. In reality, it doesn't serve much of an effect to the application. It merely a driver double check. Someone who was aware of the implication would've probably never included that line at all. However, someone who wasn't completely informed but had seen the source code to APFSBoot would've copied it without a second look.

In either case, my source code included that line, and the seemingly original technique by dosdude1 included the very same dummy line, followed by slightly modified version of the logic that is included in APFSBoot itself, as to get around possible suspicion. Notably, APFSBoot had yet to be released except to a small group of users, so this is even more concerning as it was done without permission.

This isn't the only concerning part of the technologies previously included in dosdude1's series of patchers. If you've seen the new macOS download feature in his patcher, you might have noticed that it pulled the installation data from Apple directly. In a similar story, it appears to be original work, but in reality, it merely copies the techniques shown in FetchMacOS. Further examples include the technique of using El Capitan as an installer base (in newCore), and even earlier than that, the AUSEnabler technique had been included (albeit with credit) in his patcher, but without permission or source code. I had to ask dosdude1 to remove it after the fact.

This leads to the second point in the letter, openness. His tool is useful and relatively user friendly, but in the aspect of explaining what is patched in the system or documentation of the techniques used, it falls short. His tool is closed source, and at first sight it would be somewhat difficult to understand how exactly the program is setting up an macOS Installer. All of the releases for newCore, FetchMacOS, and APFS have had source code included as an inherent part of how the program is written, even going back to AUSEnabler being in AppleScript as to be easily readable by the user.

Even with openness, I have gone a bit further by never asking for donations. It is all for the community to enjoy and further share the tools with the same openness of the original. Unfortunately, dosdude1 has been taking donations for his patcher, which is fine by itself, but knowing that much of it is taken from an uncredited author, it seems odd that monetary support is going to the person who never truly developed those techniques at all.

In the end, this is the experience I expected to encounter with some of the developers in this community. I originally only wanted to get my personal MacBook Pro to work with the latest macOS, and to help the rest of the community in these developments.

Due to this situation, I have decided to no longer release any remaining tools in the set, and while I would like to help the rest of the community in this forum, I don't think it's appropriate to do so if it will mean that it will be taken without really giving back the same knowledge.

Honesty and openness. I would very much like if dosdude1 would consider those qualities even more, because in the end, it is the community who helps one another.

Thanks for reading.

(tl;dr: macOS High Sierra Patcher took code and techniques from FetchMacOS, APFSBoot, and newCore, while leaving it uncredited and dosdude1 claiming it his own).
Ok, for one thing, I did all the research for that EFI booting method on my own. I have not once laid eyes on your code for that, I spent hours on the Intel EFI shells and scripting page (https://software.intel.com/en-us/articles/efi-shells-and-scripting) learning the EFI shell commands and the like. I noticed that a file, "apfs.efi", was located in the /usr/standalone/i386 directory of a High Sierra install. Figuring that was an efi driver, I tested that theory by experimenting using it in rEFInd. I installed rEFInd to my ESP and placed apfs.efi in rEFInd's drivers directory. Sure enough, this allowed rEFInd to detect the APFS volume, so I decided to try the same in an EFI shell. I then loaded up a shell and ran "load fs0:/apfs.efi" after placing it in the ESP of the disk. Noticing that this worked after running "map -r", which refreshes the available filesystems in the EFI, I thought of simply calling S/L/CS/boot.efi from the shell. Sure enough, that booted OS X. Then, while writing the script, I ran into a snag where I would get a "Can't read from file - Media changed" error. That's when I found, after more research, for the necessity of "set -v efishellmode 1.1.2" and "connect -r", and using map -n instead of map -r. (found on this webpage). Adding those commands to the script fixed that issue, so I finished it up and released it as a solution. Once again, I did all the research for this MY SELF, and it is purely a coincidence that we arrived at the same conclusion. So please, do not accuse me of ripping off your work, as I did not (how would I have gotten it anyways? You never posted it publicly). And, I notice you point out that, because I named the file "startup.nsh", you imply that I stole your source file. Well, if you didn't realize, that's what the startup script HAS to be named for the EFI shell to execute it. I could go on all day outlining the researching and experimenting process I went through with every other component to my patcher, and none of it involves looking at, or even downloading any piece of software you have linked on this forum.
 
Last edited:
foxlet,
I understand how you feel because when that shell script flashed up it reminded of what I had seen previously from you.
Having said that, don't you think this is something that you and dosdude1 should sort out privately?
By deciding to no longer release any remaining tools in the set, you are punishing other people here who are completely blameless but are caught in the middle of a situation that was probably (hopefully) not maliciously intended.
Whatever you decide, thanks for your contribution to this point.

Addendum—It seems from dosdude's reply that great minds think alike and you both came to the same result. That should be enough to settle the issue.
 
Alright, just updated. For quicker testing, you can just copy macOS Post Install from the Contents/Resources folder in the High Sierra Patcher app to /Applications/Utilities on your USB drive.

Also but not quite. After applying the new 2.1.4 APBS post install patch, I get an EFI boot entry in the option-key boot selector...

/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_RAID 499.8 GB disk0s2
3: Apple_Boot Boot OS X 134.2 MB disk0s3

/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *250.1 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_APFS Container disk4 249.8 GB disk1s2

/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_RAID 499.8 GB disk2s2
3: Apple_Boot Boot OS X 134.2 MB disk2s3

/dev/disk3 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD +499.8 GB disk3

/dev/disk4 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +249.8 GB disk4
Physical Store disk1s2
1: APFS Volume High Sierra APFS HD 56.9 GB disk4s1
2: APFS Volume Preboot 17.5 MB disk4s2
3: APFS Volume Recovery 517.0 MB disk4s3
4: APFS Volume VM 20.5 KB disk4s4

but I find that the boot now fails as shown below...

IMG_0069.JPG
 
Ok, for one thing, I did all the research for that EFI booting method on my own. I have not once laid eyes on your code for that, I spent hours on the Intel EFI shells and scripting page (https://software.intel.com/en-us/articles/efi-shells-and-scripting) learning the EFI shell commands and the like. I noticed that a file, "apfs.efi", was located in the /usr/standalone/i386 directory of a High Sierra install. Figuring that was an efi driver, I tested that theory by experimenting using it in rEFInd. I installed rEFInd to my ESP and placed apfs.efi in rEFInd's drivers directory. Sure enough, this allowed rEFInd to detect the APFS volume, so I decided to try the same in an EFI shell. I then loaded up a shell and ran "load fs0:/apfs.efi" after placing it in the ESP of the disk. Noticing that this worked after running "map -r", which refreshes the available filesystems in the EFI, I thought of simply calling S/L/CS/boot.efi from the shell. Sure enough, that booted OS X. Then, while writing the script, I ran into a snag where I would get a "Can't read from file - Media changed" error. That's when I found, after more research, for the necessity of "set -v efishellmode 1.1.2" and "connect -r", and using map -n instead of map -r. (found on this webpage). Adding those commands to the script fixed that issue, so I finished it up and released it as a solution. Once again, I did all the research for this MY SELF, and it is purely a coincidence that we arrived at the same conclusion. So please, do not accuse me of ripping off your work, as I did not (how would I have gotten it anyways? You never posted it publicly). And, I notice you point out that, because I named the file "startup.sh", you imply that I stole your source file. Well, if you didn't realize, that's what the startup script HAS to be named for the EFI shell to execute it.

I remain very doubtful, particularly with the timing of events. No semblance of "another APFS technique" came up until after I had mentioned APFSBoot solved the FaceTime/iMessage issue. Very quickly after that the patch was pushed out in the macOS High Sierra patcher, which would make it quite the coincidence.
 
and removing the HFS help partition on the volume with the working APFS partition, I find that the application of the patches on the APFS volume doesn't result in a boot selector entry for the APFS partition

IIWY, I'd start-over with a freshly partitioned SSD after repartitioning once to HFS+ using DU on the USB installer and then repartitioning again to APFS using DU on the USB installer and then running First Aid on the APFS SSD. When you know the APFS partition is good, run the install and post-install. This worked for me—hope it does for you.

No joy here. After creating a new USB installer with the High Sierra Patch 2.1.3 using today's Beta 8 HS release and removing there HFS help partition on the volume with the working APFS partition, I find that the application of the patches on the APFS volume doesn't result in a boot selector entry for the APFS partition.

/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *250.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk4 249.8 GB disk0s2

/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_RAID 499.8 GB disk1s2
3: Apple_Boot Boot OS X 134.2 MB disk1s3

/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_RAID 499.8 GB disk2s2
3: Apple_Boot Boot OS X 134.2 MB disk2s3

/dev/disk3 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD +499.8 GB disk3

/dev/disk4 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +249.8 GB disk4
Physical Store disk0s2
1: APFS Volume High Sierra APFS HD 56.9 GB disk4s1
2: APFS Volume Preboot 17.5 MB disk4s2
3: APFS Volume Recovery 517.0 MB disk4s3
4: APFS Volume VM 20.5 KB disk4s4

The application of the APBS patch at the end of the patching sequence seems really fast so I'm unclear if it is really being executed.

I also tried running 'Disk FirstAid' on the upgraded APFS partition from the USB installer and no issues were found. Reapplying the patches to the APFS volume several times never changed the absence of an entry in the boot selector.
 
I remain very doubtful, particularly with the timing of events. No semblance of "another APFS technique" came up until after I had mentioned APFSBoot solved the FaceTime/iMessage issue. Very quickly after that the patch was pushed out in the macOS High Sierra patcher, which would make it quite the coincidence.
Well, one aspect that you apparently glossed over is the fact that I was working before experimenting with the EFI trying to get iMessage and FaceTime to work with the helper partition method. When I finally decided that it wasn't going to happen, I decided to try to figure out another method. Originally, I WAS planning on bundling rEFInd to boot the OS, after I noticed that "apfs.efi" file found /usr/standalone/i386 worked as a driver in rEFInd, but decided not to, well, for the reasons you mentioned... It's not my code. Yes, I will admit that, your posting that gave me the hint that booting using a helper partition was causing the problem, so that's when I ditched the helper partition idea and decided to figure out a different method, which I did. Every line in "startup.nsh" was the result of MY OWN research. And, you mentioned I ripped off your macOS downloader tool. Well... Have you even searched the updatecatalog gz file for "BaseSystem.dmg"? There's a URL that points right to it, right alongside the other OS installer files. That's how I figured that one out. And you think I use the El Capitan installer still? How the heck could I pack all that into a 48MB download? If you don't get the hint, no, HS Patcher doesn't use any trace of the El Capitan installer (yeah, it did for a few versions, but I got it to work with the normal High Sierra installer, which is how it's been for quite some time now.) I'd recommend you stop assuming I stole your code, when in reality I did not.
 
Last edited:
FYI, after pulling all my other SATA drives and reapplying the 2.1.4 APFS post patch, the resulting EFI boot entry in the boot selector finally worked. It did seem to pop up the same boot selector prompt and pause until I hit return although I may have just been impatient and it would have done that regardless. Now to see if it behaves once I add back the two SATA drives. I guess the current patch is still confused by the presence of additional SATA drives when setting up the EFI partition on the SATA drive with the APFS partition.

ps I did a full install so the boot brought up the login screen requesting the iCloud password. The authentication went normally without issue so that is definitely fixed. Nice.
[doublepost=1503973926][/doublepost]
I remain very doubtful, particularly with the timing of events. No semblance of "another APFS technique" came up until after I had mentioned APFSBoot solved the FaceTime/iMessage issue. Very quickly after that the patch was pushed out in the macOS High Sierra patcher, which would make it quite the coincidence.

Considering that EFI booting problems like these will likely only have one viable solution, it isn't really that implausible that the two of you came to the same approach independently.
[doublepost=1503974143][/doublepost]Okay, rebooting again showed me exactly what I going on... that there was a timer set on the boot script execution that was counting down. I also confirmed that selecting the APFS volume in the Startup Disk preference panel doesn't impact the EFI boot patching. Nice. Now to see if everything holds together once the other two SATA drives go back in.
[doublepost=1503974756][/doublepost]Sigh. Adding back the two SATA drives in bay 1 and bay 2 (the drive with the APFS volume is in bay 3) produced the same error I had seen previously when I applied the APFS post patch in their presence...

Boot file not found, waiting...

So while the basic functionality is present for APFS booting, the current implementation doesn't handle the presence of additional SATA drives quite right yet.
 
FYI, after pulling all my other SATA drives and reapplying the 2.1.4 APFS post patch, the resulting EFI boot entry in the boot selector finally worked. It did seem to pop up the same boot selector prompt and pause until I hit return although I may have just been impatient and it would have done that regardless. Now to see if it behaves once I add back the two SATA drives. I guess the current patch is still confused by the presence of additional SATA drives when setting up the EFI partition on the SATA drive with the APFS partition.

ps I did a full install so the boot brought up the login screen requesting the iCloud password. The authentication went normally without issue so that is definitely fixed. Nice.
[doublepost=1503973926][/doublepost]

Considering that EFI booting problems like these will likely only have one viable solution, it isn't really that implausible that the two of you came to the same approach independently.
[doublepost=1503974143][/doublepost]Okay, rebooting again showed me exactly what I going on... that there was a timer set on the boot script execution that was counting down. I also confirmed that selecting the APFS volume in the Startup Disk preference panel doesn't impact the EFI boot patching. Nice. Now to see if everything holds together once the other two SATA drives go back in.
[doublepost=1503974756][/doublepost]Sigh. Adding back the two SATA drives in bay 1 and bay 2 (the drive with the APFS volume is in bay 3) produced the same error I had seen previously when I applied the APFS post patch in their presence...

Boot file not found, waiting...

So while the basic functionality is present for APFS booting, the current implementation doesn't handle the presence of additional SATA drives quite right yet.
Hmm, OK, can you try running "map -r -b" at the EFI shell prompt? Take note of all the "fsX" aliases. Let me know what the largest one is. Also, you can try iterating through them manually... Just type, for example, "fs4:\System\Library\CoreServices\boot.efi" for each "fsX" entry and see if one boots your HS install.
 
Booting into my other Sierra AppleRAID volume, I now see...

/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *250.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk4 249.8 GB disk0s2

/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_RAID 499.8 GB disk1s2
3: Apple_Boot Boot OS X 134.2 MB disk1s3

/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_RAID 499.8 GB disk2s2
3: Apple_Boot Boot OS X 134.2 MB disk2s3

/dev/disk3 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD +499.8 GB disk3

/dev/disk4 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +249.8 GB disk4
Physical Store disk0s2
1: APFS Volume High Sierra APFS HD 54.1 GB disk4s1
2: APFS Volume Preboot 17.5 MB disk4s2
3: APFS Volume Recovery 517.0 MB disk4s3
4: APFS Volume VM 20.5 KB disk4s4

which makes me suspect that the exact assignment of disk device number may vary from boot to boot. I also mounted the EFI partition on the disk0s1 but the startup.nsh is a binary file so I couldn't glean anything about what device it might have been set to for booting the APFS partition.

At least I know it can boot in general if it is the only SATA device which is a step towards the final fix.
 
Glad we have confirmed the same situation—cannot have more than one boot drive at present.
I put mine back on the Sonnet PCIe card in slot 1 with no other boot drives in any slots and the RefiND shell still works, so it's nice to get back 6 Gb/s boot speeds again but a bit painful to have swap out drives when wanting to go back to Sierra, etc.
 
I see the following with 'map -r -b', but at the Shell prompt entering 'fs4:\System\Library\CoreServices\boot.efi' produces an error message about being an unknown command so I need a better explanation on how to invoke that.

Looking in System Profiler under Sierra, the SATA entry for the drive with the APFS partition is reported as...

WDC WD2500AAJS-00L7A0:


Capacity: 250.06 GB (250,059,350,016 bytes)
Model: WDC WD2500AAJS-00L7A0
Revision: 10.30000
Serial Number: WD-WCAV2R720609
Native Command Queuing: Yes
Queue Depth: 32
Removable Media: No
Detachable Drive: No
BSD Name: disk2
Medium Type: Rotational
Bay Name: Bay 3
Partition Map Type: GPT (GUID Partition Table)
S.M.A.R.T. status: Verified
Volumes:
EFI:
Capacity: 209.7 MB (209,715,200 bytes)
File System: MS-DOS FAT32
BSD Name: disk2s1
Content: EFI
Volume UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B
disk2s2:
Capacity: 249.85 GB (249,849,593,856 bytes)
BSD Name: disk2s2
Content: Apple_APFS

which is yet a different disk number assignment so if the current mechanism relies on that rather than UUID, it definitely is too fragile.

IMG_0070.JPG

[doublepost=1503977854][/doublepost]Okay, the reported values the fs# entries seem to be consistent across two reboots, however I am still lost on how to properly execute boot.efi path. I tried...

load fs4:\System\Library\CoreServices\boot.efi

and it reported not file so I guess that may be the AppleRAID device? For the same with fs# entries, the same format of load command reported that boot.efi wasn't a driver is I must be missing some syntax here at the EFI shell prompt.
[doublepost=1503978100][/doublepost]Mounting the EFI partition at disk0s1 for the drive with the APFS partition, I see...

[Mac-Pro:/Volumes/EFI] howarth% ls -R
EFI startup.nsh

./EFI:
APPLE BOOT apfs.efi

./EFI/APPLE:
EXTENSIONS

./EFI/APPLE/EXTENSIONS:
Firmware.scap

./EFI/BOOT:
BOOTX64.efi

if that is useful at all.
[doublepost=1503978372][/doublepost]Looking at https://wiki.archlinux.org/index.php/REFInd#UEFI_shell, I didn't see any examples of how to boot the /System/Library/CoreServices/boot.efi under the section describing the load command.
[doublepost=1503978525][/doublepost]Also, executing 'help' at the EFI shell prompt spews out the listing without pausing so the top half of the available commands scroll out of view before I can read them.
[doublepost=1503979961][/doublepost]Okay, I managed to parse out the contents of the startup.nsh file and the copy on the EFI partition of the disk with the APFS partition has...

echo -off
set -v efishellmode 1.1.2
set apfsBootFile "apfsboot"
set macOSBootFile "System\Library\CoreServices\boot.efi"
load fs0:\EFI\apfs.efi
connect -r
map -u
for %m run (1 50)
if exist "fs%m:\%apfsBootFile%" then
echo "Starting macOS..."
fs%m:\%macOSBootFile%
exit
else
if %m == 50 then
echo "Boot file not found, exiting..."
endif
endif
endfor
[doublepost=1503980194][/doublepost]I guess the problem is obvious here. If you have to loop through all of the potential devices to find the macOSBootFile on the drive with the APFS partition, then you probably have to do the same for the loading of the apfs.efi as well, no?
 
Last edited:
I see the following with 'map -r -b', but at the Shell prompt entering 'fs4:\System\Library\CoreServices\boot.efi' produces an error message about being an unknown command so I need a better explanation on how to invoke that.

Looking in System Profiler under Sierra, the SATA entry for the drive with the APFS partition is reported as...

WDC WD2500AAJS-00L7A0:


Capacity: 250.06 GB (250,059,350,016 bytes)
Model: WDC WD2500AAJS-00L7A0
Revision: 10.30000
Serial Number: WD-WCAV2R720609
Native Command Queuing: Yes
Queue Depth: 32
Removable Media: No
Detachable Drive: No
BSD Name: disk2
Medium Type: Rotational
Bay Name: Bay 3
Partition Map Type: GPT (GUID Partition Table)
S.M.A.R.T. status: Verified
Volumes:
EFI:
Capacity: 209.7 MB (209,715,200 bytes)
File System: MS-DOS FAT32
BSD Name: disk2s1
Content: EFI
Volume UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B
disk2s2:
Capacity: 249.85 GB (249,849,593,856 bytes)
BSD Name: disk2s2
Content: Apple_APFS

which is yet a different disk number assignment so if the current mechanism relies on that rather than UUID, it definitely is too fragile.

View attachment 714957
[doublepost=1503977854][/doublepost]Okay, the reported values the fs# entries seem to be consistent across two reboots, however I am still lost on how to properly execute boot.efi path. I tried...

load fs4:\System\Library\CoreServices\boot.efi

and it reported not file so I guess that may be the AppleRAID device? For the same with fs# entries, the same format of load command reported that boot.efi wasn't a driver is I must be missing some syntax here at the EFI shell prompt.
[doublepost=1503978100][/doublepost]Mounting the EFI partition at disk0s1 for the drive with the APFS partition, I see...

[Mac-Pro:/Volumes/EFI] howarth% ls -R
EFI startup.nsh

./EFI:
APPLE BOOT apfs.efi

./EFI/APPLE:
EXTENSIONS

./EFI/APPLE/EXTENSIONS:
Firmware.scap

./EFI/BOOT:
BOOTX64.efi

if that is useful at all.
[doublepost=1503978372][/doublepost]Looking at https://wiki.archlinux.org/index.php/REFInd#UEFI_shell, I didn't see any examples of how to boot the /System/Library/CoreServices/boot.efi under the section describing the load command.
[doublepost=1503978525][/doublepost]Also, executing 'help' at the EFI shell prompt spews out the listing without pausing so the top half of the available commands scroll out of view before I can read them.
[doublepost=1503979961][/doublepost]Okay, I managed to parse out the contents of the startup.nsh file and the copy on the EFI partition of the disk with the APFS partition has...

echo -off
set -v efishellmode 1.1.2
set apfsBootFile "apfsboot"
set macOSBootFile "System\Library\CoreServices\boot.efi"
load fs0:\EFI\apfs.efi
connect -r
map -u
for %m run (1 50)
if exist "fs%m:\%apfsBootFile%" then
echo "Starting macOS..."
fs%m:\%macOSBootFile%
exit
else
if %m == 50 then
echo "Boot file not found, exiting..."
endif
endif
endfor
[doublepost=1503980194][/doublepost]I guess the problem is obvious here. If you have to loop through all of the potential devices to find the macOSBootFile on the drive with the APFS partition, then you probably have to do the same for the loading of the apfs.efi as well, no?
I just figured out what was causing the issue... Apparently, EFI goes fs0-9, but then after 9, it goes from fsA-Z. The reason the APFS partition wasn't detected is because it came after fs9 (at least, I think). I've just finished editing the script to search fsA-Z, and it is available in the latest version of Sierra Patcher.
 
Okay, I'll try that. I did find that manually executing...

load fs4:\EFI\apfs.efi

loaded but not the original syntax of with fs0. Oddly, executing...

fs4:\System\Library\CoreServices\boot.efi

didn't find a file to load but when I did the same for fs3, the AppleRAID partition with Sierra was booted.
[doublepost=1503983180][/doublepost]
I just figured out what was causing the issue... Apparently, EFI goes fs0-9, but then after 9, it goes from fsA-Z. The reason the APFS partition wasn't detected is because it came after fs9 (at least, I think). I've just finished editing the script to search fsA-Z, and it is available in the latest version of Sierra Patcher.

The 2.1.5 release still uses a broken APFS patch. However I did manage to get the patched system to boot from the EFI prompt with the commands

load fs4:\EFI\apfs.efi
connect -r
map -u
fs5:\Library\System\CoreServices\boot.efi

The mapped fs#'s ran up to fs8. I worked my way down through those and fs5 was the first that booted and it happened to be the correct one for the APFS High Sierra installation. Coding this properly can be tricky since you currently walk up from 1 to 50 for the fs entries which would boot the AppleRAID partition with Sierra here if not the individual slices of that AppleRAID. To make this bullet proof, I would imagine that once the fs# with the apfs.efi is found, the UUID of the associated drive needs to be used to make sure that the fs# used to load the actual APFS resides on the same physical drive. Of course there is the final layer of complexity of making sure that the correct apfs.efi was found in the first place if more than one of the physical drives have APFS partitions (ie there is than one drive with APFS volumes with High Sierra attached to the machine).
[doublepost=1503984109][/doublepost]Also, confirmed that the 2.1.5 APFS patch is still installing a startup.nsh which has...

load fs0:\EFI\apfs.efi

hardcoded in it rather than a loop to search for the correct fs# which contains it.
 
Argh. Something seems to be crashing lots. CPU pegged to 100% with ReportCrash taking up the bulk of it (or two of them). (not done switch to AFPS yet).

I am seeing a lot of the following messages in system.log

Aug 28 23:27:38 MacBook-Pro com.apple.xpc.launchd[1] (com.apple.notificationcenterui.agent[5453]): Binary is improperly signed.
Aug 28 23:27:38 MacBook-Pro com.apple.xpc.launchd[1] (com.apple.notificationcenterui.agent): Service only ran for 0 seconds. Pushing respawn out by 1 seconds.
Aug 28 23:27:39 MacBook-Pro com.apple.xpc.launchd[1] (com.apple.universalaccessd[5424]): Binary is improperly signed.
Aug 28 23:27:39 MacBook-Pro com.apple.xpc.launchd[1] (com.apple.notificationcenterui.agent[5464]): Binary is improperly signed.
Aug 28 23:27:39 MacBook-Pro com.apple.xpc.launchd[1] (com.apple.notificationcenterui.agent): Service only ran for 0 seconds. Pushing respawn out by 1 seconds.
and crash logs for

NotificationCenter_2017-08-28-233326_MacBook-Pro.crash
universalaccessd_2017-08-28-233004_MacBook-Pro.crash
Notification Center won't open when clicking on it on the menu bar.

@dosdude1 do you have any thoughts on this one?

I have gone into the recovery partition and re-run “csrutil disable” (which said it was successful), but after reboot I was still getting errors about notificationcenter and corebrightness being “binary is improperly signed”

— Edit

Installing yesterday’s beta appears to have cleared the issue. CPU usage has gone back to normal, and crashes in those processes have stopped.
 
Last edited:
Hi everyone,

Is the Radeon 7950 Mac edition in an Mac Pro 3,1 supported with High Sierra in the latest Beta ?

Thank you for your help.
 
As far as I know and from bitter experience with the Radeon RX 460, HD4870, HD5870 and HD6870 (all latter three with efi rom), no, only stock or Apple option cards like the HD2600 XT, and 8800GTX that shipped in the MP3,1 are currently supported. Some people say the Radeon RX580 is supported OOTB, but I'd borrow one to check before spending that kind on money on a nearly 10-year old Mac. You'll also need to sort out the power draw using SATA to PCIe adapters.
 
Thank you for your answer.

I already have the Radeon 7950 Mac edition running fine in My MacPro 3,1 in El Capitan.

I'm just thinking to Upgrade the OS to HS, and to know if the GPU is working well.

I think i have to wait for the GM , and test by myself with a "test Disk" ;)
 
El Cap and Sierra are no problem for all those cards I listed BUT High Sierra is a different beast at present. Unless things change a lot in the next 4 weeks, you will likely not be able to install HS on a MP3,1 with a HD7950 GPU. Go carefully with a test SSD and not your main SSD.
 
Hello everybody

just finished testing, this time your tool works @dosdude1, made a new usb installer drive, from that the usb formatted my SSD to APFS, then applied the post install patch and It went thru the configuration completely normal, everything is working normal !!!

Everting working perfect on MacBook Pro 17 mid 2009...

Will test this puppy out latter on my Mac mini with swapped wifi card :)

As for the hole @foxlet / @dosdude1 situation , not that it's any of my concern but I share @nekton1's opinion, this could and should have been handled privately... Let's not forget we are all on the same side here, just because for example a person like me that has absolutely no coding skills or doesn't understand half of what's going on software wise doesn't mean every now and then we don't contribute to making these tools get better and better.

I saw @dosdude1 's clarification and justification, and he did admit that @foxlet comments pointed him in the right directions... So to quote some dude in a movie somewhere " can't we all just get along " ?


I was one of the first or maybe even the first person to report the iMessage and FaceTime issue on APFS, and I would like to think tho very small, I made a contribution to something, because let's not also forget the many hours we spend just testing all these tools and reporting back, so people with exceptional skills who actually care about and also spend tremendous amount's of hours or days just to fix them because they want and like to help...

There is a saying here in Portugal, ruffly translated goes: You don't wash your dirty laundry in front of company...

Honestly I really think that @foxlet is a very talented part of this community, and I do hope if not now that in time he will reconsider his decision to stop helping this community, I think we always have room for people to help out in there own way, because If some of you read back, even newbies like me asked a bunch of stuff and he took his time to actually answer it... And you can tell that he knows what he is talking about...

Anyway, I don't think @dosdude1 had any malice or ripped off anybody, he is also been quite kind in answering a bunch of my questions no matter how dumb they are :D


So I would like to thank @parrotgeek1 , @Czo , @foxlet , @dosdude1 , and Im sure a whole lot more of other people that made all of this happen !!!
 
Last edited:
@dosdude1 Doesn't work for me still, just tried it with v2.1.5.

Made a new USB installer with this version, did a clean APFS High Sierra install, applied the patches - and nothing. In my case, it doesn't even look like the startup.nsh get fired, let alone it having trouble finding any APFS bootable disks.

Both EFI and startup.nhs are in place, same for "apfsboot" in the root of my High Sierra disk.
 
I just figured out what was causing the issue... Apparently, EFI goes fs0-9, but then after 9, it goes from fsA-Z. The reason the APFS partition wasn't detected is because it came after fs9 (at least, I think). I've just finished editing the script to search fsA-Z, and it is available in the latest version of Sierra Patcher.

Just to be clear, my observation was that the output from 'map -r -b' only listed fs0 through fs4 after the failed boot dumped me into the EFI shell. Only after I had successfully loaded apfs.efi with the sequence...

load fs4:\EFI\apfs.efi
connect -r
map -u

did 'map -r -b' report the existence of fs5 through fs8. Assuming we impose the limitation that the boot mechanism will only support a single APFS based system installation, I suspect we need replace...

load fs0:\EFI\apfs.efi

with something like...

for %m run (1 50)
if exist "fs%m:\EFI\apfs.efi" then
load fs%m:\EFI\apfs.efi
exit
else
if %m == 50 then
echo "apfs.efi file not found, exiting..."
endif
endif
endfor

This still leaves the problem of finding the appropriate fs# which resides on the same disk as the apfs.efi. This may be a bit of a struggle to achieve with the limited programming language available in the EFI shell.
[doublepost=1504003669][/doublepost]
@dosdude1 Doesn't work for me still, just tried it with v2.1.5.

Made a new USB installer with this version, did a clean APFS High Sierra install, applied the patches - and nothing. In my case, it doesn't even look like the startup.nsh get fired, let alone it having trouble finding any APFS bootable disks.

Both EFI and startup.nhs are in place, same for "apfsboot" in the root of my High Sierra disk.

The problem for multiple drive configuration is the hard coded...

load fs0:\EFI\apfs.efi

which is based on the erroneous assumption that the fs# where apfs.efi resides will always be fs0. In my case it is the last fs# found before that command is loaded... fs4. Also, the additional fs# entries weren't revealed in the EFI shell mapping with 'map -r -b' until a successful load of apfs.efi.
[doublepost=1504004907][/doublepost]Also from the output of 'sudo nvram -p', I have...

efi-boot-device <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>3B46F49B-BC50-4B9B-97FF-2A20E6472AF1</string></dict></dict><key>IOEFIShortForm</key><true/><key>BLLastBSDName</key><string>disk0s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\BOOT\BOOTX64.efi</string></dict></array>%00

efi-boot-device-data %04%01*%00%01%00%00%00(%00%00%00%00%00%00%00%00@%06%00%00%00%00%00%9b%f4F;P%bc%9bK%97%ff* %e6G*%f1%02%02%04%040%00\%00E%00F%00I%00\%00B%00O%00O%00T%00\%00B%00O%00O%00T%00X%006%004%00.%00e%00f%00i%00%00%00%7f%ff%04%00

Hopefully when booting from the option-key boot selector, the nvram setting of UUID gets replaced with that of the selected device from the boot selector within the EFI shell. If that is the case, then hopefully you can find a way to use that UUID to validate the correct fs# for both loading the \EFI\apfs.efi and the \Library\System\CoreServices\boot.efi so that they are coming of the same physical drive and actually the one selected in either the Startup Disk system preference panel or in the boot selector.
[doublepost=1504005442][/doublepost]FYI, the most complete EFI programming instruction manual that I can find appropriate to the EFI release supported by Apple seems to be...

https://community.hpe.com/hpeb/attachments/hpeb/hpsc-46/2667/1/efi_shell_cmnd_1_1.pdf
 
Last edited:
Another observation is that the initial fs# entries shown by 'map -r -b' after the misguided attempt to 'load fs0:\EFI\apfs.efi' all make sense in terms of the output from 'sudo diskutil list' and 'sudo nvram -p'. The first SATA drive with...

/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_RAID 499.8 GB disk0s2
3: Apple_Boot Boot OS X 134.2 MB disk0s3

produces fs# mapping entries of...

fs0 :HardDisk - Alias hd45a0a1 blk0
Acpi(PNP0A03,0)/Pci(1FI2)/Sata(0,0,0)/HD(Part1,Sig0CB4AD45-CF1E-49A6-9013-0072C9A0D797)
fs1 :HardDisk - Alias hd45a0a3 blk1
Acpi(PNP0A03,0)/Pci(1FI2)/Sata(0,0,0)/HD(Part3,Sig659A4577-F4DB-4DD7-9496-1359BC73849F)

which map to disk0s1 for the EFI partition and disk0s3 for the Apple_Boot partition on the first AppleRAID drive.

/dev/disk1 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_RAID 499.8 GB disk1s2
3: Apple_Boot Boot OS X 134.2 MB disk1s3

produces fs# mapping entries of...

fs2 :HardDisk - Alias hd45b0a1 blk2
Acpi(PNP0A03,0)/Pci(1FI2)/Sata(1,0,0)/HD(Part1,Sig8CB00D28-97BD-4F3B-9D55-33D5831A8293)
fs3 :HardDisk - Alias hd45b0a3 blk3
Acpi(PNP0A03,0)/Pci(1FI2)/Sata(1,0,0)/HD(Part3,SigD1B68AB0-80BA-4BED-81FF-462B2E16D95B)

which map to disk0s1 for the EFI partition and disk0s3 for the Apple_Boot partition on the second AppleRAID drive while for the actual drive with the APFS partition we have...

/dev/disk2 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *250.1 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_APFS Container disk4 249.8 GB disk2s2

which produces an fs# mapping entry of...

fs4 :HardDisk - Alias hd45c0a1 blk4
Acpi(PNP0A03,0)/Pci(1FI2)/Sata(2,0,0)/HD(Part1,Sig3B46F49B-BC50-4B9B-97FF-2A20E6472AF1)

which matches the UUID set in nvram for the boot drive selected in the Startup Disk system preference panel.

I am concerned that in order to match the UUID of the EFI boot partition with that containing the appropriate /System/Library/CoreServices/boot.efi, we might actually have to resort to a full-blown EFI application rather than just simple EFI shell scripting.
 
Last edited:
This reply is from an old Unix hand (retired) who has done work in the public domain (NASA),
education (UC Berkeley, whose copyrights are used by Apple, so I've been in the iPhone legal credits
for stuff which may be still there after 35-40 years (!)), the GNU project, and the private sector
which deals in closed source, largely.

Proper credit for ideas should be honored, not just in academia. Simple stuff like
"kudos to XXX" for the idea, even if the implementation is independent.

Further, placing work under the GNU copyleft might prove useful here, whereby
if the code is "open", it can't go into commercial work. Profit sharing can be negotiated,
but I wish I thought of that when I was a young lad, choosing "work for hire"
eventually. If I had a penny for every line of code I wrote used by any Apple device,
well ... but I retired and put twins thru college, bought a house, etc. in other ways
(like AAPL stock ownership).

Hope it all can work out, and thanx to both 'foxlet' and 'dosdude1' for keeping our
oldie-but-goodie Mac gear alive!
 
Last edited:
Okay, I'll try that. I did find that manually executing...

load fs4:\EFI\apfs.efi

loaded but not the original syntax of with fs0. Oddly, executing...

fs4:\System\Library\CoreServices\boot.efi

didn't find a file to load but when I did the same for fs3, the AppleRAID partition with Sierra was booted.
[doublepost=1503983180][/doublepost]

The 2.1.5 release still uses a broken APFS patch. However I did manage to get the patched system to boot from the EFI prompt with the commands

load fs4:\EFI\apfs.efi
connect -r
map -u
fs5:\Library\System\CoreServices\boot.efi

The mapped fs#'s ran up to fs8. I worked my way down through those and fs5 was the first that booted and it happened to be the correct one for the APFS High Sierra installation. Coding this properly can be tricky since you currently walk up from 1 to 50 for the fs entries which would boot the AppleRAID partition with Sierra here if not the individual slices of that AppleRAID. To make this bullet proof, I would imagine that once the fs# with the apfs.efi is found, the UUID of the associated drive needs to be used to make sure that the fs# used to load the actual APFS resides on the same physical drive. Of course there is the final layer of complexity of making sure that the correct apfs.efi was found in the first place if more than one of the physical drives have APFS partitions (ie there is than one drive with APFS volumes with High Sierra attached to the machine).
[doublepost=1503984109][/doublepost]Also, confirmed that the 2.1.5 APFS patch is still installing a startup.nsh which has...

load fs0:\EFI\apfs.efi

hardcoded in it rather than a loop to search for the correct fs# which contains it.
Ah, you're right... For some reason, I was under the impression that the volume the EFI shell was loaded from would always be "fs0". Apparently that's not the case, so I'll edit the script to search for it instead, which should hopefully get it working.
 
Ah, you're right... For some reason, I was under the impression that the volume the EFI shell was loaded from would always be "fs0". Apparently that's not the case, so I'll edit the script to search for it instead, which should hopefully get it working.

On reflection, I think we can work around this whole issue failry simply. All we need to do is have the APFS patch install create a place keeper file named efi_boot_<UUID> in the EFI partition and a similar one named system_boot_<UUID> in the partition with /System/Library/CoreServices. Then have the APFS patch installer create a startup.nsh which does a check for the presence of a efi_boot_<UUID> file as the mechanism for finding the right fs# for loading the apfs.efi from and likewise add a check for the presence of a system_boot_<UUID> file when searching for the appropriate fs# for loading the boot.efi from.

I won't be able to do any further testing until I get home from work tonight but I am pretty sure that approach will make the APFS boot process bullet-proof.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.