I updated the sources of the decompkernelcache tool.
Now it can do the following things with the prelinked kernel and its data:
- Uncompress prelinked kernel (package with drivers inside)
- Extract kernel (repackage possible with kextcache, kernel only)
- Extract kexts (including original folder source directory)
- List kexts
- Extract combined Info.plist resource
It can do this with prelinked kernel caches compressed with LZSS and LZVN.
It can also extract already decompressed prelinked kernel cache binaries.
It is also possible to specify an architecture to extract (in case of a multi architecture prelinked kernel cache).
It works with any version of the OS X kernel cache (It works for 32 and 64 bit, extracting all).
I tested it on a prelinked kernel of iOS also, it was able to do this to an iPhone 4S prelinked kernel too. (32-bit ARM)
It works on Mac OS X prelinked kernel data with any version or architecture (32/64-bit works, can extract Big Endian data so if you manage to have a PowerPC prelinked kernel it can handle them too).
It should be able to handle any architecture and any Darwin deployment target.
So if you have a decrypted prelinked kernel of iOS, Mac OS X, Apple TV (both Intel and ARM), Watch OS and any other like the HomePod OS you can use this tool on them too.
Added WIN32 and WIN64 version (compiled with MingW-w64 for i386 and x86_64).
I used Apple's WebKitSupport library (for the CoreFoundation library) and a win32 port of libdispatch.
The binaries for CoreFoundation support came from iTunes's Apple Application Support installer (both 32 bit and 64 bit).
They are included.
It's adapted to work with Visual Studio too but needs a VC project edit as I only have a MacBook Air (without Windows on it).
I tested it on someone's computer and it works fine.
Minor bug fixes.
Will do WIN32 and WIN64 version a bit later.
Update (V2.2 Windows):
Added WIN32 and WIN64 version.
Update (V2.2 Linux):
Added Linux version (post below, x86_64 and i386).
Other architectures are also supported and require libraries and bison below:
To build it you need a recent ICU4C (http://site.icu-project.org/download).
My own build of lib dispatch (https://github.com/vampirecat35/libdispatch).
My own corrected build of CoreFoundation lite for Linux (https://github.com/vampirecat35/CoreFoundation-Lite-Linux).
bison-2.4.1 which is specific because of IOCFUnserialize.yacc (https://ftp.gnu.org/gnu/bison/bison-2.4.1.tar.bz2).
Update (V2.2 iOS/WatchOS/AppleTVOS):
Added 32-bit and 64-bit versions for iOS, WatchOS and AppleTVOS (post below).
Update (V2.2 Android):
Added ARMV7 Android version (post below).
Added AARCH64 (ARM64) Android version (post below).
Added I686 Android version (post below).
Added X86_64 Android version (post below).
Update (V2.2 Visual Studio 2019):
Added X86 VS2019 Windows version (post below).
Added X64 VS2019 Windows version (post below).
I also optimised the code a little (No more warnings, not even for 32-bit builds).
Added GitHub repo on my secondary account:
So I'm new to OpenCore, I've been a Clover user for too long but it's finally totally failed me after a motherboard upgrade, I couldn't boot to Mac OS.
So I gave OpenCore a go using the basic config and boom, booted first time! I'm an instant convert!
The main problem I have is that I have a triple boot machine with Windows 10, Ubuntu and Mac OS on three separate drives. With OpenCore I can ONLY boot Mac OS. It gives me an option of "BOOTCAMP Windows" but if I select it it boots to the Ubuntu GRUB menu (??) and then won't load the linux kernel! There is no option that tries to boot Windows.
It looks like multi-OS support is not a priority right now, is this correct? Is there anything I can do to help test/code/progress this aspect of the project?
I used this command: diskutil info disk0s2 | grep -i "Partition UUID" | rev | cut -d' ' -f 1 | rev
But I accidentally removed the wrong disk and now my main windows drive is not appearing in the bootloader. I can't figure out how to get it back. I tried resetting my windows drive, but I kept getting an error. I also reset my mac and reinstalled Catalina.
I'm a newbie to the concept of installing a Mac OS on alternative hardware. Please bear with me
I have a Lenovo Thinkpad x250 with 5th generation i7-5600U CPU, 16GB RAM, and Intel HD Graphics 5500. (I'd be glad to add any additional hardware details if needed)
My goal is to have a dual boot machine - Mojave and Win 10. I have two separated physical drives.
I've tried different methods, but none was stable to be operable.
If anyone of you has the experience with this specific model it will be really great to hear your opinion.