안드로이드 폰에서 iOS 16.5 전체 시스템 부팅
원제 Show HN: Run full iOS 16.5 firmware on Android Devices
126 포인트댓글 46
Key Point
안드로이드 하드웨어에서 Apple의 XNU 커널과 완전한 iOS 사용자 영역을 실행하는 것이 가능함을 보여주는 포팅으로, 폐쇄된 생태계와 오픈소스의 경계를 넘나드는 기술적 성과다.
핵심 요약
- HackiOS는 안드로이드 폰의 하드웨어 위에서 iOS 16.5의 미수정 사용자 영역을 실행하는 오픈소스 XNU 커널(xnu-8796.121.2) 포팅 프로젝트다.
- 독자 EFI 로더, Apple의 폐쇄 드라이버 대체물, UEFI 포트, Linux Wi-Fi 드라이버의 호환성 레이어로 가능하게 했다.
- POCO X5 Pro 5G(Snapdragon 778G)와 QEMU(aarch64) 두 환경에서 실행되며, 안드로이드로 부팅할 때 아무것도 플래시되지 않는다.
- 잠금 화면, 홈 화면, 시스템 제스처(스와이프 업/백), 컨트롤 센터, Settings·Clock·Calendar·Photos·Notes·Safari 등 앱이 동작한다.
- Metal 셰이더는 456개 중 293개가 Adreno GPU에서 실행되며, Wi-Fi는 55~90 Mbit/s 속도로 작동한다.
- 아직 미지원: 셀룰러, 블루투스, App Store, Apple ID 로그인, 페어플레이, 비디오/Live Photo 녹화, 음성 녹음이다.
- Linux x86-64 호스트에 12GB 디스크와 4GB RAM이 필요하며, Apple CDN에서 7.4GB iOS IPSW를 다운로드해 시스템 이미지를 구성한다.
- QEMU에서는 2~3분 후 잠금 화면이 나타나고, 총 20분 세션에서 실행되며, 재부팅 후 안드로이드로 돌아간다.
- 커널과 로더는 fastboot → UEFI → xnuloader → XNU → launchd 체인으로 부팅되고, iOS 프레임워크는 수정 없이 실행된다.
- 저장소는 XNU 패치·EFI 로더·UEFI·Wi-Fi 드라이버를 담은 hackios-xnu-kernel과 라unchd·APFS 빌더·Metal 작업을 담은 hackios-xnu-userland 두 부분으로 나뉜다.
- Apple 파일은 어느 저장소에도 없으며, ios165/fetch.sh가 Apple CDN에서 iOS를 다운로드해 필요한 것을 추출한다.
- 커널은 APSL 2.0, 로더는 APSL 2.0, ath11k는 BSD-3-Clause-Clear, FreeBSD LinuxKPI는 BSD-2-Clause로 라이선스된다.
- 개발팀은 OOSEX GANG(@oodze, @netusd, @wannqn, @hxfuxyyXD)이며 Apple과 무관한 독립 연구 프로젝트다.