Jump to content

IOS Emulation

From NixOS Wiki
Revision as of 16:28, 23 August 2025 by Onny (talk | contribs) (Initial page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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/

Usage