Device support (Project Treble)

if you notice an error, please write to me)

List of devices compatible with Project Treble:

• ARM64 A/B - 1
• ARM_binder64 A/B - 2
• ARM A/B - 3
• ARM64 A - 4
• ARM_binder64 A - 5
• ARM A - 6
• Unknown - 7

By brand:

0-9
• 360 N6 - 7
• 360 N6 Lite - 7
• 360 N6 Pro - 7
• 360 N7 - 7
A
• Alcatel 5V 5060D - 4
• Alcatel Pixi 4 (5) 5010D - 6
• Alcatel POP 3 5015D - 6
• Alcatel POP 3 5052D - 7
• Alldocube M5 - 4
• Alldocube Power M3 - 4
• AllView V3 Viper - 4
• Amazon Fire HD 10 (2019) - 7
• ASUS ROG Phone - 1
• ASUS ROG Phone II - 1
• ASUS ROG Phone III - 1
• ASUS Zenfone Go - 6
• ASUS ZenFone 3 - 7
• ASUS ZenFone 4 - 4
• ASUS ZenFone 5 - 4
• ASUS ZenFone 5Z - 1
• ASUS ZenFone 6 - 1
• ZC500TG - 6
• ASUS ZenFone Live L1 - 4
• ASUS ZenFone Max M1 - 1
• ASUS ZenFone Max M2 - 1
• ASUS ZenFone Max Pro M1 - 4
• ASUS ZenFone Max Pro M2 - 4
B
• Barnes & Noble Nook Tablet 10.1 - 4
• Blackview A20 - 6
• Blackview A60 - 6
• Blackview A60 Pro - 1
• Blackview BV9500 - 4
• Blackview BV9500 Plus - 1
• Blackview BV9500 Pro - 4
• Blackview BV9600 - 7
• Blackview BV9600 Pro - 4 (- 1 when upgrading to Android 9)
• BLU Vivo XL4 - 4
• Bluboo D6 - 6
• BQ Aquaris C - 6
• BQ-mobile S-5020 Strike - 6
• Brown&Proud Brown 1 (Ovvi SK3) - 4
C
• Cherry Mobile Flare S8 - 1
• Cherry Mobile Flare S8 Lite - 5
• Cherry Mobile Flare S8 Max - 1
• Cherry Mobile Flare S8 Plus - 1
• Cherry Mobile Flare S8 Prime - 1
• Chuwi Hi9 Air - 4
• Chuwi Hi9 Plus - 4
• Coolpad C558 - 6
• Coolpad Cool Changer 1C (LeEco Cool 1) - 4
• Coolpad Cool Changer S1 (LeEco Cool S1) - 4
• Cubot P20 - 4
• Cubot P30 - 7
• Cubot Quest - 1
• Cubot X18 - 7
• Cubot X18 Plus - 4
• Cubot X19 - 1
• Cubot X20 Pro - 7
D
• DEXP A140 - 6
• DEXP A240 - 6
• DEXP B260 - 6
• DEXP BL250 - 6
• DEXP GL355 - 6
• DIGMA CITI 653 - 1
• DIGMA VOX V40 3G - 6
• Doogee N10 - 4
• Doogee N20 (Y9 Plus) - 7
• Doogee N100 - 1
• Doogee X5 - 6
• Doogee X5 Max - 6
• Doogee X5 Max Pro - 7
• Doogee X5 Pro - 6
• Doogee X50 - 6
• Doogee X60 - 7
• Doogee X70 - 7
• Doogee Y7 Plus - 4
• Doogee Y8 - 1
• Doogee Y8 Plus - 7
• Duoqin Qin 2 - 1
• Duoqin Qin 2 Pro - 1
E
• Elephone Soldier - 4
• Elephone U Pro - 1
• Essential Phone (PH-1) - 1
F
• Fairphone 3 - 1
• F(x)tec Pro1 - 1
G
• General Mobile GM 4G - 7
• General Mobile GM 5 - 4
• General Mobile GM 5 Plus - 4
• General Mobile GM 8 - 1
• General Mobile GM 8 GO - 4
• General Mobile GM 9 Pro - 1
• GOME U9 - 4
• Google Pixel - 1
• Google Pixel XL - 1
• Google Pixel 2 - 1
• Google Pixel 2 XL - 1
• Google Pixel 3 - 1
• Google Pixel 3 XL - 1
• Google Pixel 3a - 1
• Google Pixel 3a XL - 1
• Google Pixel 4 - 1
• Google Pixel 4 XL - 1
H
• HomTom S99 - 4
• HomTom HT17 Pro - 7
• HomTom ZOJI Z33 - 7
• HTC U11 - 4
• HTC U11 Life - 1
• HTC U11 Plus - 4
• HTC U12 Plus - 1
• Huawei Honor 6X - 4
• Huawei Honor 7A - 4
• Huawei Honor 7A Pro - 4
• Huawei Honor 7C - 4
• Huawei Honor 7C Pro - 4
• Huawei Honor 7X - 4 (- 1 when upgrading to EMUI 9)
• Huawei Honor 8 - 4
• Huawei Honor 8 Lite - 4
• Huawei Honor 8 Pro - 4
• Huawei Honor 8C - 4
• Huawei Honor 8X - 1
• Huawei Honor 8X Max - 1(- 1 when upgrading to EMUI 9)
• Huawei Honor 9 - 4
• Huawei Honor 9 Lite - 4
• Huawei Honor 9X - 1
• Huawei Honor 9X China - 1
• Huawei Honor 10 - 7
• Huawei Honor 10 Lite - 7
• Huawei Honor V8 - 4
• Huawei Honor View 10 (V10) - 4
• Huawei Honor View 20 - 7
• Huawei Mate 9 - 4
• Huawei Mate 9 Lite - 7
• Huawei Mate 9 Pro - 7
• Huawei Mate 10 - 7
• Huawei Mate 10 Lite (Huawei Nova 2i) - 4
• Huawei Mate 10 Pro - 4
• Huawei Mate 20 - 7
• Huawei Mate 20 Lite - 7
• Huawei Mate 20 Pro - 7
• Huawei Mate SE - 4
• Huawei MediaPad M5 - 7
• Huawei MediaPad M5 Lite - 4
• Huawei Nova 2 - 4
• Huawei Nova 2i (Honor 9i) - 4
• Huawei Nova 3 - 7
• Huawei Nova 3i - 7
• Huawei P Smart - 4 (- 1 when upgrading to EMUI 9)
• Huawei P Smart (2019) - 4
• Huawei P Smart Z - 4
• Huawei P8 Lite (2017) - 4
• Huawei P9 - 4
• Huawei P9 Lite - 7
• Huawei P9 Plus - 7
• Huawei P10 - 4 (- 1 when upgrading to EMUI 9)
• Huawei P10 Lite - 4
• Huawei P10 Plus - 4 (- 1 when upgrading to EMUI 9)
• Huawei P20 - 4
• Huawei P20 Lite - 4 (- 1 when upgrading to EMUI 9)
• Huawei P20 Pro - 4 (- 1 when upgrading to EMUI 9)
• Huawei P30 - 1
• Huawei P30 Lite - 1
• Huawei P30 Pro - 1
• Huawei Y6 / Y6 Prime (2018) - 4
• Huawei Y9 (2018) - 4
I
• Infinix Hot 8 - 2
• Infinix Note 5 - 1
• Infinix Note 6 - 1
• Infinix Zero 6 - 1
• INOI 2 Lite - 6
• Itel A32F - 6
J
• Jinga Start LTE - 6
K
• Koolnee Rainbow - 6
L
• Lava Z50 - 6
• Leagoo M8 Pro - 6 and - 5 and - 4
• Leagoo M9 Pro - 6 and - 5
• Leagoo M11 - 6
• Leagoo M13 - 1
• Leagoo Power 2 - 6
• Leagoo Power 2 Pro - 7
• Leagoo Power 5 - 4
• Leagoo S9 - 4
• Leagoo S10 - 7
• Leagoo S11 - 7
• Leagoo T8s - 4
• Leagoo T10 - 7
• LeEco Le 2 - 4
• LeEco Le Max 2 - 4
• LeEco Le Pro 3 - 4
• Lenovo K5 Note (2018) - 4
• Lenovo K5 Play - 4
• Lenovo K5 Pro - 4
• Lenovo K6 / K6 Power - 4
• Lenovo K6 Note / K6 Plus - 1
• Lenovo K8 Note - 4
• Lenovo P2 - 4
• Lenovo S5 - 4
• Lenovo Vibe A Plus - 6
• Lenovo Z5 - 1
• Lenovo Z5 Pro GT - 1
• Lenovo Z5s - 1
• Lenovo Z6 - 1
• Lenovo Z6 Pro - 1
• Lenovo Z6 Youth Edition - 1
• LG G7 ThinQ - 1
• LG G8 ThinQ - 1
• LG K7 - 6
• LG V30 / V30 Plus - 4
• LG V35 ThinQ - 7
• LG V40 ThinQ - 7
• LG V50 ThinQ - 1
• LG V50s ThinQ - 1
• LG V60 ThinQ - 1
M
• Meizu 16s - 1
• Meizu 16s Pro - 1
• Meizu 16T - 1
• Meizu 16th - 4
• Meizu 16th Plus - 4
• Meizu 16x - 4
• Meizu M2 Mini - 4
• Meizu M8 - 4
• Meizu Note 9 - 4
• Meizu X8 - 4
• Motorola Edge and Edge+ - 1
• Motorola Moto E5 - 6
• Motorola Moto E5 Plus - 6
• Motorola Moto G5 - 4
• Motorola Moto G5 Plus - 4
• Motorola Moto G5s - 4
• Motorola Moto G5s Plus - 4
• Motorola Moto G6 - 6
• Motorola Moto G6 Play - 6
• Motorola Moto G6 Plus - 1
• Motorola Moto G7 - 7
• Motorola Moto G7 Play - 2
• Motorola Moto G7 Plus - 1
• Motorola Moto G7 Power - 1
• Motorola Moto G8 Play - 7
• Motorola Moto G8 Plus - 1
• Motorola Moto G8 Power - 1
• Motorola Moto X4 - 1
• Motorola Moto Z - 4
• Motorola Moto Z Play - 4
• Motorola Moto Z2 Force - 1
• Motorola Moto Z2 Play - 4
• Motorola Moto Z3 - 7
• Motorola Moto Z3 Play - 1
• Motorola Moto Z4 - 7
• Motorola One - 1
• Motorola One Action - 7
• Motorola One Hyper - 7
• Motorola One Power - 1
• Motorola One Vision - 1
• Motorola One Zoom - 1
• Motorola RAZR (2020) - 1
• MyPhone myA11 - 6
• MyPhone myA12 - 6
N
• Nintendo Switch - 1
• Nokia 1 - 6
• Nokia 1 Plus - 6
• Nokia 2.1 - 4
• Nokia 3.1 - 1
• Nokia 3.1 Plus - 1
• Nokia 3.2 - 1
• Nokia 4.2 - 1
• Nokia 5.1 - 1
• Nokia 5.1 Plus (X5) - 1
• Nokia 6.1 - 1
• Nokia 6.1 Plus (X6) - 1
• Nokia 6.2 - 1
• Nokia 7 - 1
• Nokia 7 Plus - 1
• Nokia 7.1 - 1
• Nokia 7.2 - 1
• Nokia 8 - 1
• Nokia 8 Sirocco - 1
• Nokia 8.1 (X7) - 1
• Nokia 9 PureView - 1
• Nokia X6 - 1
• Nokia X7 - 1
• Nokia X71 - 1
• Nubia mini 5G - 1
• Nubia Red Magic - 4
• Nubia Red Magic 3- 1
• Nubia Z9 Max - 4
• Nubia Z9 Mini - 4
• Nubia Z17 and Z17s - 4
• Nubia Z18 - 4
• Nubia Z18 Mini - 4
O
• OnePlus 3 / 3T - 4 and - 1
• OnePlus 5 - 4
• OnePlus 5T - 4
• OnePlus 6 - 1
• OnePlus 6T - 1
• OnePlus 7 - 1
• OnePlus 7 Pro - 1
• OnePlus 7T - 1
• OnePlus 7T Pro - 1
• OnePlus 8 - 1
• OnePlus 8 Pro - 1
• OPPO A5 (2020) - 1
• OPPO R11 / R11s - 4
• Oukitel C10 - 6
• Oukitel C11 Pro - 4
• Oukitel K7 Power - 4
• Oukitel K8 - 4
• Oukitel K9 - 1
• Oukitel K10 - 7
• Ovvi SK3 - 4
P
• Prestigio Muze E5 LTE (PSP5545) - 6
• Prestigio Muze G5 LTE (PSP5522) - 6
Q

R
• Razer Phone - 1
• Razer Phone 2 - 1
• Realme 1 - 4
• Realme 2 Pro - 4
• Realme 3 Pro - 1
• Realme 5 - 7
• Realme 5 Pro / Q - 7
• Realme 6 - 1
• Realme 6 Pro - 1
• Realme X - 1
• Realme X2 - 7
• Realme X2 Pro - 1
• Realme XT - 1
• RED Hydrogen One - 1
S
• Samsung Galaxy A3 (2017) - 1
• Samsung Galaxy A6 (2018) - 7
• Samsung Galaxy A6 Plus (2018) - 1 (- 2 when upgrading to One UI 2.0)
• Samsung Galaxy A7 (2018) - 4
• Samsung Galaxy A8 (2018) - 4
• Samsung Galaxy A8 Plus (2018) - 4
• Samsung Galaxy A9 (2018) - 7
• Samsung Galaxy A10 - 2
• Samsung Galaxy A20 - 1
• Samsung Galaxy A20s - 7
• Samsung Galaxy A30 - 1
• Samsung Galaxy A30s - 1
• Samsung Galaxy A40 - 1
• Samsung Galaxy A40s - 7
• Samsung Galaxy A50 - 1
• Samsung Galaxy A50s - 7
• Samsung Galaxy A51 - 1
• Samsung Galaxy A60 - 1
• Samsung Galaxy A70 - 1
• Samsung Galaxy A80 - 7
• Samsung Galaxy A90 - 7
• Samsung Galaxy Fold - 1
• Samsung Galaxy J2 Core (2018) - 5
• Samsung Galaxy J3 (2017) - 7
• Samsung Galaxy J4 (2018) - 5
• Samsung Galaxy J4 Plus (2018) - 6
• Samsung Galaxy J5 (2017) - 5 and - 4 and - 1
• Samsung Galaxy J6 (2018) - 5 and - 1
• Samsung Galaxy J6 Plus (2018) - 6
• Samsung Galaxy J7 (2016) - 4 and - 1
• Samsung Galaxy J7 (2017) - 5 and - 4 and - 1
• Samsung Galaxy J7 Neo - 4 and - 1
• Samsung Galaxy J7 Prime - 4 and - 1
• Samsung Galaxy J8 (2018) - 5
• Samsung Galaxy M20 - 4
• Samsung Galaxy M30 - 7
• Samsung Galaxy M30s - 1
• Samsung Galaxy M31 - 7
• Samsung Galaxy Note 8 - 4
• Samsung Galaxy Note 9 - 4
• Samsung Galaxy Note 10 - 1
• Samsung Galaxy Note 10 Plus - 1
• Samsung Galaxy Note 20 and 20 Ultra (Exynos) - 1
• Samsung Galaxy Note 20 and 20 Ultra (Snapdragon) - 1
• Samsung Galaxy S3 Neo - 6
• Samsung Galaxy S5 Mini - 7
• Samsung Galaxy S6 - 4
• Samsung Galaxy S6 Edge - 4
• Samsung Galaxy S7 - 4
• Samsung Galaxy S7 Edge - 4
• Samsung Galaxy S8 - 4
• Samsung Galaxy S8 Plus - 4
• Samsung Galaxy S9 - 4 (- 1 when upgrading to One UI 2.0)
• Samsung Galaxy S9 [Snapdragon] - 4
• Samsung Galaxy S9 Plus - 4 (- 1 when upgrading to One UI 2.0)
• Samsung Galaxy S9 Plus [Snapdragon] - 4
• Samsung Galaxy S10 - 1
• Samsung Galaxy S10 [Snapdragon] - 1
• Samsung Galaxy S10 Plus - 1
• Samsung Galaxy S10 Plus [Snapdragon] - 1
• Samsung Galaxy S10e - 1
• Samsung Galaxy S10e [Snapdragon] - 1
• Samsung Galaxy S20 (Snapdragon) - 1
• Samsung Galaxy S20 Plus (Snapdragon) - 1
• Samsung Galaxy S20 Ultra (Snapdragon) - 1
• Samsung Galaxy S20 (Exynos) - 1
• Samsung Galaxy S20 Plus (Exynos) - 1
• Samsung Galaxy S20 Ultra (Exynos) - 1
• Samsung Galaxy Tab A 8.0 (2019) - 4
• Samsung Galaxy Tab A 10.1 - 4
• Samsung Galaxy Tab A 10.1 (2019) - 2
• Samsung Galaxy Tab S3 - 4
• Samsung Galaxy Tab S4 - 4
• Samsung Galaxy Tab S5e - 7
• Samsung Galaxy Tab S6 - 7
• Samsung Galaxy Tab S6 lite - 1
• Samsung Galaxy Tab S7 - 1
• Samsung Galaxy Tab S7+ - 1
• Samsung Galaxy Z Fold 2 - 1
• Samsung Galaxy Z Flip - 1
• Sharp Aquos P6 / V1 - 1
• Sharp Aquos S2 / C10 - 1
• Sharp Aquos S3 / D10 - 1
• Sharp Aquos S3 Mini - 1
• Smartfren Andromax Q - 7
• Sony Xperia 1 - 1
• Sony Xperia 10 - 1
• Sony Xperia 10 Plus - 1
• Sony Xperia X - 4
• Sony Xperia X Performance - 4 (- 1 when upgrading to Android 10)
• Sony Xperia XA1 - 7
• Sony Xperia XA1 Plus - 4
• Sony Xperia XA1 Ultra - 7
• Sony Xperia XA2 - 1
• Sony Xperia XA2 Plus - 1
• Sony Xperia XA2 Ultra - 1
• Sony Xperia XZ - 4
• Sony Xperia XZ Premium - 4
• Sony Xperia XZ1 - 4
• Sony Xperia XZ1 Compact - 4
• Sony Xperia XZ2 - 1
• Sony Xperia XZ2 Compact - 1
• Sony Xperia XZ3 - 1
• Smartisan R1 - 7
T
• Teclast M20 4G - 4
• Teclast M30 - 4
• Teclast P10HD - 1
• Tecno Camon X - 4
• Tecno POP 1s Pro (F4 Pro) - 6
• TP-LINK Neffos C9A - 4
U
• Ulefone Armor 3 / 3T - 7
• Ulefone Armor 6 / 6E - 1
• Ulefone Armor X - 4
• Ulefone S1 - 7
• Umidigi A1 Pro - 7
• Umidigi A3 - 4
• Umidigi A3 Pro - 4
• Umidigi A5 Pro - 1
• Umidigi F1 / F1 Play - 1
• Umidigi One - 7
• Umidigi One Max - 4
• Umidigi One Pro - 4
• Umidigi Power - 1
• Umidigi Power 3 - 7
• Umidigi Z2 - 4
• Umidigi Z2 Pro - 7
V
• Vernee T3 Pro - 7
• Vertex Impress Luck - 6
W
• Wiko Lenny5 - 6
• Wiko View Max - 6
• Wileyfox Spark / Spark+ - 6 and - 5 and - 4
• Wileyfox Swift - 4
• Wileyfox Swift 2 / 2 Plus / 2 X - 4
X
• Xiaomi Black Shark - 1
• Xiaomi Black Shark Helo - 1
• Xiaomi Black Shark 2 - 1
• Xiaomi Mi 3 / Mi 4 - 6
• Xiaomi Mi 5 - 4
• Xiaomi Mi 5s - 4
• Xiaomi Mi 5s Plus - 4
• Xiaomi Mi 5X - 4
• Xiaomi Mi 6 - 4
• Xiaomi Mi 6X - 4 and - 1
• Xiaomi Mi 8 - 4
• Xiaomi Mi 8 EE - 4
• Xiaomi Mi 8 Lite - 4
• Xiaomi Mi 8 Pro (UD) - 4
• Xiaomi Mi 8 SE - 4
• Xiaomi Mi 9 - 1
• Xiaomi Mi 9 Lite / CC9 - 1
• Xiaomi Mi 9 Pro 5G - 1
• Xiaomi Mi 9 SE - 1
• Xiaomi Mi 10 - 1
• Xiaomi Mi 10 Pro - 1
• Xiaomi Mi A1 - 1
• Xiaomi Mi A2 - 1
• Xiaomi Mi A2 Lite - 1
• Xiaomi Mi A3 - 1
• Xiaomi Mi Box - 7
• Xiaomi Mi Max 2 - 4
• Xiaomi Mi Max 3 - 4
• Xiaomi Mi MIX - 4
• Xiaomi Mi MIX 2 - 4
• Xiaomi Mi MIX 2s - 4
• Xiaomi Mi MIX 3 - 1
• Xiaomi Mi MIX 3 5G - 1
• Xiaomi Mi Note 2 - 4
• Xiaomi Mi Note 3 - 4
• Xiaomi Mi Note 10 / CC9 Pro - 1
• Xiaomi Mi Pad 4 - 4
• Xiaomi Mi Play - 4
• Xiaomi Pocophone F1 (Poco F1) - 4
• Xiaomi Redmi 3 / 3 Pro - 4
• Xiaomi Redmi 3S / Prime / 3X - 4
• Xiaomi Redmi 4 Pro / Prime - 4
• Xiaomi Redmi 4A - 4
• Xiaomi Redmi 4X - 4
• Xiaomi Redmi 5 - 4
• Xiaomi Redmi 5 Plus / Note 5 (India) - 4
• Xiaomi Redmi 5A - 4
• Xiaomi Redmi 6 - 6 (- 2 when upgrading to Android 9)
• Xiaomi Redmi 6 Pro - 4
• Xiaomi Redmi 6A - 6 (- 2 when upgrading toq Android 9)
• Xiaomi Redmi 7 - 1
• Xiaomi Redmi 7A - 2
• Xiaomi Redmi 8 - 1
• Xiaomi Redmi 8A - 2
• Xiaomi Redmi Go - 6
• Xiaomi Redmi K20 / Mi 9T - 1
• Xiaomi Redmi K20 Pro / Mi 9T Pro - 1
• Xiaomi Redmi K20 Pro Premium - 1
• Xiaomi Redmi K30 / Poco X2 - 1
• Xiaomi Redmi K30 5G - 1
• Xiaomi Redmi K30 Pro / Zoom Edition - 1
• Xiaomi Redmi Note 3 Pro [Snapdragon] - 4
• Xiaomi Redmi Note 4X [Snapdragon] - 4
• Xiaomi Redmi Note 5 / Note 5 Pro (India) - 4
• Xiaomi Redmi Note 6 Pro - 4
• Xiaomi Redmi Note 7 - 1
• Xiaomi Redmi Note 7 Pro - 1
• Xiaomi Redmi Note 8 - 1
• Xiaomi Redmi Note 8 Pro - 1
• Xiaomi Redmi Note 8T - 1
• Xiaomi Redmi Note 9 / 10X 4G - 7
• Xiaomi Redmi Note 9 Pro - 1
• Xiaomi Redmi Note 9S - 1
• Xiaomi Redmi S2 / Y2 (India) - 6
Y
• Yandex Phone - 1
Z
• ZTE A530 - 4
• ZTE Axon 7 - 4
• ZTE Axon 9 Pro - 7
• ZTE Axon 10 Pro - 1
• ZTE Blade A3 (2019) - 2
• ZTE Blade V9 - 4
• ZTE Blade V9 Vita - 4
• ZTE Blade V10 - 1
• ZTE Nubia Red Magic - 4
• ZTE Nubia Red Magic 3 - 1
• ZTE Nubia X - 7
• ZTE Nubia Z9 Max - 4
• ZTE Nubia Z9 Mini - 4
• ZTE Nubia Z17 - 4
• ZTE Nubia Z17S - 4
• ZTE Nubia Z18 - 4
• ZTE Nubia Z18 Mini - 4
• ZUK Z2 Plus / Z2 - 4
• ZUK Z2 Pro - 4

13 Likes

Welcome and thanks.

It will be helpful, I’m looking for my next device.

Hi @Gorets thanks for the list of device names.
I have marked your post as a wiki which will make it easier for you and other users to edit it in future.

2 Likes

Hi, thank you too. I plan to update the list every 2 months.

1 Like

When will you release the EOS build for the Redmi 4A Rolex

it makes REALY NO sense to post you request on three different places. Pls remove yozr double posts, because we want have a clean forum. thx

1 Like

Defining the partition structure

Let’s immediately classify what we will discuss next. This will help avoid misunderstandings and ambiguities in the future discussion.

Let’s forget about A-only, A/B, and SAR for a second. Well, it is not possible to divide existing partition structures in this way and not get completely confused. Not now.

“Real” A-only-everything is normal and clear, as on Android Kit-Kat. The system is a familiar to most, /system .build.prop is located right in it - /system/build.prop. All the usual directories, files, and patterns. The base and initial appearance of the Android OS. A/B firmware system are not suitable.

“Real” A/B-partition structure (remember) is intended for updating “on the fly” and “lossless”. This implies that there are two system partitions in the device’s drive - /system_a and /system_ b , respectively. Why is that? While you are sorting through photos in one of your favorite social networks, watching a movie, reading, etc. in a system loaded with, for example, /system_a - “Google” (or a case-not the point) it is already downloading and possibly installing the update on Your device in the /system_b section. Then switches the boot slot in the loader from /system_a to /system_b. When you reboot, you see an updated system loaded from the second slot, genius, right? Plus, if the update did not get up or got up inappropriately - it does not matter! Switch to the pre-existing slot and there is no problem. Well! The feature of this partition structure is the directory structure, in which the usual user content of the /system directory (build.prop, media, priv-app) has become a level deeper - /system/system. System - this is now /system/system. build.prop is located in - /system/system/build.prop. All the usual directories, files, and patterns are already applied to /system/system. Here I want to highlight three main points:

  1. Because of this, it became a bad fashion to call the directory structure a partition structure.
  2. Firmware still signs (and will!) A/B, not because they are for phones with /system_a and /system_b, but because the directory structure is similar to that of A/B phones.
  3. A/B firmware fit.

“Not Real” A-only or A/B-SAR (system as root). What do we have? Doesn’t make any sense! The partition structure is A-only, the directory structure is the same as A/B:

  1. The System is located in a subdirectory (like A/B), but it doesn’t have to be /system/system , it can also be /system_root/system.
  2. It can occur both on phones with “Real” A/B, and on other smartphones.
  3. A/B firmware fit.
  4. Structure sections A-only.
  5. Build.prop in /system/system/build.prop or in /system_root/system/build.prop.

In other (even simpler) words:
System or /system, or /“something”/ system. At the time of writing, the option to determine which firmware to install, I will offer:

  1. A/B if the root of the system partition contains the init.rc file and does not contain the build.prop
    file.
  2. A-only if the root of the system partition does not contain the init.rc file and contains the build.prop file.

Attention!

Look NOT from under the running OS, but through TWRP or in a disassembled image of the system partition, over which GSI will be flashed.

4 Likes

Welcome and Tanks for this usefull information!

Can you provide some links to your sources? I built /e/ v1-q a couple of days ago for sargo (pixel3a). It uses A/B (but is not a GSI). Here’s how things look like, looks to me like what you call “All the usual directories, files, and patterns. The base and initial appearance of the Android OS.” :

adb⏎
~/M/o/P/apps> adb shell
sargo:/ # cd /system
sargo:/system # ls
addon.d app build.prop fonts     lib   media    product vendor
apex    bin etc        framework lib64 priv-app usr     xbin
sargo:/system # ls /
acct       d             init                 lost+found  proc             sys
apex       data          init.environ.rc      metadata    product          system
bin        debug_ramdisk init.rc              mnt         product_services ueventd.rc
bugreports default.prop  init.usb.configfs.rc odm         res              vendor
cache      dev           init.usb.rc          oem         sbin
charger    dsp           init.zygote32.rc     persist     sdcard
config     etc           init.zygote64_32.rc  postinstall storage
sargo:/system # df .
Filesystem      1K-blocks    Used Available Use% Mounted on
/dev/block/dm-0   2938768 1274528   1664240  44% /

I’m not an Android whiz, I’m learning, I’m just asking for clarification here. The only thing that I believe is different here from the “original Android” is that vendor and product are partitions. That’s treble stuff IIUC and enables GSIs.

Have you ever searched the web for GSI ion your device? You will find posts like this

And I think your question should be placed on xda to phhusson, the master of GSI

Why would I look for stuff on how to install a GSI on my pixel3a? My post didn’t ask about that in any way. I’ve installed GSI successfully on my phone, including yours, as you know.

Why would I post on xda when I’m responding to a post here? Gorets posted a bunch of information and I’m looking at my device and seeing something different from what he stated (at least it seems different to me), and so I’m asking for clarification and where his information comes from so I can trace back to where the discrepancy comes from.

Ah OK, than I have misunderstood your post. Sorry. I have it understand that way, that your GSI wasn’t working and you want know how to fix. That’s why I have answered the way I have done.

But anyway, all questions about how GSI/treble is working and what is need, the best guy is PHH on XDA

Hi,

about the source, it’s Russian forum (4pda). This is a translation into a clear language from the general topic, who is too lazy to read the entire header and the first 20 pages of the topic. Source - people who wrote about it earlier in the topic + view of the situation.

If there are any specific questions, it is better to search for them online, and if you can point out what should be corrected, then I will be very happy to make adjustments

@Gorets, thanks for the clarification. I’m not in a position to offer corrections, but as I stated and showed in my previous post my A/B device has a “normal/simple” /system root. It does not have /system/system nor does it have /system_root/system. Build props are simply /system/build.prop. So maybe there’s a translation issue somewhere and A/B phones can have a different filesystem root structure but they don’t have to.

I just noticed that you’re looking out from under the system) my message included this:

Look NOT from under the running OS, but through TWRP or in a disassembled image of the system partition, over which GSI will be flashed.

Is it possible to disassemble the firmware or look at the file system from under twrp?

@Gorets is right. Boot in TWRP, mount /system and you will find the /system/sytem

Yes & no, I did some more digging, starting with unpacking the payload.bin for my pixel3a build… What I see:

  • the filesystem image for the system partition is SAR (system as root), which means that that filesystem gets mounted onto / and thus contains a /system subdirectory. I gather that on the old days the system partition used to be mounted as /system.
  • thus on a running system /system/build.prop is where it needs to be.

Where I believe the confusion comes about is when talking about TWRP. I cannot run TWRP on my device, it doesn’t support it, so I can’t check it out for myself. However, in the latest TWRP changelog I see: “system_root bind mount to /system - Chaosmaster” so I think that what’s going on is that TWRP has a standard mount point for the system partition and when it mounts the partition there it doesn’t look as usual because it’s SAR.

So what’s confusing or what changed is not what one sees on a normally booted device but what one see on a device booted in TWRP recovery. And it seems that TWRP is trying to fix/hide that using bind-mounts. The impact is that when loading patches/hacks via TWRP files may not be in the place they used to be…

Have you flashed tge vbmeta.img? Have you FORMAT data (not only wipe)?
Have you wiped system, davlik, cache?
Have you used the right layout?

And dumb question: have you unpacked to xz file or only removed the xz?

On Xiaomi it MUST boot. I’m using it on 3 different Xiaomi devices.

Have you tried any other AOSP GSI?

You are meaning the recent button ? That’s I have heard on other users to. Have you tried to set it up in Settings/buttons ? Or is this option greyed ?

I’m you building a new set. Hope the issue will solved on all devices.

could you try the mini version ? It’s some days older and could be that there the sources where better