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.
You know, I'm still not sure about prelinked being automatically generated if needed, at least on b1. A while ago I actually tested this by deleting it from my boot image and it won't boot (with the expected kernel error). It sure was the case in Mojave, but my experience with Cat b1 was different. Maybe a bug that just got fixed.

I may be wrong about this, but I thought that kext got embedded in the prelinked kernel. So my concern is whether old copies of kext might be in the prelinked kernel and load in preference to the actual kext files that might have been changed.
 
Using an El Capitan's OSInstall.mpkg should work too without issues.
[doublepost=1560943060][/doublepost]

I know that to create a Catalina Installer (for unsupported machines) both your method and dosdude1 work, but also the @ASentientBot one allowed to customize the Installer boot menu, adding for example the dosdude1 Mojave Post Install.app, that putting inside a Catalina BaseSystem.dmg will work , except that "Video Legacy Patch" needs to be updated with SkyLight.framework, CoreDisplay.framework, IOSurface.kext and IOHIDFamily.kext to reflect @ASentientBot new Catalina patches, but all the other retro-patches are Mojave confirmed.

The pictures showed are booting from a full (manually patched) CatalinaInstall.app (with all the dmgs inside as stock createinstallmedia) and pre-patched with shadow volume to allow inject the required modifications.

For InstallESD.dmg just this /Packages/OSInstall.mpkg (HighSierra apple signed)
For BaseSystem.dmg just the "Mojave Post Install.app" in /S/Applications/Utilities/
and Utilities.plist customized

And on my root CatalinaAPFSVolume /System/Library/CoreServices/SystemVersion.plist (from HighSierra) to allow an in-place upgrade over a previous Catalina.

Yes, I've made a progress using El Cap's OSInstall.mpkg, now I need to jump over the "you need firmware update/please select hfs+ volume". Do you know what can I use from Catalina patcher to overcome lack of native APFS support(APFS ROM patch is not sufficient)?
Once again those 2010-2011 Macs are lucky to have native APFS support.
 
Good job, that's a great solution for unsupported machines.

Yes, lets say an alternative method, and I did all the steps directly on the target Installer partition (at least 16 GB), also possible doing from DiskUtility.app (GUI mode) re-imaging (no-compression and read/write), but similar steps applies to Terminal creating a shadow volume that you can edit always with the stock BaseSystem.dmg, these steps in few words:

Code:
cd /Volumes/YourInstallerLabel/Install\ macOS\ Catalina\ Beta.app/Contents/SharedSupport

hdiutil attach -owners on BaseSystem.dmg -shadow

Customize (directly from Finder) BaseSystem adding your files

hdiutil detach /dev/diskX (or eject/unmount the "MacOS Base System" volume from Finder)

hdiutil convert -format UDZO -o BaseSystem2.dmg BaseSystem.dmg -shadow

mv BaseSystem.dmg BaseSystembackup.dmg

mv BaseSystem2.dmg BaseSystem.dmg
 
Last edited:
In order for the current Catalina PartialPatcher version to work, your system ROM needs to support booting APFS natively. You can add this functionality using my APFS ROM Patcher tool (zip password: "apfs").

Have you tested Catalina on a MacPro 3,1 yet? So far I've not had any luck applying the legacy USB injector, USBOHCI, SIP disabler, legacy audio patch and legacy platform compatibility patches from Mojave patcher onto a DP2 installation. I've tried both applying those from the Mojave patcher after the DP2 installation completes (but before the first boot) as well as manually from within Mojave at the same point in the Catalina installation. In both cases, I end up with a non-responsive USB mouse and keyboard. I am worried that the absence of a way to force the kernel caches to be rebuilt under the current patched Catalina USB installer may be leaving a prelinked kernel with embedded kext that override those that are being replaced or prevent the newly added ones from loading.
 
  • Like
Reactions: TimothyR734
Yes, I've made a progress using El Cap's OSInstall.mpkg, now I need to jump over the "you need firmware update/please select hfs+ volume". Do you know what can I use from Catalina patcher to overcome lack of native APFS support(APFS ROM patch is not sufficient)?
Once again those 2010-2011 Macs are lucky to have native APFS support.

You're right, machines supported until El Capitan don't have APFS natively, so maybe is required an additional patch to that.
 
Yes, but with diskutility's asr you can't do the opposite I mean restore a 500 gb volume (with 25 gb used) to a 32 gb volume.

Unless you re-partition or reduce the 500 gb volume, but if it's APFS container, it doesn't make you go below a certain threshold so I guess less than 32 gb are not allowed in that case.

If I don't get wrong the minimum reduction for a 500 gb APFS volume is 40-50 gb .

So in this case "ditto" (or "dd" but not sure of this) method was more suitable.
Or also Clonezilla as @jowaju suggested earlier.
Correct. Same or larger or resize original or resize dmg. It is easier clean install to a smaller size disk and then the destination is more flexible. asr is block level and deals with entire disk.

Ditto will copy system and home files fine. But it may not know how to put Data on data volume from another disk.

If yo user only doing home files or system files Ditto or Rsync file copies are fine.

I am using asr in a simple and effective manner. Faster than dd and I do not have to create the extra volumes need on APFS as it handles it.

There are pro’s and con’s to file based and block level based solutions.

If you are making clean install disk images. Put them on a small partition and clone it to a dmg. From there on our asr will handle it.

Asr rule 1 equal or greater size. Rule 2 needs 2x space for inversion and data copy.
 
Yes, APFS ROM patch that I have applied to my MacBook5,1 is not sufficient to bring the native APFS(support). But do you know how dosdude1 overcame this check in his latest Catalina patcher?
Just replace these two files with right version of Catalina.app, especially OSInstaller.

macOS Catalina PartialPatcher.app/Contents/Resources/OSInstall.mpkg
macOS Catalina PartialPatcher.app/Contents/Resources/OSInstaller

InstallESD.dmg/Packages/OSInstall.mpkg
BaseSystem.dmg/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller

OSInstaller is patched to support patched-OSInstall.mpkg and always needn't to update APFS firmware.
Of cause, you need APFS ROM patch to your machine first.
 
Last edited:
I may be wrong about this, but I thought that kext got embedded in the prelinked kernel. So my concern is whether old copies of kext might be in the prelinked kernel and load in preference to the actual kext files that might have been changed.
Using a pre-fabricated prelinked (from another machine or person) can be a way to "bootstrap" your way to something functional. Back in charge you can then kick off a rebuild yourself if necessary. kexts changing is definitely a concern during the summer beta cycles. So you're right, but it can serve as a life boat. Used to be, just touching (with touch) the S/L/E folder(s) was sufficient to force a rebuild.
 
Just replace these two files with right version of Catalina.app, especially OSInstaller.

macOS Catalina PartialPatcher.app/Contents/Resources/OSInstall.mpkg
macOS Catalina PartialPatcher.app/Contents/Resources/OSInstaller

InstallESD.dmg/Packages/OSInstall.mpkg
BaseSystem.dmg/System/Library/PrivateFrameworks/OSInstaller.framework/Versions/A/OSInstaller

OSInstaller is patched to support patched-OSInstall.mpkg and always needn't to update APFS firmware.
Of cause, you need APFS ROM patch to your machine first.

This made me go a step back to "Damaged macOS installer", but I probably made a mistake of using files from the latest Catalina patcher with the Cat B1. I should have used the earlier version that you uploaded?
 
This made me go a step back to "Damaged macOS installer", but I probably made a mistake of using files from the latest Catalina patcher with the Cat B1. I should have used the earlier version that you uploaded?
Yes, 1.0b3 for B1.
The error comes from patched-BaseSystem.dmg.

So, you need dosdude1's patcher.
It includes patch kext to use patched-BaseSystem.dmg.
 
Last edited:
This made me go a step back to "Damaged macOS installer", but I probably made a mistake of using files from the latest Catalina patcher with the Cat B1. I should have used the earlier version that you uploaded?

I guess you can't use the OSInstall.mpkg from "CatalinaPartialPatcher", since it's not apple signed, while you used the @ASentientBot method to create the Installer in the "official way" createinstallmedia.

So you should still use an El Capitan OSInstall.mpkg (apple signed).

You could try to patch the OSInstaller (only the binary put on your desktop) inside BaseSystem.dmg with this method: patching OSInstaller APFS
[doublepost=1560951849][/doublepost]
@jackluke friend, instead of using single user mode to change the framework patches, is it possible to use the terminal from recovery Catalina from @dosdude1 installer? And do the same?
Thnx

I guess you can, open the Catalina Recovery (Installer Basesystem) Terminal and type:

mount -uw /
cd /Volumes/
ls
(check your CatalinaAPFS Volume label)

chown -R 0:0 /Volumes/YourCatalinaAPFS/System/Library/Extensions/
chmod -R 755 /Volumes/YourCatalinaAPFS/System/Library/Extensions/

cd /Volumes/YourCatalinaAPFS/System/Library/Kernels/

kextcache -prelinked-kernel kernel /Volumes/YourCatalinaAPFS/System/Library/Extensions/

(I rewrote cause a too long string is not allowed in recovery or single user mode terminal).
 
Last edited:
In order for the current Catalina PartialPatcher version to work, your system ROM needs to support booting APFS natively. You can add this functionality using my APFS ROM Patcher tool (zip password: "apfs").
Highly recommend!
[doublepost=1560954364][/doublepost]
I guess you can't use the OSInstall.mpkg from "CatalinaPartialPatcher", since it's not apple signed, while you used the @ASentientBot method to create the Installer in the "official way" createinstallmedia.

So you should still use an El Capitan OSInstall.mpkg (apple signed).

You could try to patch the OSInstaller (only the binary put on your desktop) inside BaseSystem.dmg with this method: patching OSInstaller APFS
[doublepost=1560951849][/doublepost]

I guess you can, open the Catalina Recovery Terminal and type:

mount -uw /
cd /Volumes/
ls
(check your CatalinaAPFS Volume label and your Installer Label)

chown -R 0:0 /Volumes/YourCatalinaAPFS/System/Library/Extensions/
chmod -R 755 /Volumes/YourCatalinaAPFS/System/Library/Extensions/

cd /Volumes/YourCatalinaAPFS/System/Library/Kernels/

kextcache -prelinked-kernel kernel /Volumes/YourCatalinaAPFS/System/Library/Extensions/

(I rewrote cause a long string is not allowed in recovery or single user mode terminal).
Using an El Capitan's OSInstall.mpkg should work too without issues.
[doublepost=1560943060][/doublepost]

I know that to create a Catalina Installer (for unsupported machines) both your method and dosdude1 work, but also the @ASentientBot one allowed to customize the Installer boot menu, adding for example the dosdude1 Mojave Post Install.app, that putting inside a Catalina BaseSystem.dmg will work , except that "Video Legacy Patch" needs to be updated with SkyLight.framework, CoreDisplay.framework, IOSurface.kext and IOHIDFamily.kext to reflect @ASentientBot new Catalina patches, but all the other retro-patches are Mojave confirmed.

The pictures showed are booting from a full (manually patched) CatalinaInstall.app (with all the dmgs inside as stock createinstallmedia) and pre-patched with shadow volume to allow inject the required modifications.

For InstallESD.dmg just this /Packages/OSInstall.mpkg (HighSierra apple signed)
For BaseSystem.dmg just the "Mojave Post Install.app" in /S/Applications/Utilities/
and Utilities.plist customized

And on my root CatalinaAPFSVolume /System/Library/CoreServices/SystemVersion.plist (from HighSierra) to allow an in-place upgrade over a previous Catalina.
OSInstaller from ElCap has not worked for me. I think it’s too different from HS and beyond.
 
  • Like
Reactions: TimothyR734
I guess you can't use the OSInstall.mpkg from "CatalinaPartialPatcher", since it's not apple signed, while you used the @ASentientBot method to create the Installer in the "official way" createinstallmedia.

So you should still use an El Capitan OSInstall.mpkg (apple signed).

You could try to patch the OSInstaller (only the binary put on your desktop) inside BaseSystem.dmg with this method: patching OSInstaller APFS
.

Yes, El Capitan OSInstall.mpkg definitely removes "damaged" error. Do you know how that perl command needs to be run? Does OSInstaler needs to be put on a desktop before running the perl command?
 
Yes, I've made a progress using El Cap's OSInstall.mpkg, now I need to jump over the "you need firmware update/please select hfs+ volume". Do you know what can I use from Catalina patcher to overcome lack of native APFS support(APFS ROM patch is not sufficient)?
Once again those 2010-2011 Macs are lucky to have native APFS support.
Dosdude1’s install should fix the firmware thing. The system check has no idea the APFS custom firmware is there. I think Dosdude fixed this in his already.
 
Highly recommend!
[doublepost=1560954364][/doublepost]

OSInstaller from ElCap has not worked for me. I think it’s too different from HS and beyond.

We have used the @ASentientBot method to create the Catalina Installer, that's why.
It's a different way since InstallESD.dmg and BaseSystem.dmg are kept as they are and mounted in RAMdisk during OSX Installer booting, it is based on https://support.apple.com/en-us/HT201372

But the great @ASentientBot intuition to use a previous apple signed OSInstall.mpkg worked.

And it's how this package jump directly to the stock OSInstaller from Catalina let it allowing a full install avoiding firmware pkg.
 
If anyone is interested, I can make clean installs dmg’s that are under 32GB size size and supply a GUI to do a restore. and I may be able to do the restore via AFP:// as well from my server.
[doublepost=1560956635][/doublepost]
If anyone is interested, I can make clean installs dmg’s that are under 32GB size size and supply a GUI to do a restore. and I may be able to do the restore via AFP:// as well from my server.
Great. I’ll start making standard clean images and supply a simple tool to restore them to 32gb and lager drive. It will be the beginning of CloneToolX
 
You all are completely overlooking a very important part of my installer patch... A (heavily) patched OSInstallerSetupInternal framework binary. This goes into Install macOS Catalina.app/Contents/Frameworks/OSInstallerSetup.framework/Versions/A/Frameworks/OSInstallerSetupInternal.framework/Versions/A

It bypasses the OSInstall.mpkg integrity check (preventing the "Installer app is damaged and cannot be used" error), APFS firmware check, and BaseSystem integrity check.

Having library validation disabled is required in order to get the installer application to launch with this patched binary, which I solved using DisableLibraryValidation.kext

Another part you also need is my modified "brtool" binary (which goes into /usr/libexec of the BaseSystem). This modified version bypasses the PrelinkedKernel signature check and booter signature check, when the "phase 1" installer attempts to bless the newly created installer volume.
 
Last edited:
You all are completely overlooking a very important part of my installer patch... A (heavily) patched OSInstallerSetupInternal framework binary. This goes into Install macOS Catalina.app/Contents/Frameworks/OSInstallerSetup.framework/Versions/A/Frameworks/OSInstallerSetupInternal.framework/Versions/A

It bypasses the OSInstall.mpkg integrity check (preventing the "Installer app is damaged and cannot be used" error), APFS firmware check, and BaseSystem integrity check.

Having library validation disabled is required in order to get the installer application to launch with this patched binary, which I solved using DisableLibraryValidation.kext

Another part you also need is my modified "brtool" binary (which goes into /usr/libexec of the BaseSystem). This modified version bypasses the PrelinkedKernel signature check and booter signature check, when the "phase 1" installer attempts to bless the newly created installer volume.

Am I correct in thinking that all that hard work really was required in order to support a pre-2010 Macs?
ASentientBot's alternative method seems to be much easier for the 2010 and later Macs.
 
If anyone is interested, I can make clean installs dmg’s that are under 32GB size size and supply a GUI to do a restore. and I may be able to do the restore via AFP:// as well from my server.
[doublepost=1560956635][/doublepost]
Great. I’ll start making standard clean images and supply a simple tool to restore them to 32gb and lager drive. It will be the beginning of CloneToolX
with that is it possible to install the OS on a mbp late 2011 with intelhd3000? I am interested.
 
  • Like
Reactions: TimothyR734
Am I correct in thinking that all that hard work really was required in order to support a pre-2010 Macs?
ASentientBot's alternative method seems to be much easier for the 2010 and later Macs.
Well, for one, I'd prefer not to use the OSInstall.mpkg from an older OS version. Secondly, this method supports ALL systems, not just ones that support APFS natively. There's nothing wrong with his method, it's just not optimal in my case.
 
My next cat woman Mac Pro script will update kextcacne on destination, and if run on the startup disk, update the prelinked kernel and system caches. For Catalina Beta 2.

I may be able to remove the HID patch but I am leaving it in one round.

If video accel is working on MacBook Pro 2008 Core2Duo, I may add that patch in if it’s ok with the ones who made it happen. But that will also be round 3.
 
Same thing here trying a little bit around with kexts here and there but nothing groundbreaking
I made a little package/script with all the files needed for full hardware support on all systems with DP2 (with the exception of keyboard/trackpad on some machines). It can be downloaded here, and includes @ASentientBot's non-metal acceleration patches. Just extract, CD into extracted directory with Terminal, and execute "sudo ./install.sh CatalinaVolumeName" (leave out sudo if running from the installer or singleuser mode). If in the main OS, you'll also need to run "sudo kextcache -system-prelinked-kernel" after running the script.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.