mirror of
https://github.com/Lakr233/vphone-cli.git
synced 2026-09-02 02:34:29 +00:00
iOS 18.6.2 userland on the 26.1 vphone600 kernel has no working DNS: the guest gets a correct resolver config (DHCP hands out 192.168.64.1, which configd propagates to State:/Network/Global/DNS) and the path works (raw UDP DNS to the gateway succeeds), but getaddrinfo fails EAI_NONAME because mDNSResponder crash-loops. Every crash is identical: EXC_BREAKPOINT in os_channel_create_extended, hit from Network.framework flow setup (nw_channel_create_with_attributes). That is a skywalk userspace-channel trap: the 26.1 kernel advertises skywalk, Network.framework tries to create a flowswitch channel for its DNS flow, the channel-create syscall trips a fatal trap in the 18.6.2 libsystem_kernel, and the resolver daemon dies. 26.x userland handles this path; 18.6.2 does not. Fix: set boot-arg if_attach_nx=0x3 (SKYWALK_NETWORKING_BSD_ONLY = IF_ATTACH_NX_NETIF_COMPAT | IF_ATTACH_NX_FLOWSWITCH) on iOS 18 bases. This keeps the netif + flowswitch nexus (interface/host stack unaffected) but leaves the FSW_TRANSPORT/IP netagents unset, so Network.framework uses the BSD-socket path and mDNSResponder never creates the crashing channel. The kernel boot-args come from the patched iBoot (kern.bootargs matches IBootPatcher.bootArgs), so the arg is baked into the iBEC/LLB boot-args patch, not the host NVRAM (which iBoot overrides). - IBootPatcher gains `extraBootArgs`, inserted before the trailing %s in the patched boot-args string (ibec/llb). - FirmwarePipeline sets extraBootArgs="if_attach_nx=0x3" for iOS 18 bases (iosBaseIs18), empty otherwise, on the iBEC and LLB factories. Gated to iOS 18 bases: 26.x keeps the stock boot-args and is untouched. Validated at runtime first (setting net.link.generic.system.enable_netagent =0 makes DNS resolve reliably), then confirmed end-to-end on a fresh 17,3_18.6.2_22G100 jb restore: kern.bootargs shows if_attach_nx=0x3 and DNS/networking works. Documented in research/0_binary_patch_comparison.md (iBEC/LLB boot-args row). Co-Authored-By: Claude Opus 4.8 <[email protected]> Claude-Session: https://claude.ai/code/session_01Q7gbWrtKLu8rFGmpXHmu9t