루팅도 롬 플래싱도 없이, 안드로이드 폰에서 부팅된 iOS 16.5

iOSAndroidXNU오픈소스리버스 엔지니어링

데이터 소스:HackiOS 프로젝트 저장소 + HN 토론

안드로이드 폰을 켜자 화면에 나타난 iOS 16.5

샤오미 POCO X5 Pro 5G 단말기를 집어 들면 잠금 화면, 시스템 제스처, 제어 센터까지 영락없는 iOS 16.5의 모습이다. 설정의 일반 메뉴를 누르면 기기 모델명에 iPhone X가 표시된다. 롬 플래싱을 거치지도 않았고, 내부 파티션을 건드리지도 않았다. 전체 시스템이 fastboot boot를 통해 메모리(RAM)에 직접 적재되어 구동되기 때문에, 단말기를 재부팅하기만 하면 원래의 안드로이드 환경으로 되돌아간다.

이는 오픈소스 프로젝트 HackiOS가 일궈낸 성과다. 애플의 오픈소스 XNU 커널(iOS 16.5에 대응하는 xnu-8796.121.2)을 스냅드래곤 플랫폼으로 가져오고, 공식 IPSW 파일에서 추출한 수정되지 않은 순정 iOS 16.5 유저스페이스를 올렸다. launchd, backboardd, SpringBoard가 차례로 부팅을 마치고 애플리케이션도 정상 작동한다. 10월 22일 저장소가 공개된 지 하루 만에 489개의 스타와 93개의 포크를 기록했다.

이 프로젝트가 실제로 증명해 보인 사실은 단순히 ‘iOS를 다른 기기에 이식할 수 있는가’보다 훨씬 본질적이다. 모바일 운영체제 사이를 가로막는 장벽의 실체는 커널이 아니라, 폐쇄적인 독점 드라이버와 펌웨어 계층에 존재한다.

안드로이드 스마트폰에서 구동 중인 iOS 16.5 홈 화면 그림: 안드로이드 기기에서 구동되는 iOS 홈 화면. 출처: HackiOS 저장소

커널은 원래 오픈소스였다, 장벽은 그곳에 없다

XNU 커널은 2000년부터 애플이 소스코드를 외부에 공개해 온 프로젝트다. macOS와 iOS의 커널 코드는 누구에게나 열려 있으며, 애플 공용 소스 라이선스(APSL)에 따라 수정과 재배포가 허용된다. 실제로 HackiOS 저장소에는 애플의 독점 코드가 단 한 줄도 포함되어 있지 않다. 유저스페이스 전체를 사용자가 공식 펌웨어 복원 파일에서 직접 추출하도록 설계하여 배포와 관련된 법적 문제를 피했다.

운영체제 사이의 장벽이 정말 커널 때문이었다면, 이 작업은 20년 전에 이미 누군가 성공시켰어야 마땅하다. 오랜 세월 아무도 성공하지 못했던 이유는 명확하다. 커널이 구동되더라도 실제 하드웨어와 통신하려면 디바이스 드라이버가 필요하다. 하지만 애플 실리콘과 애플의 독자 주변 장치 드라이버는 전부 애플이 통제하는 비공개 바이너리로 묶여 있어, 외부에서 열람할 수도 활용할 수도 없다.

HackiOS는 이 계층 전체를 완전히 대체하는 전략을 택했다. 부팅 과정을 책임지는 자체 EFI 로더를 개발하고, 애플의 비공개 드라이버를 대체할 독자 드라이버를 구현했으며, 기기에 UEFI를 포팅한 뒤 리눅스용 Wi-Fi 드라이버를 끌어다 쓸 수 있는 호환 레이어를 추가했다. 리눅스 오픈소스 커뮤니티가 스냅드래곤 플랫폼용으로 구축해 둔 드라이버 자산을 iOS 환경에서 빌려 쓸 수 있게 만든 것이다. 부팅 과정은 직관적이다. fastboot boot로 포팅된 UEFI(Project Silicium 기반)를 실행하고, UEFI가 xnuloader라는 EFI 애플리케이션을 호출한 뒤 비로소 자체 커널로 제어권을 넘긴다.

커널은 오픈소스를 가져다 쓰면 그만이지만, 드라이버는 계층마다 직접 다시 작성해야 한다. 운영체제 사이 장벽의 두께는 바로 이 지점에서 실측되었다.

설정의 일반 정보 페이지에서 기기 모델명이 iPhone X로 표시된 모습 그림: 설정-일반 정보 화면, 기기 모델명이 iPhone X로 표시됨. 출처: HackiOS 저장소

작동하는 것, 작동하지 않는 것, 그리고 흥미로운 한 가지 세부 사항

정상 작동하는 기능의 범위는 기대를 훌쩍 뛰어넘는다. 잠금 화면, 시스템 제스처 제어, 제어 센터, 설정 앱 및 내부 기본 앱들이 모두 열린다. README에 포함된 스크린샷에는 홈 화면, 시계, 캘린더, 음악, 지갑, 지도, 메시지 앱이 포함되어 있다. 앱스토어 탭 인터페이스도 화면에 렌더링된다. 다만 기기 내부에 시큐어 인클레이브(Secure Enclave) 하드웨어가 부재하므로 콘텐츠 다운로드 및 Apple ID 로그인은 진행되지 않는다.

반면 작동하지 않는 부분은 더 많은 기술적 사실을 시사한다. 셀룰러 통신과 블루투스가 작동하지 않는다. 이유는 앞서 다룬 내용과 같다. 베이스밴드 모뎀 및 블루투스 펌웨어의 핸드셰이크는 독점 소프트웨어 생태계의 가장 깊은 지점에 자리 잡고 있어 단순 호환 레이어로는 우회할 수 없다. 이 두 기능은 스마트폰과 ‘화면이 표시되는 개발용 보드’를 가르는 정확한 분기점이다.

여기에 무척 흥미로운 기술적 디테일이 하나 더 있다. 현재 커널 상태에서는 배터리 충전 회로가 동작하지 않아 기기가 방전만 된다는 점이다. USB 전력 공급 제어는 또 다른 독점 펌웨어 프로토콜에 묶여 있어 자체 드라이버가 제어 경로를 아직 확보하지 못했다. 충전 케이블을 꽂아 두어도 배터리가 계속 소모되는 스마트폰의 모습은, 드라이버 계층의 격차가 어느 정도인지 그 어떤 아키텍처 다이어그램보다 선명하게 보여준다.

제어 센터 그림: 제어 센터. 출처: HackiOS 저장소

카메라 파이프라인의 벽도 넘어섰다

커뮤니티 댓글에서 가장 큰 관심을 모은 주변 장치는 카메라였다. 모바일 리눅스 환경에서 카메라 드라이버는 전통적으로 가장 공략하기 어려운 난제로 꼽힌다. 그러나 README 기능 목록을 살펴보면 Camera.app의 전후면 카메라, 실시간 프리뷰, 자동 초점, HEIC 사진 촬영 기능이 모두 정상 지원 목록에 올라 있다. GPU 디스플레이 파이프라인 전체를 해결하면서 카메라 지원까지 연쇄적으로 뚫어낸 셈이다.

또 다른 엔지니어들의 시선은 커밋 기록에 머물렀다. 커밋 로그에는 Co-Authored-By: Claude Opus 5.5라는 작성자 정보가 담겨 있다. README에 명시되어 있듯, 이 프로젝트는 일상용 커스텀 롬이 아니라 연구 목적의 실험용 테스트 벤치로 기획되었다. 각 세션은 정해진 시간(초) 동안만 유지되며, 세션이 끝나면 커널이 초기 상태로 초기화되어 로그가 깨끗하게 정리되므로 자동화 인공지능 에이전트가 경계 안에서 작업을 이어가기 적합하다. 10월 22일 오픈소스로 공개되기 전에는 소스코드나 빌드 가이드 없이 시연 영상만 공개되어 외부로부터 검증 불가라는 의혹을 사기도 했으나, 소스코드가 공개되자마자 의구심은 완전히 불식되었다.

개발팀 OOSEX GANG은 4명으로 이루어져 있다. @oodze가 프로젝트를 발의하고 @netusd, @wannqn, @hxfuxyyXD가 참여했다. 4명의 개발자가 인공지능 코딩 도구와 결합하여 과거 엔지니어링 팀 전체가 매달려도 어려웠던 리버스 엔지니어링 성과를 만들어냈다.

제조사의 서사 속에 갇혀 있던 장벽의 두께를 재다

스마트폰 제조사들은 수년 동안 iOS와 안드로이드가 태생부터 완전히 다른 세계라는 인식을 심어 왔다. 그러나 HackiOS가 증명한 현실의 구조는 명확하다. XNU는 오픈소스 버전을 가져오면 작동하고, 유저스페이스는 순정 펌웨어 복원 이미지에서 추출하면 그대로 구동된다. 진정한 격리는 오직 드라이버와 펌웨어 계층에만 존재한다. 그리고 그 층위의 장벽은 아키텍처적 우열이라기보다 방대한 개발 공수와 법적 리스크, 즉 ‘비공개 독점’이라는 소프트웨어 정책 그 자체다.

이 프로젝트가 왜 롬 플래싱을 전혀 요구하지 않는지도 여기서 설명된다. 시스템 전체가 휘발성 메모리에 상주하며 기기의 물리 파티션을 건드리지 않는다. 사용자 기기의 벽돌화 위험은 전혀 없으며, 제조사의 상업적 생태계 종속에도 실질적인 위협이 되지 않는다. 셀룰러 통신이 불가능한 기기를 일상용 스마트폰으로 쓸 수는 없기에, 기업의 상업적 요새는 조금도 손상되지 않았다. 금간 것은 기술적 신화의 벽일 뿐, 비즈니스 모델이라는 벽은 벽돌 하나도 흔들리지 않았다.

이것이 바로 HackiOS가 지닌 진정한 가치다. 이는 완성된 제품이 아니며, 제품을 지향하지도 않는다. 모바일 운영체제 경쟁의 승부처가 커널에 있는 것이 아니라, 누구도 공개하려 하지 않는 드라이버와 펌웨어 계층에 숨겨져 있었음을 모두에게 똑똑히 보여주었다. 이제 남은 관전 포인트는 단 하나, 셀룰러 통신이 언제 개통될 것인가이다. 통신 기능까지 뚫리는 날, 충전되지 않고 방전만 되던 이 POCO 기기는 진정한 의미의 아이폰으로 거듭날 것이다.

참고 링크:

  • HackiOS 프로젝트 저장소 (README, 커밋 로그 및 스크린샷)
  • 해커뉴스 토론 (item?id=50196718)