Группа независимых разработчиков OOSEX GANG опубликовала открытый проект HackiOS, позволяющий запустить оригинальную операционную систему iOS 16.5 на смартфонах под управлением Android. В качестве первой тестовой платформы выступил аппарат POCO X5 Pro 5G на базе мобильной платформы Snapdragon 778G, а также виртуальная машина QEMU с архитектурой aarch64 для операционных систем семейства Linux.
В основе решения лежит открытый исходный код ядра XNU версии 8796.121.2, которое компания Apple использует в оригинальной iOS 16.5. Разработчики адаптировали ядро под аппаратное обеспечение устройства Xiaomi, создали собственный загрузчик EFI и подготовили порт прошивки UEFI на базе стороннего проекта Project Silicium. Системные файлы самой операционной системы при этом не модифицируются: образ скачивается напрямую с серверов Apple в формате IPSW и распаковывается на компьютере пользователя, благодаря чему проект формально не распространяет проприетарные компоненты правообладателя.
Запуск операционной системы происходит без перезаписи постоянной памяти смартфона. Образ системы и кастомный загрузчик помещаются в оперативную память устройства через стандартный интерфейс fastboot, а после перезагрузки телефон штатно возвращается в привычную среду Android. Для замещения закрытых драйверов Apple энтузиасты написали собственные системные прослойки для кадрового буфера IOSurface, сетевой подсистемы и хранилища ключей AppleKeyStore, а также интегрировали Wi-Fi драйвер ath11k из Linux через слой совместимости FreeBSD LinuxKPI.
На текущем этапе разработки в HackiOS функционирует экран блокировки, рабочий стол со всеми иконками и системные жесты управления. Графический ускоритель Adreno 642L задействован через свободный стек Mesa и freedreno с поддержкой OpenGL ES для отрисовки интерфейса CoreAnimation. Пользователям доступны стандартные программы, включая браузер Safari, Настройки, Календарь, Часы, Заметки и Фото. Сенсорный экран Goodix GT9916 корректно обрабатывает мультитач, работают физические кнопки громкости и питания, вывод звука на динамики, микрофон и создание снимков в формате HEIC через приложение камеры.
Сборка имеет ряд существенных технических ограничений. На смартфоне пока не работают сотовая связь и беспроводной модуль Bluetooth, не реализована поддержка фирменного графического интерфейса Metal для сторонних приложений, а батарея устройства не заряжается во время работы ядра XNU и только постепенно расходует заряд. Авторизация в учетной записи Apple ID и доступ к каталогу App Store заблокированы из-за отсутствия аппаратного модуля безопасности Secure Enclave, вызывающего аварийное завершение службы FairPlay.
В проект уже интегрированы менеджеры пакетов Sileo и Procursus с поддержкой утилит dpkg и apt, что открывает возможность установки сторонних твиков и удаленного доступа по протоколу SSH. Исходный код модифицированного ядра и загрузчика опубликован в открытом доступе на платформе GitHub вместе с документацией по портированию системы на другие мобильные устройства с чипами Qualcomm.
Источник: www.playground.ru