Jump to content

IOS Emulation: Difference between revisions

From NixOS Wiki
Onny (talk | contribs)
Initial page
 
Onny (talk | contribs)
Added further steps
Line 17: Line 17:
mkdir iPhone11_8_iPhone12_1_14.0_18A5351d_Restore
mkdir iPhone11_8_iPhone12_1_14.0_18A5351d_Restore
unzip iPhone11,8,iPhone12,1_14.0_18A5351d_Restore.ipsw -d iPhone11_8_iPhone12_1_14.0_18A5351d_Restore/
unzip iPhone11,8,iPhone12,1_14.0_18A5351d_Restore.ipsw -d iPhone11_8_iPhone12_1_14.0_18A5351d_Restore/
</syntaxhighlight>Forge a ticket since the iOS version we're using is not signed<syntaxhighlight lang="bash">
wget https://github.com/ChefKissInc/QEMUAppleSiliconTools/raw/refs/heads/master/ticket.shsh2
create_apticket n104ap iPhone11_8_iPhone12_1_14.0_18A5351d_Restore/BuildManifest.plist ticket.shsh2 root_ticket.der
</syntaxhighlight>
</syntaxhighlight>


== Usage ==
== Usage ==

Revision as of 16:32, 23 August 2025

Setup

⚠︎
Warning: Most parts of this guide are not yet supported by the latest stable NixOS release. It should be available with the next 25.11 release.

Add qemu-applesilicon package to your environment.systemPackages set and apply it.

environment.systemPackages = [ pkgs.qemu-applesilicon ];

Run following command to create required disks

qemu-img create -f raw root 16G
qemu-img create -f raw firmware 8M
qemu-img create -f raw syscfg 128K
qemu-img create -f raw ctrl_bits 8K
qemu-img create -f raw nvram  8K
qemu-img create -f raw effaceable 4K
qemu-img create -f raw panic_log 1M
qemu-img create -f raw sep_nvram 2K
qemu-img create -f raw sep_ssc 128K

Download iOS 14.0 beta 5 ipsw firmware file for iPhone12,1 and extract required files

wget https://updates.cdn-apple.com/2020SummerSeed/fullrestores/001-35886/5FE9BE2E-17F8-41C8-96BB-B76E2B225888/iPhone11,8,iPhone12,1_14.0_18A5351d_Restore.ipsw
mkdir iPhone11_8_iPhone12_1_14.0_18A5351d_Restore
unzip iPhone11,8,iPhone12,1_14.0_18A5351d_Restore.ipsw -d iPhone11_8_iPhone12_1_14.0_18A5351d_Restore/

Forge a ticket since the iOS version we're using is not signed

wget https://github.com/ChefKissInc/QEMUAppleSiliconTools/raw/refs/heads/master/ticket.shsh2
create_apticket n104ap iPhone11_8_iPhone12_1_14.0_18A5351d_Restore/BuildManifest.plist ticket.shsh2 root_ticket.der

Usage