Project Treble | Обсуждение Project Treble и всё что с ним связано

Knight

Новичок
12.05.2019
8
1
16
498499

 
Последнее редактирование модератором:
  • Спасибо
Благодарности: dimskol, Lord_X, lk2322 и 7 других

Knight

Новичок
12.05.2019
8
1
16
FAQ по Project Treble
В: Что такое GSI (рус. ООС)?
О: GSI = Generic System Image (рус. ООС = Общий образ системы)

В: Почему сканер отпечатков/кнопка/и т.д. пробуждения не работает?
О: Эти функции по умолчанию (на данный момент) не включены в прошивки с ООС (GSI) и ещё из-за того что Project Treble пока развивается. Для некоторых устройств специально будут выкладываться т.н. "Решения" или будут интегрироваться сразу (как например в прошивках от команды JDC).

В: Как я могу вернуться на обычную кастомную прошивку и что мне для этого нужно?
О: Нужно прошиться как обычно через TWRP и всё. Прошивка кастомной прошивки (ред.: сорри за тавтологию, но на русском по другому не скажешь :D ) переписывает boot.img и раздел /system... Раздел vendor остаётся на месте и ожидает следующих тестов! :)

В: Если я вернусь на кастомную прошивки и захочу вернуть поддержку Project Treble, то что мне для этого нужно?
О: Нужно просто прошить архив активирующий поддержку Project Treble (Treble.zip) через TWRP как в первый раз. Для РТ нужен boot.img и vendor.img установленные внутри устройства. Больше ничего не нужно

В: AOSP с ООС от Phh очень скуден в функционале. Почему так?
О: Это всё из-за того что AOSP c OOC от Phh не кастомная прошивка, а обычный AOSP. И вообще данная прошивка была собрана в экспериментальных целях для того что бы было максимально просто её устанавливать на большинство устройств с поддержкой Project Treble.
Эта поддержка может быть и "из коробки", сразу по обновлению на обычную прошивку Oreo или же может быть добавлена энтузиастами на "не поддерживаемые" устройства.
На сегодня прошивка AOSP с ООС от Phh не очень хороша для повседневного использования... или можно даже сказать что она хороша только для любителей ультра чистой системы.
Мы надеемся, что в будущем многие кастомные прошивки перейдут на ООС (как например JDC или TeamMex), тогда мы будем иметь "базу" с поддержкой Тreble для новых проектов под наши устройства.

В: Как получить ROOT на AOSP с ООС от Phh?
О: Для начала нужно скачать образы с GAPPS и SU. После установки, находим в маркете приложение "phh superuser" для управления доступом суперпользователя для остальных приложений требующих наличие ROOT/права суперпользователя.

В: Какой у меня тип системного раздела? A-only или A/B?
О: Ставим приложение → и смотрим на второй блок
TREBLE-CHECK.png

В: Если у меня тип системного раздела, например, A (A-only), то я могу ставить прошивки для предназначенные для A/B тоже?
О: Нет, не можете. Вы можете ставить только для прошивки поддерживающие Ваш тип системного раздела (в данном случае это А)

В: Как установить прошивку с ООС через TWRP?
О:

В: Я разработчик и хотел бы собрать прошивку с ООС, как я могу это сделать?
О:

В: Почему последние прошивки с ООС идут в формате .xz и имеют небольшой вес?
О: Начиная с AOSP [Phh] v19 (2018-06-03) - релизы сжимаются в xz. Перед прошивкой нужно распаковать архив.

В: Как определить какой у меня тип раздела через программу Treble Check?
О:
Если Вы наблюдаете следующую картину (только сверху есть галочка), то у Вас тип системного раздела А (A-only):
1534961056300.jpg
Если Вы наблюдаете следующую картину (есть обе галочки), то у Вас тип системного раздела А/B

В: Есть ли смысл от Project Treble? Телефон станет ракетой, или батарею будет активно 5 дней держать?
О: Есть, если хотите установить стабильную базу, и ООС со всеми "плюшками" о которых вы мечтали, но не смогли использовать прошивку под ваше устройство из-за багов, или ее отсутствие.

В: У меня на устройстве установлен пароль/шаблон/код. После смены прошивки не могу войти... Что делать?
О: Нужно прошить через TWRP следующий файл - Скрипт сбрасывающий пароли с помощью кастомного Recovery [TWRP] - ResetPSWRD_for_TWRP.zip

В процессе наполнения...

#Вшапке
 
Последнее редактирование модератором:
  • Спасибо
Благодарности: Lord_X, LollyBomb и WhiteApfel

Knight

Новичок
12.05.2019
8
1
16
FAQ по Project Treble #2
Q: Что такое Project Treble?
A:
Project Treble это новая структура операционной системы Android, при которой низкоуровневые драйверы сохраняются в специальном разделе /vendor. А остальная часть операционной системы в системном образе GSI. Так как все устройства разные, /vendor у каждого свой, а вот GSI на всех один. Это значительно упрощает разработку глобальных проектов сразу на несколько устройтв, так как оптимизацией прошивки занимается сама компания телефона, а разработчику необходимо лишь собрать стабильный GSI образ.

Q: Что означает "Прошивки с поддержкой Treble" и зачем они нужны?
A:
Для устройств с Android 8.x Oreo «из коробки» поддержка Treble является обязательным условием и она доступна сразу. Для других есть специальные кастомные прошивки на базе Android 8. Они выпускаются отдельно от обычных кастомов (если под ваш аппарат есть прошивка на 8 андроиде, это еще не значит что она с поддержкой Treble. Надо смотреть описание или спросить у автора прошивки) и имеют встроенную поддержку Treble. Это означает, что в них предусмотрено сохранение всех важных системных данных и драйверов в раздел /vendor. Это как бы отправная точка, после которой можно прошивать, менять, переустанавливать GSI и не волноваться, что устройство не будет работать.

Q: Что такое GSI?
A:
GSI (Generic System Image) или на русском ООС (Общий Образ Системы). Из названия понятно, что это образ системы, файл .img, соответственно и затрагивать он будет только раздел /system. В нем хранятся все файлы и данные прошивки за исключением тех, которые свойственны только определенному телефону (модели) и которые хранятся в разделе /vendor (например наличие ИК порта, модель камеры, аппаратные кнопки навигации, сканер отпечатков и т.п.). В зависимости от структуры разделов устройства существует два вида GSI: Aonly и A/B. На XDA для каждой прошивки есть две версии образа. Проверить, поддерживает ли ваше устройство Treble, а также узнать, какая у него структура разделов можно .

Q: После того как я получил поддержку Treble, можно ли как-то восстановить все разделы, и вернуться назад на обычные кастомные прошивки?
A:
Для перехода на обычную прошивку, без поддержки Treble, просто сделайте необходимые вайпы: wipe system, cache, dalvik, data и прошейте что вам нужно. Можно также сделать Wipe vendor, но он никак не влияет на работу системы, поэтому этот шаг можно упустить.

Q: Не могу разобраться со всеми этими инструкциями и прошивками.
A:
Сначала вы следуете инструкции по получению поддержки Treble. Иначе её можно назвать "Инструкцией по созданию раздела vendor" или "Установка прошивки Treble". Её можно найти в теме вашего устройства или в этой теме, под спойлером Инструкции. С ее помощью вы создаете раздел /vendor. Но он будет пустым. Далее прошиваете Treble прошивку или отдельный vendor от неё (если такой есть), тоже только для вашего устройства. Теперь у вас есть нужный раздел, в котором хранится вся необходимая информация и нужные драйверы. После этого вы уже можете прошивать любые GSI по инструкции или той, что прилагается к самому ООС. Также, перед установкой нового GSI, я рекомендую заново проходить процесс Треблизации, то есть делать Wipe vendor и заново ставить Treble прошивку. Так увеличится вероятность удачного запуска и правильной работы системы.
 
  • Спасибо
Благодарности: LollyBomb и WhiteApfel

alex6446

Insomnia
16.12.2018
24
40
0
Установка Android Pie
Public Release 2
Внимание! Перед прошивкой убедитесь, что вы получили поддержку Project Treble для вашего устройства.

Эта инструкция только для установки (DP3, DP4, DP5, PR1, PR2) с Google Pixel. Остальные GSI ставить по мануалу.
Ниже представлены две инструкции, для устройств со структурой разделов A и со структурой A/B:
  1. Скачиваем все необходимое:
    • Фиксы для вашего устройства
  2. Кидаем все скачанные файлы на телефон.
  3. Распаковываем первый архив.
  4. Перезагружаемся в TWRP. Делаем вайпы system, cache, dalvik cache, data.
  5. В TWRP прошиваем первый файл (в распакованном виде он будет называться P_sGSI[A ONLY].img). В правом нижнем углу выбираем "Install Image", нажимаем на файл и выбираем "system". Шьём свайпом вправо.
  6. Монтируем vendor и system. Из главного меню TWRP выбираем "Mount". Ставим галочки напротив "vendor" и "system". Если галочки уже стоят, выключаем и включаем их снова.
  7. Прошиваем по очереди:
    - POST-sGSI_1_v0.15.zip
    - POST-sGSI_2_v0.18.zip
    - POST-sGSI_3_v0.6.zip
  8. Прошиваем все скачанные фиксы, если есть для вашего устройства. Если при установке возникают ошибки: в TWRP опять идём в Mount (снимаем если уже стоят) и ставим галочки напротив "system" и "vendor".
  9. Перезагружаем девайс. В TWRP > Reboot System. Должна загрузиться система, но пока она ещё не готова для использования, все будет лагать и вылетать. Идём дальше.
  10. Устанавливаем Google-Play-Services.apk. Для этого (кто не знает) заходим в приложение "Файлы", нажимаем на три точки сверху справа и жмём "Показать внутр. хранилище". В шторке слева появится память телефона и там уже и надо искать этот апк файл.
  11. Включаем MTP для передачи файлов на ПК. Для этого переходим в Настройки > Система > О телефоне > Номер Сборки. Нажимаем на номер раз 5 - 7 пока не напишет что "Вы стали разработчиком". Далее жмём кнопку назад. Появился пункт "Для разработчиков", заходим в него. Ищем "Конфигурация USB по умолчанию". Заходим туда и выбираем "Передача файлов". Теперь при подключении, компьютер увидит ваш телефон.
Установка успешно завершена!
  1. Скачиваем все необходимое:
    • Фиксы для вашего устройства
  2. Кидаем все скачанные файлы на телефон.
  3. Перезагружаемся в TWRP. Делаем вайпы system, cache, dalvik cache, data.
  4. В TWRP прошиваем первый файл (P_PR1_AB.img). В правом нижнем углу выбираем "Install Image", нажимаем на файл и выбираем "system". Шьём свайпом вправо.
  5. Монтируем vendor и system. Из главного меню TWRP выбираем "Mount". Ставим галочки напротив "vendor" и "system". Если галочки уже стоят, выключаем и включаем их снова.
  6. Прошиваем по очереди:
    - POST-sGSI_1_v0.15.zip
    - POST-sGSI_2_v0.18.zip
    - POST-sGSI_3_v0.6.zip
  7. Прошиваем Permissiver.zip и FBE_Disabler.zip
  8. Прошиваем все скачанные фиксы, если есть для вашего устройства. Если при установке возникают ошибки: в TWRP опять идём в Mount (снимаем если уже стоят) и ставим галочки напротив "system" и "vendor".
  9. Перезагружаем девайс. В TWRP > Reboot System. Должна загрузиться система, но пока она ещё не готова для использования, все будет лагать и вылетать. Идём дальше.
  10. Устанавливаем Google_play_services.apk. Для этого (кто не знает) заходим в приложение "Файлы", нажимаем на три точки сверху справа и жмём "Показать внутр. хранилище". В шторке слева появится память телефона и там уже и надо искать этот апк файл.
  11. Включаем MTP для передачи файлов на ПК. Для этого переходим в Настройки > Система > О телефоне > Номер Сборки. Нажимаем на номер раз 5 - 7 пока не напишет что "Вы стали разработчиком". Далее жмём кнопку назад. Появился пункт "Для разработчиков", заходим в него. Ищем "Конфигурация USB по умолчанию". Заходим туда и выбираем "Передача файлов". Теперь при подключении, компьютер увидит ваш телефон.
Установка успешно завершена!

  • Для получения ROOT прав необходимо установить Magisk последней версии:
  • Разные патчи можно найти здесь:
  • Для отключения наэкранных кнопок (панели навигации) в конец файла build.prop (он находится в папке system) нужно вписать данную строчку, после чего перезагрузить устройство. qemu.hw.mainkeys=1
  • Для включения нового навбара, как на скриншоте, нужно перейти в Настройки > Система > Жесты и включить "Коснуться кнопки главного экрана и провести вверх"
    [attachment="13500673:Screenshot_20180724-222336.png"]
  • Если ваше устройство зашифровалось и просит пароль при включении: в TWRP выбираем Wipe > Format Data и в появившейся строке пишем слово "yes". ВНИМАНИЕ! Удалятся все данные, в том числе музыка, фотографии и прочие медиа файлы.
  • Если при перезагрузке вас перекидывает в режим Fastboot, значит в процессе установки вы сделали что-то не так, или ваше устройство не поддерживает Project Treble. Внимательно пересмотрите все использованные вами мануалы и инструкции и повторите все пройденные действия начиная с получения поддержки Project Treble путем установки Treble прошивки и заканчивая установкой самого Android P.
 
  • Спасибо
Благодарности: Lord_X и LollyBomb

WhiteApfel

Не один
17.12.2018
2 522
400
0
Göteborg
pfel.ru
Устройство
Xiaomi Mi 8 Lite
О Project Treble, GSI и всяком таком
на Kenzo/Kate

* Treble-TWRP - twrp-3.3.1-0-kenzo.img
* Vendor - Cardinal-AOSP_Vendor_kenzo_kate_20181117.zip
* Нужный Вам A-only ARM64 GSI-образ -
* OpenGApps -
* Magisk Root -

Установка Treble-TWRP:
* Перезагружаем устройство в Recovery (предполагается, что у вас уже стоит хоть какое-то)
* Заходим в раздел установки (Install)
* Нажимаем на "Установить img" (Install img)
* Переходим в нужную директорию
* Выбираем TWRP-образ
* Устанавливаем, как Recovery

Подготовка к установке:
* Заходим в очистку (wipe)
* Выбираем выборочную очистку (advanced wipe)
* Выбираем Dalvik, System, Data, Cache, Vendor
* Делаем Wipe
* После очистки надо размонтировать разделы, ибо не всегда и не у всех это происходит само! Самый надёжный способ - перезагрузить устройство в recovery. Если этого не сделать, возможна долгая анимация загрузки и автоматический перезапуск в recovery, без возможности полноценного запуска системы!

Установка Vendor от нашего аппарата:
* Заходим в раздел установки (Install)
* Переходим в нужную директорию
* Выбираем ZIP-архив, который скачали
* Устанавливаем

Установка универсального образа системы - GSI:
* Заходим в раздел установки (Install)
* Нажимаем на "Установить img" (Install img)
* Переходим в нужную директорию
* Выбираем A-only ARM64 GSI-образ
* Устанавливаем, как System Image (Если вы скачали zip/7z/tar.gz/etc - распакуйте. Вес должен быть 1гб+ )
* Перезагружаем устройство в систему

Если всё прошло успешно, можно установить gapps, root:
* Перезагружаем устрйоство в Recovery
* Делаем Wipe Dalvik Cache, Cache, Data
* Прошиваем Open GApps
* Прошиваем Magisk
* Перезагружаем устройство в систему

Какие GSI-образы ставить нельзя:
* DP1/2/3/4
* PR1
* XenonHD 8.1

Как отключить аппаратные кнопки:
* Идём по пути /vendor/usr/keylayout и открываем файл ft5x06_ts.kl.
* Коментируем:
# key 158 BACK VIRTUAL
# key 139 APP_SWITCH VIRTUAL
# key 172 HOME VIRTUAL
# key 217 SEARCH VIRTUAL
* Перезагружаем устройство
* Для переназначения надо здесь менять HOME/SEARCH/etc на другие

Powered by
 
Последнее редактирование модератором:

WhiteApfel

Не один
17.12.2018
2 522
400
0
Göteborg
pfel.ru
Устройство
Xiaomi Mi 8 Lite
Powered by

Универсальная инструкция по установке ООС (GSI) через TWRP с картинками

Требования:
  • Разблокированный загрузчик
  • Выбранный и скачанный заранее желаемый ООС (GSI) -
  • Recovery умеющий шить образ системы (System Image)


Инструкция:
  1. Делаем полный сброс (Factory Reset). Жмём на "Wipe" -
    http://cs5-3.smartsworld.to/13506137.png
  2. Перетягиваем ползунок вправо -
    http://cs5-3.smartsworld.to/13506138.png
  3. Перемещаем заранее скачанный ООС (GSI) в память устройства
  4. Устанавливаем прошивку. Жмём "Install"
    http://cs5-3.smartsworld.to/13506140.png
  5. Меняем тип файла с "zip" (архив) на "image" (образ) -
    http://cs5-3.smartsworld.to/13506139.png
  6. Находим и выбираем свой ООС (GSI)
  7. Выбираем желаемый раздел для прошивки образа (system) -
    http://cs5-3.smartsworld.to/13506141.png
  8. Ждём завершения прошивки
  9. Перезагружаем устройство

Powered by
 
Последнее редактирование:
  • Спасибо
Благодарности: LollyBomb

WhiteApfel

Не один
17.12.2018
2 522
400
0
Göteborg
pfel.ru
Устройство
Xiaomi Mi 8 Lite
Патч для добавления разблокировки по лицу

Точно работает на любой прошивке Android 8.1/9.0 и с любыми GApps (в Nano и выше присутствует по умолчанию, установка не требуется)
~~ ~~ ~~ ~~ ~~ ~~ ~~
Функция появляется в: Настройки > Безопасность и конфиденциальность > Smart Lock > Распознавание лиц
Если у Вас по стечению каких-то обстоятельств нет пункта Настройки > Безопасность и конфиденциальность > Smart Lock, то надо активировать эту службу, как агента доверия по пути: Настройки > Безопасность и конфиденциальность > Aгенты доверия > Smart Lock (Google)
~~ ~~ ~~ ~~ ~~ ~~ ~~
Во избежание глупых вопросов:
* В нашем аппарате нет нужных датчиков для 3D сканирования лица
* Программным путём их создать не получится. Даже у шаманов не получится
* Сканируется фотография. Не. Более.
* Обмануть его фотографией вполне можно
* Для работы функции нужно освещение. Хотя бы ИК. Ибо в телефоне не имеется никаких фанариков и подсветок. А в темноте камера не видит. Высокая яркость и светлые обои спасают
* Настоятельно рекомендуется делать одно сканирование на одной локации (чтобы свет и фон не отличались), а во время сканирования голову наклонять и поворачивать, но не сильно
* Для лучшей работы добавляйте сканы через кнопку "Улучшить распознавание". Рекомендуется сделать таковые в помещении со слабым светом, на улице, против солнца, в очках, без них и так далее, чтобы сканирование работало лучше
* И... Самое главное. Smart Lock НЕ работает, пока Ваш телефон не будет защищён паролем/кодом/ключом
~~ ~~ ~~ ~~ ~~ ~~ ~~
Вы всё прочитали?
Уверены, что хотите поставить патч?
А бэкап у Вас есть?
А раздел System в этом бэкапе сохранён?
Понимание, что Вы делаете всё на свой страх и риск, а я в случае получения бутлупа или потери данных не виноват?
Да?
Тогда можно скачивать...
Я Вас не принуждал...

~~ ~~ ~~ ~~ ~~ ~~ ~~
Для установки просто прошить в TWRP архив-установщик


DOWNLOAD
|

Powered by
 
Последнее редактирование:
  • Спасибо
Благодарности: LollyBomb

WhiteApfel

Не один
17.12.2018
2 522
400
0
Göteborg
pfel.ru
Устройство
Xiaomi Mi 8 Lite
Powered by

Displax написал(а):
Про "A/B" структуру разделов и "seamless" обновления
Или ответ на вопрос: "Что не так с моим устройством? Почему он не такой как все?"


Начнем. Вы, наверное, слышали, что в некоторых устройствах используется какая-то диковинная A/B структура разделов . Она отличается от структуры в большинстве Android устройств.
На ней как-то странно и непривычно устанавливаются обновления, прямо при работающей системе (o_O). Внутри OTA образов другая, нечитабельная структура. Установка TWRP сопровождается какими-то, раннее не встречаемыми, сложностями, дополнительными манипуляциями и значительно отличается от всего, что "я" раньше видел. Все говорят о каких-то буквах "А", "Б", "В", слотах, двух и системах и прочих, непонятных "мне", вещах. Что же, давайте попробуем во всем этом разобраться.


Начнем с общих вопросов:
Q:
Ну и кто все это придумал? Проклятые производители простым гикам жизнь усложняют?
A:
Новая структура "A/B разделов" разработана непосредственно Google-ом как часть глобальных изменений в архитектуре Android. Она успешно используется в смартфонах Google Pixel первого и второго поколений, Essential Phone и различных других устройствах. В дальнейшем все больше устройств от сторонних производителей будут ее использовать. Ничего плохого и страшного в этом нет, наоборот, открывается много новых возможностей.

Q: Так что же из себя представляет A/B структура разделов?
A:
Если говорить совсем просто — внутри вашего устройства расположены сразу две (а в зависимости от реализации и больше), независимые между собой, системы. Что-то на подобии (если слышали о таком), только с гораздо более продуманной реализацией на более низком уровне. Если интересует конкретная информация с объяснением всех аспектов - прошу продолжить чтение.


Таблица разделов на примере Google Pixel:
Дабы наглядно отобразить, изложенную выше, теорию и увидеть отличия по сравнению с другими устройствами — познакомимся с таблицей разделов Google Pixel.
Если вы вообще не знакомы со структурой разделов в Linux-подобных системах, и Android в частности, — советую поискать информацию об этом в Google, благо ее полно.

Нас интересуют конкретные разделы, существующие в двух копиях для наглядности и демонстрации.
Итак (раскрываем код полностью):
Код:
/dev/block/bootdevice/by-name/aboot_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/apdp_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/bootlocker_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/cmnlib32_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/cmnlib64_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/devcfg_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/hosd_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/hyp_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/keymaster_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/msadp_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/pmic_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/rpm_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/tz_a # Разделы первого загрузчика (Слот "a")
/dev/block/bootdevice/by-name/xbl_a # Разделы первого загрузчика (Слот "a")

/dev/block/bootdevice/by-name/aboot_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/apdp_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/bootlocker_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/cmnlib32_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/cmnlib64_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/devcfg_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/hosd_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/hyp_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/keymaster_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/msadp_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/pmic_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/rpm_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/tz_b # Разделы второго загрузчика (Слот "b")
/dev/block/bootdevice/by-name/xbl_b # Разделы второго загрузчика (Слот "b")

/dev/block/bootdevice/by-name/modem_a # Раздел первого модема/радиомодуля (Слот "a")
/dev/block/bootdevice/by-name/modem_b # Раздел второго модема/радиомодуля (Слот "b")

/dev/block/bootdevice/by-name/boot_a # Раздел первого ядра (Слот "a")
/dev/block/bootdevice/by-name/boot_b # Раздел второго ядра (Слот "b")

/dev/block/bootdevice/by-name/vendor_a # Первый проприетарный раздел (Слот "a")
/dev/block/bootdevice/by-name/vendor_b # Второй проприетарный раздел (Слот "b")

/dev/block/bootdevice/by-name/system_a # Первый системный раздел (Слот "a")
/dev/block/bootdevice/by-name/system_b # Второй системный раздел (Слот "b")
Как видно из выдержки выше, — имеются два, независимых между собой, слота, а именно "группы разделов", которые содержат в себе основные, обновляемые компоненты прошивки.

Два представленных слота состоят из:
Bootloader (загрузчик) — 28 разделов (14 на каждый слот).
Radio/Modem (радиомодуль) — 2 раздела (по одному на слот).
Boot (ядро) — 2 раздела (по одному на слот).
Vendor (драйверы) — 2 раздела (по одному на слот).
System (система) — 2 раздела (по одному на слот).

Остальные разделы, не указанные в таблице, представлены в одном экземпляре за ненадобностью их деления.
Обратите внимание раздел пользовательского хранилища (userdata) всегда один! Именно поэтому вы не можете одновременно использовать две абсолютно разных прошивки. Возможно одновременное использование одинаковых по типу прошивок.


Принципиальные отличия по сравнению с другими устройствами:
С дублированием разделов и, структурой в целом, разобрались. Однако, вы могли заметить (если просматривали полную таблицу разделов) отсутствие, привычных в любом устройстве, разделов "/recovery" и "/cache". Да, их действительно нет.

Q: Стоп. Но если раздела для Recovery нет, а сам Recovery есть (Он ведь есть, правда?), где же он находится?
A:
Система восстановления (Recovery) включена в состав образа ядра (boot). А потому, наличие, отсутствие и тип установленного recovery напрямую зависят от ядра системы. Переключение в него (Recovery), как и раньше, осуществляется специальным флагом в "/misc" разделе.
Именно в этом и состоит загвоздка установки TWRP — его как-то нужно засунуть в ядро. Потому TWRP сначала временно загружают (устанавливать то его некуда), а затем уже из TWRP, специальным скриптом, на лету распаковывается ядро и вшивается в него TWRP. Такая же схема "перепаковки ядра на лету" применяется при получении "systemless" рут-прав через SuperSU и Magisk.

Q:
Хорошо, а что же тогда случилось с "/cache" разделом?
A:
В привычных устройствах он необходим лишь для хранения OTA обновлений и системных логов Recovery, в данном же случае, ввиду применения новой схемы этих самых обновлений (см. ниже), раздел стал попросту "не нужОн". Вот от него и избавились.

Q: Это все хорошо и прекрасно, но наверняка такой вариант распределения разделов использует намного больше объема флеш-накопителя?
A:
Отнюдь. Разница в пользу увеличения конечно есть, но она не такая большая, как может показаться на первый взгляд. Ввиду отказа от вышеупомянутых разделов и уменьшения системного раздела — разница практически нивелируется. Наглядная иллюстрация разметки и расхода памяти:
https://cs5-3.smartsworld.to/11297711.png

Ручное переключение слотов:
Естественно, помимо самих слотов, должен быть способ ручного взаимодействия с ними. И он есть. Для ручного переключения текущего активного слота необходимо воспользоваться утилитой fastboot. Команды:
Код:
fastboot set_active a
fastboot set_active b
Так же, переключится в другой слот можно в соответствующем пункте TWRP (Reboot -> Slot A / Slot B).


Итоги и положения:
1.
Между слотами как система, так и сам пользователь могут переключаться.
2. Изначально (с завода) слоты полностью идентичны между собой. Различия появляются после применения любого OTA обновления системы.
3. Слоты изолированы между собой. Состояние и целостность одного слота никак не влияет на другой. За исключением применения OTA обновлений (см. ниже).


"Seamless" система обновлений:
Итак, с разделами и слотами разобрались. Но что же там с обновлениями, наверняка их тоже коснулись изменения, ввиду описанного выше?
Да, OTA обновления на устройствах с A/B структурой кардинально отличаются от того, что мы можем видеть на других устройствах.

Итоги и положения:
1.
Все OTA обновления устанавливаются в неактивный, противоположный слот. То бишь - обновляется лишь один слот.
2. Все OTA обновления устанавливаются в фоновом режиме при рабочей системе, без перезагрузки устройства.
3. Все OTA обновления устанавливаются в два этапа "Шаги": "Шаг 1" - Загрузка обновления. "Шаг 2" - Фоновое применение обновления в неактивный, противоположный слот.
4. После установки OTA обновления, при перезагрузке устройства, оно автоматически загрузится в обновленный слот (ранее неактивный).

Android 8.0+ — трансляция обновлений:
Начиная с версии Android 8.0 возможна (но не обязательна) частичная реализация трансляции обновлений с одновременным их применением (прямая запись).
Это значит, что обновления не нуждаются в предварительной их загрузке, а применяются "на лету".
На данный момент эта технология нигде не применяется, а рабочая ее реализация ожидается с выходом Android 9.0.
 
Последнее редактирование:
  • Спасибо
Благодарности: LollyBomb

WhiteApfel

Не один
17.12.2018
2 522
400
0
Göteborg
pfel.ru
Устройство
Xiaomi Mi 8 Lite
Powered by

Проверка устройства на совместимость с Project Treble:
  1. Открываем терминал
  2. Пишем команду:
    getprop ro.treble.enabled
  3. true = Устройство поддерживает/совместимо с Project Treble
  4. false = Устройство НЕ поддерживает/совместимо с Project Treble
 
  • Спасибо
Благодарности: LollyBomb

WhiteApfel

Не один
17.12.2018
2 522
400
0
Göteborg
pfel.ru
Устройство
Xiaomi Mi 8 Lite
Powered by

Возвращаем настройки кнопок на
R4/R4X (Santoni)


Инструкция:
  1. Качаем vendor.img
  2. Заходим в рекавери
  3. Бекап раздела "vendor"
  4. Ставим ранее скачанный img
  5. Готово!

Скачать:
 
  • Спасибо
Благодарности: LollyBomb

WhiteApfel

Не один
17.12.2018
2 522
400
0
Göteborg
pfel.ru
Устройство
Xiaomi Mi 8 Lite
Powered by

Ручная сертификация устройства в Google
Нужен рут.
Перейдите в папку «market» по пути /data/data/com.android.vending/shared_prefs.
Найдите файл finsky.xml. Откройте текстовым редактором, найдите ключ «device-google-certified» и измените false на true, но перед сохранением остановите плэй маркет
Перегрузить телефон.
https://cs5-3.smartsworld.to/13031410.jpg
Если данной строки нету - её нужно добавить https://s.smartsworld.to/Wyyhz2tYxNReQjk1/smile_good.gif
 
  • Спасибо
Благодарности: LollyBomb

WhiteApfel

Не один
17.12.2018
2 522
400
0
Göteborg
pfel.ru
Устройство
Xiaomi Mi 8 Lite
Powered by

Активация неработающего Voice Match
Зайдите в build.prop и поменяйте:
1) все строки с marlin на кодовое имя вашего телефона(land, mido, kenzo и т.д)
2) в двух строчках замените Google на изготовителя телефона (Xiaomi, HTC, Lenovo и т.д)
3) замените Pixel XL на название вашего телефона( Redmi 3S, Redmi Note 4 и т.д)
4) перезагрузите устройство, сбросьте данные приложения google.
 
  • Спасибо
Благодарности: LollyBomb

alex6446

Insomnia
16.12.2018
24
40
0
Инструкция по установке прошивки Treble для LeEco Le Max 2

Необходимые файлы:
  • TWRP который поддерживает Treble:
  • Скрипт для создания нового раздела:
  • Прошивка для установки GSI:
    || ||

Инструкция:
  1. Прошиваем через TWRP рекавери Первый файл (recovery.img)
    *Для этого, в TWRP, нужно перейти в директорию, где хранится файл > в правом нижнем углу нажать "Install Image" > выбрать файл "recovery.img" > в открывшемся меню выбрать "recovery".
  2. Перезагружаемся в новое рекавери
    *Из главного меню TWRP > Reboot > Recovery.
  3. Прошиваем Второй файл (partition.zip)
    *Во время установки будет пару ошибок "cannot mount /vendor", не обращаем внимание.
  4. Вайпаем раздел vendor.
    *Из главного меню TWRP > Wipe > ставим галочку только на vendor, с остальных разделов галки снимаем > делаем свайп для очистки (wipe).
  5. Если не получается сделать Wipe или Mount vendor (выдаёт ошибку)
    В TWRP выбираем Wipe > Advanced Wipe. Ставим галочку напротив Vendor. Внизу нажимаем Repair to change File System > Change File System. Выбираем FAT, подтверждаем свайпом в право. Потом повторяем все то же самое, только в конце выбираем EXT4. После этого спокойно Вайпаем vendor и идём ставить прошивку.
  6. Прошиваем Третий файл (AEX или Revenge OS или LOS)
    *Как обычно формат system, cache, dalvik cache, data. Далее устанавливаем zip файл прошивки или вендора от неё.

Поздравляю! Теперь ваш телефон неофициально поддерживает Project Treble.

 
Последнее редактирование:

Nikitel

#getresurrected
19.12.2018
2
11
60
Новосибирск - Санкт-Петербург
Устройство
Xiaomi Mi Max 3
Название: Resurrection Remix 7.0.0 - Android 9.x Pie - arm64 A, arm64 AB, arm A.
Автор: mracar
Источник на Английском:
Известные баги:
- Неизвестно
- Зависит от вашего Vendor'а
Скриншоты:
Screenshot_20190122-224727_.pngScreenshot_20190122-224733_.png
Скачать:
 
  • Спасибо
Благодарности: vitches69 и Акелла

Nikitel

#getresurrected
19.12.2018
2
11
60
Новосибирск - Санкт-Петербург
Устройство
Xiaomi Mi Max 3
Название: AospExtended (AEX) 6.2 - Android 9.x Pie - arm A, arm64 A, arm64 AB.
Автор:
EnesSastim
Источник на Английском:
Известные баги:
- Неизвестно
Скриншоты:
скоро
Скачать:
 
  • Спасибо
Благодарности: Акелла

Next я

Damnant, quod non intellegunt.
18.12.2018
13
7
0
Напомните Syberia OS имеет ли офф поддержку, если да, то есть ли в телеге их канал?
 

WhiteApfel

Не один
17.12.2018
2 522
400
0
Göteborg
pfel.ru
Устройство
Xiaomi Mi 8 Lite
Next я Next я, если я правильно понял, то и
 

Next я

Damnant, quod non intellegunt.
18.12.2018
13
7
0
Next я Next я, если я правильно понял, то и
Да,вчера нашел.К сожалению,они не пилят ромы gsi.Их NFaund делает
 

JSPiRiT

#TeamTentacles
17.12.2018
25
32
0
Устройство
Xiaomi Redmi 4A
Название: OxygenOS Pie 9.0 - A ONLY - ARM64
Автор: guzram
Источник на английском:
Известные баги:
  • Меню перезагрузки (фикс в облаке, шить после прохождения первой настройки)
  • Яркость (фикс в облаке)
  • Не отключается навбар (фикс так же в . закинуть в /vendor/overlay)
  • Звук (фикс в облаке)
  • Зависит от вендора
Инструкция:
  1. Получаем полную поддержку PT/Прошиваем РТ прошивку на пироге
  2. Вайп data, cache, dalvik
  3. Шьём img в System Image
  4. Монтируем вендор
  5. Шьём Vendor и Ramdisk патчи (Audio патч только для вайреда)
  6. Перезагружаемся в TWRP
  7. Монтируем систему
  8. Шьем Permissiver и FBE Disabler (если нужно для вашего устройства)
  9. Если не запускается, то прошить P_Boot_fix.zip
Скриншоты:
11318
Скачать:
 
  • Спасибо
Благодарности: Nemogood

JSPiRiT

#TeamTentacles
17.12.2018
25
32
0
Устройство
Xiaomi Redmi 4A
Название: OxygenOS OREO 8.1 - A ONLY - ARM64
Автор: Boos4721
Источник на английском: Нету
Известные баги:
- Не известно
Инструкция:
  1. Получаем полную поддержку PT/Прошиваем РТ прошивку
  2. Вайп system, data, cache, dalvik
  3. Шьём прошивку
  4. Шьём патчи:
    1. Patch1_H2OS.zip
    2. Patch2_H2OS.zip
    3. Patch3_H2OS.zip
  5. Монтируем систему
  6. Шьём фикс OOS_Boot_Fix.zip
  7. Шьём magisk
  8. Перезагружаемся!
P.S.
Фиксы в облаке

Фикс бутлупа: удалить framework-res__auto_generated_rro.apk с /vendor/overlay и сделать вайп Data
Скриншоты:
11317
Скачать:
 
  • Спасибо
Благодарности: Nemogood