Recently Browsing 0 members
No registered users viewing this page.
Decompkernelcache 2.2 - kernel cache extraction tool (for MacOSX/iOS/WatchOS/AppleTVOS, Windows 32-bit, Windows 64-bit, Linux and Android)By Andy Vandijck
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:
Simple steps to create macOS Installer for Vmware on Linux or Windows
This guide describes how you can create a Vmware image (vmdk) for installing macOS in Vmware. Most tutorials about this topic require an ISO installer file that was typically created in macOS or you have to download some preinstalled image file from unknown source. None of them are ideal. But if you follow the steps below, you will not need to access macOS and will use official and trusted sources.
First of all download gibMacOS from here and set up
Run the script to download the full macOS installer:
on Linux: gibMacOS.command on Windows: gibMacOS.bat
Install qemu-img converter
on Linux (Debian or Ubuntu):
install qemu-tools package
on Windows use this installer:
when you run the installer, it is enough to select the "tools" and "dll library".
Convert the downloaded BaseSystem.dmg to Vmware image
run the following commmand in that directory where BaseSystem.dmg was downloaded (somewhere here: gibMacOS-master/macOS Downloads/publicrelease/061-44387 - 10.15.3 macOS Catalina)
qemu-img convert -O vmdk -o compat6 BaseSystem.dmg recovery.vmdk on Windows:
c:\"Program Files"\qemu\qemu-img convert -O vmdk -o compat6 BaseSystem.dmg recovery.vmdk
Use the previously created image to install macOS in Vmware
I assume you have a patched and working Vmware already. If not, find another guide but in nutshell:
- confirm the VT-x is supported on your Intel machine (if you are on AMD you may not able to virtualize macOS or you need to do more work)
- install VMware Workstation or VMware Workstation Player (free for non-commercial use)
- use an unlocker to patch the Vmware to support macOS guest
currently this works well: https://github.com/BDisp/unlocker/
So when you are here you have a patched Vmware and a Vmware image (recovery.vmdk).
Run Vmware and create a new virtual machine by choosing macOS guest. But add another hard disk as well with selecting to use an existing virtual disk. Browse the recovery.vmdk. You will get a warning about the image is not in the latest format but choose to keep the existing format.
After you installed the macOS, install the vmware tools as well.
Tested on Windows 10 with macOS Catalina 10.15.3 in Vmware 15.5 Player
Comments are welcome.
So I managed to get a Catalina 10.15 vm up and running in ESXi 6.7u2.
When I try to install Catalina updates, however, it goes to the Apple logo, status bar moving ever so slightly, reboots again and this time hangs on the Apple logo. To fix this, I either remove or disable "Mac OS" as an option in the bootloader. Is there a way to get these updates to install?
In the meantime...
I instead of restarting Catalina after choosing to update it, I shutdown the guest. After a restart it SEEMED to update with the time duration countdown.
Prior to this I did run disk utility and checked Untitled and Untitled-Data for errors (I don't think it found any).
So I just logged back onto the VM and the version is still 10.15 and NOT 10.15.2 as hoped. So weird.
I’ve used a 2015 15” MBP as my main system since it was released. I do photo and video editing in the Adobe suite regularly and have been eyeballing the performance of the latest MBP models. I’m on the road all the time, so a laptop is basically my only option.
After the whole mess with the CPU VRM hardware flaws being made apparent by the poor power management profile shipped at release with the 2018 i9 MBP I’ve been more weary of the hardware design of MacBooks. That’s before I account for losing all USB-A ports, losing the SD card slot (‽), losing reliability and tactility of the keyboard, and losing the ESC key to the touchbar; if I compare the 2018 MBP to my current 2015.
Given these flaws, I have been researching the performance situation comparing the 2018 MBP to the X1 Extreme, XPS 15 9570, and the Razer Blade 15 2018. These are essentially the only options for a road warrior that needs a high quality panel and the best CPU and GPU that can be crammed into around 4lbs (1.8kg).
I used to use a ThinkPad T42p and loved it when it was new. So fast forward to now and the release of the ThinkPad X1 Extreme. It’s a truly tempting machine for an artist, given that the 4K UHD version offers just about the best color gamut available on any laptop panel. I get back the USB-A ports, get one of the fastest SD slots on any laptop, and get one of the best laptop keyboards on the market. That’s before even considering power management and modularity. I’ve been dabbling in learning Machine Learning, so a system with an nVidia GPU (CUDA) is a bonus on that front as well.
For me the best color reproduction on a high resolution display panel was most important. The X1 Extreme has that, so I’ve ordered one. I got it with the fastest i7, base SSD and memory, and have separately purchased two 1TB Samsung 970 Pro M.2 SSDs and 2x16GB DDR4-3200MHz memory (just in case it’s possible to overclock the memory on the X1 Extreme). I got the system for $2,100 from Lenovo USA, and the SSDs ($390 x 2) and memory ($330) from Amazon US for a total of ~$3200. These are easy to install on the X1 Extreme as the bottom cover is easily removed to reveal the M.2 and SODIMM slots. To compare, the 2018 MBP with the fastest i7, 32GB memory, and 2TB SSD is $4400. So I can save $1200 and get a faster system (on all counts) with a better panel and better connectivity by going with the X1 Extreme.
The only thing I’m compromising is losing the big beautiful haptic touchpad and a bit more refined hardware aesthetic. Though, to be honest, I’ve kept a big thick dual-layer Tech21 case on my 2015 MBP. So I’ll actually be going down in volume and weight by moving to the more rugged ThinkPad. I think I can live without the touchpad.
Oh, by the way, the 4K UHD panel of the X1 Extreme has touch and decent pen support! Another bonus vs. the MacBook. Though I keep a 12.9” iPad Pro around for my pen work and can’t imagine using a laptop similarly. It’s still nice to have a laptop screen actually respond when I go poke at it accidentally after switching back and forth between laptop and iPad.
So I want macOS with proper discrete GPU support on a 2018 MacBook class laptop. That’s not possible on a pure Hackintosh as things stand, but via a macOS virtual machine it looks like it could work with what looks like some relatively bleeding edge support of PCIe UEFI passthrough.
People have been doing this on Linux hosts to Windows VMs with some great success recently: https://gist.github.com/Misairu-G/616f7b2756c488148b7309addc940b28
And it looks like that’s coming for macOS VMs as well: https://github.com/kholia/OSX-KVM/blob/a4fb2fd5aae871bdbc371b0cd31d4d8129d0f9ac/UEFI/README.md
The X1 Extreme, XPS 15 9570, and Razer Blade 15 (2018) are essentially direct competition to the 2018 15” MBP. I would really like to see these three systems get some nicely fleshed out guides for getting maxed out compatibility and performance in macOS running in a VM for these systems. When I get my X1 Extreme I’ll start working on it for that one. I will post updates here. I hope to inspire others with the other two systems (or looking to get them) to do similarly.
15” MACBOOK CLASS LAPTOP COMPARISON
I chose the X1 Extreme largely because of the excellent 4K UHD HDR panel (100% of 2D AdobeRGB and 85.5% of 3D AdobeRGB, basically unparalleled), good mix of thermal performance and noise management, and overall ruggedness and connectivity. If I were a gamer I would go with the Razer 15, but the fast low-gamut 1080p panel just doesn’t work for my purposes. If I were most concerned with aesthetics or battery life (97Wh battery for it vs 80Wh for X1E) I would go with the XPS 15.
I am aware that the second 2018 refresh of the MBP is coming ~Nov 14, with the new AMD Radeon Pro Vega 16 and Vega 20 GPUs, and it looks like the latter might offer up to a 60% performance boost over the Radeon 560X. Maybe it has even given Apple enough time to update the CPU VRM along the way. This could make the performance picture more comparable for the 1050 Ti based X1E and XPS 15. I believe the 1070 Ti based Razer 15 will still win out though.
Still, if you compare the fan and heat pipe solution put into the X1E vs the MBP the MBP just looks wimpy in comparison. MBP has smaller fans, less venting, and only one (smaller, thinner) heatpipe. It’s also more difficult to access if you want to put a better thermal paste or liquid metal on it. Put simply, the thermal hardware on the MBP is basically the same design for the last 3 years and it can’t keep up with the hex-core processors. So even with the Volta 20 GPU making the MBP competitive again on the graphics end, the MBP will still be falling short on the CPU performance plane. This is before we even look at tuning options.
Getting into tuning, it’s possible to improve thermal performance of all the laptops in this class by around 15-20% by using either a best in class thermal paste like Thermal Grizzly Kryonaut or (if you’re willing to deal with all the caveats that come with using a conductive fluid that permeates other metals) a liquid metal interface like Thermal Grizzly Conductonaut. The liquid metal gives you the best possible conducting interface, and the paste is more forgiving and easier to apply. Further, it is often possible to stably undervolt the Coffee Lake i7/i9 available in this class of systems to further improve performance, thermals, and power consumption (generally another 10+%).
Apple has deliberately made it impossible to undervolt the CPU on the MBP! This has been true since the first Skylake CPUs a few years ago. You used to be able to use a program called Volta to undervolt your CPU on macOS. This is a huge peeve for me and, combined with the general power and thermal underdevelopment, is one of the main reasons I want to get a competitor’s hardware. As a primer, the default voltage of modern CPUs is typically set conservatively high for the sake of production efficiency. With the current generation Coffee Lake CPUs it is commonly possible to set the CPU voltage about 100 to 150mv lower safely. This allows the CPU to run cooler and consume less power. For laptops which are thermally limited (basically everything in this new 6-core 14nm era), this also translates into better performance. It’s a tweak that actually improves reliability of your CPU. So it’s just stupid that Apple has deliberately made this impossible. Shame on them, someone else take my money.
Wrapping up, my biggest quibbles with the X1E (before actually getting it) are that the 4K panel’s responsiveness is about the slowest I’ve seen on a modern panel, and it’s just really not suitable for gaming. There’s also what I consider an annoyingly high level of backlight corner bleed that I’m sure will be distracting during blackboxed video viewing. Hopefully these two issues will be fixed in next year’s iteration.
MacBook i9 Thermal / VRM (below-baseline throttling/thrashing) Issue:
This was mitigated with software that works around the poor hardware design, but the system would still ultimately perform better if the CPU VRM were redesigned. Non Mac systems with the similar CPUs don’t have this issue and get better sustained performance.
MacBook Nov 2018 Refresh with Radeon Vega 16 and Vega 20:
MacBook Class Laptop Reviews:
Lenovo ThinkPad X1 Extreme, 4K: https://www.notebookcheck.net/Lenovo-ThinkPad-X1-Extreme-i7-4K-HDR-GTX-1050-Ti-Max-Q-Laptop-Review.335608.0.html
Dell XPS 15 9570, 4K: https://www.notebookcheck.net/Dell-XPS-15-9570-i7-UHD-GTX-1050-Ti-Max-Q-Laptop-Review.332758.0.html
Razer Blade 15 2018, 1070 Ti FHD 144Hz: https://www.notebookcheck.net/Razer-Blade-15-i7-8750H-GTX-1070-Max-Q-FHD-Laptop-Review.305426.0.html
Best Undervolting Guide (keywords: ThrottleStop, Intel XTU):
Undervolting Coffee Lake i7/i9 (2018 MacBook class CPU):
Replacing Thermal Paste with Liquid Metal on 2018 MBP:
https://youtu.be/iw4gqfrBN4c ... and follow up: https://youtu.be/JNoZNzOQpVw
Replacing Thermal Paste with Kryonaut on X1E:
Replacing Thermal Paste and Undervolting X1 Carbon:
Replacing Thermal Paste and Undervolting XPS 15 9570:
Possibly over-conservative BIOS update for thermal throttling on X1E:
High Sierra (10.13) drivers only for now:
nVidia “waiting for Apple’s approval” for Mojave (10.14) macOS driver web release:
Breadcrumb Links (other things I found researching this):