In my testing, it was only necessary to replace the prelinkedkernel on the USB stick itself (/Volumes/Install macOS Big Sur Beta/System/Library/PrelinkedKernels). The prelinkedkernel is being loaded straight off the USB drive, not from the BaseSystem's Preboot. (It won't do any harm to replace the prelinkedkernel in the BaseSystem and the BaseSystem's Preboot, but I'm not sure it's necessary either.)So I assume to use legacy USB without USBOpenCore, my "legacyusb prelinkedkernel fix" should be replaced also on the BaseSystem /System/Library/Prelinkedkernels/ and maybe also on the BaseSystem Preboot for more kext matching .
[automerge]1596120616[/automerge]
I may be mistaken, but I think:The point is that we don't seem to have a reliable set of instructions that allow others to reproduce the feat of building prelinked kernels under Big Sur once the seal and the snapshot is removed starting from an installation performed on a supported machine. In particular, it is entirely unclear why 'sudo kextcache -i /' procedures a non-functional prelinkedkernel that is so much larger than yours (when the only additional kext added were AppleIntelPIIXATA.kext at 120,557 bytes and LegacyUSBInjector.kext at 137,715 bytes).
As far as the kc's are concerned, the elide that was produced from kmutil and kcditto seemed to indicate that the original kext required by the MacBook Pro 14,1 were still being bundled rather than those for the MacPro 3,1. I am wondering if that is a side-effect of "Error: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service on pid 0 named com.apple.KernelExtensionServer" UserInfo={NSDebugDescription=connection to service on pid 0 named com.apple.KernelExtensionServer}". Perhaps that com.apple.KernelExtensionServer connection is required for the recognition of the kext that have to be loaded on the unsupported hardware and, in its absence, the kext set is left as those used by the original supported machine.
- The elides are consumed, not produced, by kmutil. (I suspect they're put in place by the installer, one way or another, but I'll have to dig into that later.) I think kmutil has a command line option for giving it additional elides, for what that's worth.
- The com.apple.KernelExtensionServer stuff only affects the Auxiliary KC (the one for kexts in /Library/Extensions not /System/Library/Extensions)
Last edited: