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.
I have a MBP5,1 and for me it was sufficient to delete the telemetry plugin AND include the LegacyUSB.. kext. But it is important to rebuild the prelinkedkernel. I used another supported machine for that. Unfortunately I haven’t a prelinkedkernel with just the added LegacyUSB... anymore. Don’t know if my current one helps you...

Edit:
I put the kext in /L*/Extrnsions as it’s not an apple kext (also @dosdude1 patcher puts it there)

Correct, the prelinkedkernel should be very clean from other manual patches to target different machine.
 
  • Like
Reactions: avz and TimothyR734
Please Help what am i doing wrong (MacBook 7,1):confused:
 

Attachments

  • 825D4C51-4283-4CE0-9F33-85D69FCB7A1F.jpeg
    825D4C51-4283-4CE0-9F33-85D69FCB7A1F.jpeg
    1.2 MB · Views: 456
  • Like
Reactions: TimothyR734
Well, I certainly had no idea what I was doing then but from discussions with MLforAll, the frameworks he patched failed to get passed the login screen. WindowServer crashes happened immediately when it begins to draw the UI. I think he was also trying to rewrite the kernel as well but I don’t really know what he was changing.

Additionally, I tried emailing an Apple Engineer regarding some input. They redirected me to Intel and said everything I needed they had but I never gotten any response from them
Wow, I'm surprised you got that far with Apple. Bravo. Thanks for the insight.
 
Correct, the prelinkedkernel should be very clean from other manual patches to target different machine.


Here is a link to my prelinkedkernel : https://www.dropbox.com/s/n4lhk3jmml7vny0/prelinkedkernel?dl=0

I'll keep it up for as long as it is useful to you guys.

NOTES for those want to experiment with this:

  • It is used on an mbp 5,3 (core 2 duo, dual Nvidia gpu) AND Mac Pro 3,1. Not sure how compatible it is with other machines.
  • It gets you to at least a single-user mode prompt
  • To boot use the nvram -no_compat hack or you get the no entry sign
  • It is a "barebones" patched prelinked kernel with:
    • legacyusbinjector
    • @ASentientBot 's IOHID to eliminate stalls
    • AppleHDA for sound (basically follow patcher 1.3.3 legacyaudio.sh)
    • IO80211 for wifi (basically follow patcher 1.3.3 legaciwifi.sh)
    • remove telemetry (follow patcher 1.3.3 legacyPlatform.sh)
  • Sorry if I missed anything, but it was a while ago (should have taken more careful notes...)

If you are not comfortable patching your machines like this in Terminal (at least) PLEASE wait for @dosdude1 's or @0403979 's patcher - otherwise you're in for a lot of unnecessary pain and frustration.

You've been warned ;) I am not supporting this in any way.


Good luck.
 
I was able to do a disk to disk copy of a clean install of Catalina.

Things to watch out for:
1. the machine cannot have any snapshots present (it conflicts with inversion).
2. After the copy, ASR inverts the APFS disk and copies data back to the appropriate volumes.
3. I don't know much about the inversion, but the ASR man page explains it.
4. A disk to disk copy was fast, it does the following:
  • erases the disk (zero's it out quickly).
  • copies just the data, not the empty space.
  • no need for long or elaborate workarounds.

Some truncated output:

Code:
Mac-Pro ~ % sudo asr --source /dev/disk7 --target /dev/disk12 -erase -noverify -noprompt -puppetstrings
XSTA    start    505    client
XSTA    setup

    Validating target...done

XSTA    metadata

    Validating source...done
    Validating sizes...nx_kernel_mount:1387: : checkpoint search: largest xid 1574, best xid 1574 @ 67

done

nx_kernel_mount:1387: : checkpoint search: largest xid 1574, best xid 1574 @ 67

XSTA    restore

PSTT    0    100    start restore
PINF    50    100    restore
PINF    100    100    restore
PSTP    100    100    stop restore

    Inverting target volume...done

PSTT    0    100    start datacopy

Failed to stat file /Volumes/Catalina3/AppleInternal, error No such file or directory

PINF    2    100    Copy data volume
PINF    100    100    Copy data volume

    Restored target device is /dev/disk12s1.

XSTA    finish
[doublepost=1560703249][/doublepost]The advantage of asr is the volumes are restored as a unique volume. dd's restores such an exact duplicate that they end up sharing the same container.
 
Last edited:
I have a MBP5,1 and for me it was sufficient to delete the telemetry plugin AND include the LegacyUSB.. kext. But it is important to rebuild the prelinkedkernel. I used another supported machine for that. Unfortunately I haven’t a prelinkedkernel with just the added LegacyUSB... anymore. Don’t know if my current one helps you...

Edit:
I put the kext in /L*/Extrnsions as it’s not an apple kext (also @dosdude1 patcher puts it there)

Yes, I put it in a /L/E as well, then I run sudo kextcache -system-prelinked-kernel/sudo kextcache -system-caches on a supported machine(while being logged in a system though). It said it allowed LegacyUSBInjector.kext with invalid signature.

P.S. I chmod/chown before running the sudo kextcache.
 
Last edited:
Yes, I put it in a /L/E as well, then I run sudo kextcache -system-prelinked-kernel/sudo kextcache -system-caches on a supported machine(while being logged in a system though). It said it allowed LegacyUSBInjector.kext with invalid signature.

P.S. I chmod/chown before running the sudo kextcache.

have you copied the prelinkedkernel (with allowed LegacyUSB) obtained from supported machine into the other unsupported Catalina /S/L/Prelinkedkernels/ ?

From supported machine, you have also to copy the LegacyUSBInjector.kext inside your external Catalina /L/E/ and you should chown/chmod it on the destination target.

Because prelinkedkernel sometimes contains an half part of a kext for the other half it needs a match inside LE or SLE of the target drive where it runs.

If prelinkedkernel doesn't find inside its target LE or SLE the exact matching kext version, then the kext replaced won't work.
 
Last edited:
Yup (got a better idea im down for suggestions)

I'd say PRAM reset and apple bootloader should back, but I don't know what OpenCore has done to your machine, even a PRAM reset may cause a brick, unless OpenCore is only a bootloader in the EFI partition, so you should ask to someone who understand OpenCore.
 
I was able to restore a disk image successfully as well. All this takes just 1-2 minutes even on slow hardware and drives.

I am using hdiutil to write the images (dd should work as well, not sure how different the images are).
asr to restore the images
you can also use asr to copy from disk to disk directly provided both are unmounted.

using_

diskutil unmountDisk /dev/diskX

and to find the disk it's easier to use grep like so_

diskutil list | grep Catalina

The best part over other utilities is when you select the main disk, it will copy all the APFS volumes needed including the data volume and everything ends up where it needs to go. This is also not a file copy solution, but a block level without having have user mess with different disk sizes. It handles the required APFS inversion process for you as well.

The disadvantage is the disks mounted by unmounted or in a read only state. So a host system is required. When I feel up to it, I will be writing a front end for this. I am going to start off with my own shell scripts, then write an API from them and then write a GUI.

Code:
Mac-Pro ~ % sudo asr restore --source /Volumes/Space/Catalina/Catalina1.dmg --target /dev/disk9 -erase -noprompt -noverify -puppetstrings

unless you want to spend a lot of time scanning disks, use -noverify. It will save 2/3's the time literally and you can always test a backup or restore and in my case, just save a copy of the backup to a disk image.

scanning is a long process to get a checksum. Does a verify then does the finishing processes which I have had better like with -noverify then this drawn out process.
 
Last edited:
I was able to do a disk to disk copy of a clean install of Catalina.

Things to watch out for:
1. the machine cannot have any snapshots present (it conflicts with inversion).
2. After the copy, ASR inverts the APFS disk and copies data back to the appropriate volumes.
3. I don't know much about the inversion, but the ASR man page explains it.
4. A disk to disk copy was fast, it does the following:
  • erases the disk (zero's it out quickly).
  • copies just the data, not the empty space.
  • no need for long or elaborate workarounds.

Some truncated output:

Code:
Mac-Pro ~ % sudo asr --source /dev/disk7 --target /dev/disk12 -erase -noverify -noprompt -puppetstrings
XSTA    start    505    client
XSTA    setup

    Validating target...done

XSTA    metadata

    Validating source...done
    Validating sizes...nx_kernel_mount:1387: : checkpoint search: largest xid 1574, best xid 1574 @ 67

done

nx_kernel_mount:1387: : checkpoint search: largest xid 1574, best xid 1574 @ 67

XSTA    restore

PSTT    0    100    start restore
PINF    50    100    restore
PINF    100    100    restore
PSTP    100    100    stop restore

    Inverting target volume...done

PSTT    0    100    start datacopy

Failed to stat file /Volumes/Catalina3/AppleInternal, error No such file or directory

PINF    2    100    Copy data volume
PINF    100    100    Copy data volume

    Restored target device is /dev/disk12s1.

XSTA    finish
[doublepost=1560703249][/doublepost]The advantage of asr is the volumes are restored as a unique volume. dd's restores such an exact duplicate that they end up sharing the same container.
Are you still working on CloneToolX? You seem to be an APFS God right now ;) so maybe you can help me here: the Catalina image I created a while ago on my pro 3,1 was from a dd'ed image to its 70Gb blank target APFS partition. My original image was from a 63.5GB stick. I ended up with a 63.5 GB partition on the pro 3,1. but I can't manage to re-size it in Disk Utility at all. There is about 50GB of unused space that can only be partitioned into its own volume. Ideally I would like to expand the Catalina partition but I'm stuck with what the original image size was...
 
  • Like
Reactions: TimothyR734
have you copied the prelinkedkernel (with allowed LegacyUSB) obtained from supported machine into the other unsupported Catalina /S/L/Prelinkedkernels/ ?

From supported machine, you have also to copy the LegacyUSBInjector.kext inside your external Catalina /L/E/ and you should chown/chmod it on the destination target.

Because prelinkedkernel sometimes contains an half part of a kext for the other half it needs a match inside LE or SLE of the target drive where it runs.

If prelinkedkernel doesn't find inside its target LE or SLE the exact matching kext version, then the kext replaced won't work.

Yes, I think this is where it gets really tricky for me. I just connected my SSD from unsupported machine to the supported machine via USB. Installed Catalina, manually deleted telemetry plugin, copied LegacyUSBInjector.kext to L/E, chmod -R 755/chown -R root:wheel it, run sudo kextcache, then put the SSD right back in the unsupported machine. I definitely did not copy prelinkedkernel. I am guessing that prelinkedkernel stayed with the supported machine and did not get transferred to the unsupported machine via SSD?
 
I don't know how to use that....


OK can't delete this post, thanks for r/softwaregore macrumors
unknown.png

[doublepost=1560707882][/doublepost]Can I suggest dosdude1 and 0403979 make a discord server and link it in their tools and bios?
 
  • Like
Reactions: TimothyR734
Yes, I think this is where it gets really tricky for me. I just connected my SSD from unsupported machine to the supported machine via USB. Installed Catalina, manually deleted telemetry plugin, copied LegacyUSBInjector.kext to L/E, chmod -R 755/chown -R root:wheel it, run sudo kextcache, then put the SSD right back in the unsupported machine. I definitely did not copy prelinkedkernel. I am guessing that prelinkedkernel stayed with the supported machine and did not get transferred to the unsupported machine via SSD?

You are doing right steps, but you can simply from the supported Mac power-on holding "alt-option" targeting the boot from the external Catalina SSD.

Even an ultra-patched Catalina will work on a supported Mac except that Metal is disabled. And from there you can replace kext and everything else.

Just try this time using: sudo kextcache -i /

If instead you were already booting from supported Mac targeting directly the USB SSD, then probably your 2008 machine needs additional usb patches for example the IOUSB OHCI from dosdude1.
 
  • Like
Reactions: avz and TimothyR734
I don't know how to use that....


OK can't delete this post, thanks for r/softwaregore macrumors
unknown.png

[doublepost=1560707882][/doublepost]Can I suggest dosdude1 and 0403979 make a discord server and link it in their tools and bios?
right click on IOHIDFamily hang fix delete the hang fix then open S/L/E then right click on IOHIDFamily.kext-show package contents-open contents-MacOS and replace then one you downloaded :)
[doublepost=1560709213][/doublepost]
Here is a link to my prelinkedkernel : https://www.dropbox.com/s/n4lhk3jmml7vny0/prelinkedkernel?dl=0

I'll keep it up for as long as it is useful to you guys.

NOTES for those want to experiment with this:

  • It is used on an mbp 5,3 (core 2 duo, dual Nvidia gpu) AND Mac Pro 3,1. Not sure how compatible it is with other machines.
  • It gets you to at least a single-user mode prompt
  • To boot use the nvram -no_compat hack or you get the no entry sign
  • It is a "barebones" patched prelinked kernel with:
    • legacyusbinjector
    • @ASentientBot 's IOHID to eliminate stalls
    • AppleHDA for sound (basically follow patcher 1.3.3 legacyaudio.sh)
    • IO80211 for wifi (basically follow patcher 1.3.3 legaciwifi.sh)
    • remove telemetry (follow patcher 1.3.3 legacyPlatform.sh)
  • Sorry if I missed anything, but it was a while ago (should have taken more careful notes...)

If you are not comfortable patching your machines like this in Terminal (at least) PLEASE wait for @dosdude1 's or @0403979 's patcher - otherwise you're in for a lot of unnecessary pain and frustration.

You've been warned ;) I am not supporting this in any way.


Good luck.
your prelinked kernel works on macOS Mojave actually boots a bit faster :)
 
Last edited:
Please Help what am i doing wrong (MacBook 7,1):confused:

You could try this with less risk than a PRAM reset, after your MB7,1 power-on try press and keep pressed "alt-option" key until you may see your previous OSX Installations with their icons from the apple bootloader.

Because I guess OpenCore is only a bootloader copied in your EFI partition.
 
  • Like
Reactions: TimothyR734
Easier communication (in my opinion) as it would deliver mobile notifications if some @'s you and you could be up to date with where things are at in some sort of announcements channel.
I can make one and you can maintain it if you want. Cause I don't have time to manage it.
 
  • Like
Reactions: TimothyR734
I can make one and you can maintain it if you want. Cause I don't have time to manage it.
I could certainly give it a try, I haven't run any big servers before so it would be a first, but then again there is no guarantee it would be big, it could just end up being a small hub for an information source

I would like to see what @dosdude1 's opinion on this is
 
Last edited:
You are doing right steps, but you can simply from the supported Mac power-on holding "alt-option" targeting the boot from the external Catalina SSD.

Even an ultra-patched Catalina will work on a supported Mac except that Metal is disabled. And from there you can replace kext and everything else.

Just try this time using: sudo kextcache -i /

If instead you were already booting from supported Mac targeting directly the USB SSD, then probably your 2008 machine needs additional usb patches for example the IOUSB OHCI from dosdude1.

Yes, I was thinking that I might need that extra patch since my machine needs it for Mojave. I just do not know how to manually patch it(post install patch using Mojave patcher might target the wrong location I'm guessing).
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.