Skip to content

Портирование HyperOS 2

Этап 1 - Подготовка

В первую очередь, нужно определиться, из какого устройства брать базу. Тут, уже, дело ваше, но я рекомендую брать прошивку с устройства, которые максимально похоже на ваше. Это поможет улучшить совместимость

INFO

Например, для порта Hyper NexiunOS я взял базу с POCO F3. POCO F3 чуть близок с POCO X3 PRO. (И на порте серьезных багов нету)

INFO

База - эта та прошивка, которую мы будем портировать.

Этап 2 - Донор

Для порта конечно понадобится донор

INFO

Донор - это то устройство, с которого мы будем брать важные файлы. У донора должнен быть либо MIUI (но предеться доделать фалйы), либо уже есть порт HyperOS, откуда можно будет взять донор.

Желательно что бы версия прошивки донора была близка или одинакова версии базы!

Этап 3 - Подготовка из донора

INFO

Требуется:

  • Root доступ к корню
    1. Создаем папку port в /sdcard/
    1. Переходим по пути /product/etc/
    1. Копируем: build.prop, папку displayconfig, и папку device_features в port
    1. Идем в /system_ext/ и копируем папку apex в папку sdcard. Также удаляем все файлы в apex, кроме с .vndk.
    1. Идем в /product/overlay/ и копируем AospFrameworkResOverlay.apk, DevicesAndroidOverlay.apk, DevicesOverlay.apk. Иногда GestureLine.apk.
    1. Проверяем port на наличие всех нужных файлов.

Этап 3 - Расспаковка Базы

Все будет на примере расспаковки super.img, разделенного на части. На Android.

    1. Устанавливаем UKA кухну. (Как это делать, читайте в теме)
    1. Запускаем через команды в терминале:
bash
su

и

bash
menu
    1. Закидываем super.img.0, super.img.1 и т.д в /data/local/UnpackerQfil
    1. В UKA переходим 11 -> 4 -> 1
    1. Спустя время будет текст:
bash
.....Найдены файлы "*sparsechunk*"

.....Склейка super_chunk.raw.img...
.....Успешно создан файл super_chunk.raw.img
.....Сохранено в /data/local/UnpackerQfil/output

Результат будет лежать в /data/local/UnpackerQfil/output Для удобства, файл super_chunk.raw.img переименуем в super.img

    1. Дальше, наш готовый super.img кидаем в /data/local/UnpackerSuper/, а папку /data/local/UnpackerQfil/ очищаем для освобождения места. Удаляем все, кроме: папки config, system_ext.img, system.img, product.img, и mi_ext.img(если есть)
    1. Переходим снова в UKA, и идем 3 -> 2 -> 1 ->
    1. После распаковки super.img файлы будут лежать в /data/local/UnpackerSuper/. Теперь тамже, удалем super.img.
    1. Теперь в UKA снова идем 3 -> 2 ->, но теперь выбираем пункт Расспаковать все образы
    1. Результат в /data/local/UnpackerSystem/

Этап 4 - Замены файлов.

Это самый легкий этап. Долго писать не буду, просто замена файлов, но расскажу про разные моменты.

    1. Папки displayconfig и device_features в базе сначало надо удалить.
    1. build.prop не заменять!!!
    1. Если вдруг у вас есть mi_ext, тогда перенесите файлы из базы /mi_ext/product в /product/

WARNING

Не заменяйте файлы! Просто копируйте в соответсвии с папка/файл !!!

    1. После копирования файлов из mi_ext, папку mi_ext удаляем

Этап 5 - сборка

После замены, можно уже собрать образы.

    1. Копируем папки все папки из /data/local/UnpackerSystem/ в /data/local/UnpackerSystem/erofs/
    1. Идем снова в UKA, 7 -> 2 -> 5 Собираем все образы.

Результат будет лежать в /data/local/UnpackerSystem/

    1. Дальше, прошивка образов через fastboot:
bash
## Прошиваем system_ext
fastboot flash system_ext system_ext.new.img
## Прошиваем system
fastboot flash system system.new.img
## Прошиваем product
fastboot flash product product.new.img
    1. Дальше загружаемся. Если хотите прошить vendor, тогда:
bash
## Прошиваем vendor
fastboot flash vendor vendor.img

Этап 6 - Финал.

Поздровляю, вы портировали HyperOS 2 на ваш смартофон! Благордарность им:

  • @are_can - сам автор книги
  • пост - кто научил меня порту