Skip to content

Filesystem Patches

Visual Ehrmanntraut edited this page Jun 10, 2025 · 11 revisions

Caution

macOS host or VM required for the following commands. Linux/Windows 3rd party APFS drivers not tested, feel free to do so.

Attach the main disk image:

hdiutil attach -imagekey diskimage-class=CRawDiskImage -blocksize 4096 T8030NAND/nvme.1

Dyld Shared Cache Patches

Copy the original dyld into the same directory as the PatchDYLD.fish (for fish shell) or PatchDYLD.sh (for other shells):

cp /Volumes/System/System/Library/Caches/com.apple.dyld/dyld_shared_cache_arm64e dyld_shared_cache_arm64e.orig

Patch script:

  • fish: https://github.com/ChefKissInc/QEMUAppleSiliconTools/raw/refs/heads/master/PatchDYLD.fish
  • other shells: https://github.com/ChefKissInc/QEMUAppleSiliconTools/raw/refs/heads/master/PatchDYLD.sh

Run like so:

sudo ./PatchDYLD.fish # fish shell
sudo ./PatchDYLD.sh # other shells

Launch services

You must currently disable the following launch services from the launch service cache: com.apple.voicemail.vmd, com.apple.CommCenter, com.apple.locationd.

Backup the original service cache:

cp /Volumes/System/System/Library/xpc/launchd.plist launchd.plist

Convert the service cache to a readable plist:

sudo plutil -convert xml1 /Volumes/System/System/Library/xpc/launchd.plist

Edit the service cache:

sudo nano /Volumes/System/System/Library/xpc/launchd.plist

Find each service and add the following:

<key>Disabled</key>
<true/>

Like in the following image: image

Eject the disk:

diskutil eject /Volumes/System

And you're done. Note that you need to now boot with an additional boot argument: launchd_unsecure_cache=1.

Clone this wiki locally