Skip to content

Commit ae356cf

Browse files
committed
Merge branch 'main' of github.com:RaptaG/openandroidinstaller
2 parents de5dbe9 + c2ed4ce commit ae356cf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1636
-1171
lines changed

CODE_OF_CONDUCT.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,3 @@ at [https://www.contributor-covenant.org/translations][translations].
131131
[Mozilla CoC]: https://github.com/mozilla/diversity
132132
[FAQ]: https://www.contributor-covenant.org/faq
133133
[translations]: https://www.contributor-covenant.org/translations
134-

README.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
> [!IMPORTANT]
3333
> **Unlocking the bootloader will erase all data on your device!**
3434
> This also includes your DRM keys, which are stored in the Trim Area partition (also called TA) in case your device is fairly recent and supports DRM L1. Those devices will be downgraded to DRM L3. Devices on DRM L3 by default will not be affected.
35+
> Depending on your device you might be able to back up the TA partition using exploits and gaining temporary root access. On Sony Xperia 1/5 series phones DRM L1 will return once the bootloader is relocked.
3536
> Before proceeding, ensure the data you would like to retain is backed up to your PC and/or your Google account, or equivalent. Please note that OEM backup solutions like Samsung and Motorola backup may not be accessible from LineageOS once installed.
36-
> If you wish to backup the TA partition first, you can find tutorials related to your device on the internet.
3737
3838
## Usage
3939

@@ -93,7 +93,7 @@ After starting the app you will be prompted to plug your device into your comput
9393

9494
## Officially supported devices
9595

96-
Currently, the **we support 73 devices** by various vendors and working on adding more soon!
96+
Currently, the **we support 81 devices** by various vendors and working on adding more soon!
9797

9898
Support for these devices is provided as best effort, but things might still go wrong.
9999
Help to improve the tool by reporting any issues you might face.
@@ -104,13 +104,16 @@ Help to improve the tool by reporting any issues you might face.
104104
Vendor | Device Name | CodeName | Models | Status
105105
---|---|---|---|---
106106
Samsung | Galaxy J7 2015 | j7elte | | tested
107+
Samsung | Galaxy J7 Prime | on7xelte | | untested
107108
Samsung | Galaxy A3 2017 | a3y17lte | SM-A320FL | tested
108109
Samsung | Galaxy A5 2016 | [a5xelte](https://wiki.lineageos.org/devices/a5xelte) | SM-A510F | tested
109110
Samsung | Galaxy A5 2017 | [a5y17lte](https://wiki.lineageos.org/devices/a5y17lte) | | tested
110111
Samsung | Galaxy A7 2016 | a7xelte | | tested
112+
Samsung | Galaxy A7 2017 | [a7y17lte](https://wiki.lineageos.org/devices/a7y17lte) | | untested
111113
Samsung | Galaxy Grand Prime VE | grandprimevelte | SM-G531F | tested
112114
Samsung | Galaxy S III Neo | s3ve3g | GT-I9301I | tested
113-
Samsung | Galaxy Tab S2 | [gts210vewifi](https://wiki.lineageos.org/devices/gts210vewifi/) | T813 | tested
115+
Samsung | Galaxy Tab S2 | [gts210vewifi](https://wiki.lineageos.org/devices/gts210vewifi) | T813 | tested
116+
Samsung | Galaxy S4 | [jfltexx](https://wiki.lineageos.org/devices/jfltexx) | | untested
114117
Samsung | Galaxy S4 Mini LTE| [serranoltexx](https://wiki.lineageos.org/devices/serranoltexx) | | tested
115118
Samsung | Galaxy S5 | [klte](https://wiki.lineageos.org/devices/klte) | G900F/M/R4/R7/T/V/W8 | tested
116119
Samsung | Galaxy S6 | [zerofltexx](https://wiki.lineageos.org/devices/zerofltexx) | | tested
@@ -161,7 +164,7 @@ Sony | Xperia 10 Plus | [mermaid](https://wiki.lineageos.org/devices/mermaid) |
161164
Sony | Xperia XA2 | [pioneer](https://wiki.lineageos.org/devices/pioneer) | | tested
162165
Sony | Xperia XZ2 | [akari](https://wiki.lineageos.org/devices/akari) | | tested
163166
Sony | Xperia XZ3 | [akatsuki](https://wiki.lineageos.org/devices/akatsuki) | | tested
164-
Sony | Xperia ZX | kagura | | planned
167+
Sony | Xperia XZ | kagura | | planned
165168

166169
</details>
167170

@@ -181,12 +184,12 @@ Fairphone | Fairphone 4 | [FP4](https://wiki.lineageos.org/devices/FP4) | | test
181184

182185
Vendor | Device Name | CodeName | Models | Status
183186
---|---|---|---|---
187+
Motorola | edge | [racer](https://wiki.lineageos.org/devices/racer) | | tested
184188
Motorola | moto g5 | [cedric](https://wiki.lineageos.org/devices/cedric) | | tested
185189
Motorola | moto g6 plus | [evert](https://wiki.lineageos.org/devices/evert) | | tested
186190
Motorola | moto g7 power | [ocean](https://wiki.lineageos.org/devices/ocean) | | tested
187191
Motorola | moto g 5G plus / one 5G | [nairo](https://wiki.lineageos.org/devices/nairo) | | tested
188192
Motorola | moto g 5G / one 5G ace | [kiev](https://wiki.lineageos.org/devices/kiev) | | tested
189-
Motorola | edge | [racer](https://wiki.lineageos.org/devices/racer) | | tested
190193
Motorola | moto z | [griffin](https://wiki.lineageos.org/devices/griffin) | | tested
191194

192195
</details>
@@ -219,11 +222,15 @@ Vendor | Device Name | CodeName | Models | Status
219222
Xiaomi | Redmi Note 7 | [lavender](https://wiki.lineageos.org/devices/lavender) | | tested
220223
Xiaomi | Redmi 7A / 8 / 8A / 8A Dual | [Mi439](https://wiki.lineageos.org/devices/Mi439) : pine / olive / olivelite / olivewood | | tested
221224
Xiaomi | Redmi Note 8 / 8T | [ginkgo](https://wiki.lineageos.org/devices/ginkgo) / willow | | untested
225+
Xiaomi | Redmi Note 8 Pro | begonia | | untested
226+
Xiaomi | Mi 8 | [dipper](https://wiki.lineageos.org/devices/dipper) | | untested
222227
Xiaomi | Redmi 9A / 9C / 9AT / 9i / 9A Sport / 10A / 10A Sport | garden / dandelion / blossom / angelican | | tested
223228
Xiaomi | Mi 9T / Redmi K20 | [davinci](https://wiki.lineageos.org/devices/davinci) / davinciin | | untested
224229
Xiaomi | Redmi K20 Pro / Mi 9T Pro | raphael / raphaelin | | untested
225230
Xiaomi | Redmi Note 9S / 9 Pro / 9 Pro Max / 10 Lite / Poco M2 pro | [miatoll](https://wiki.lineageos.org/devices/lavender) : gram / curtana / excalibur / joyeuse | | untested
226231
Xiaomi | Redmi Note 10S / 11SE / Poco M5S | [rosemary](https://wiki.lineageos.org/devices/rosemary) / maltose / secret /rosemary_p | | untested
232+
Xiaomi | Redmi K40 / Mi 11X / Poco F3 | [alioth](https://wiki.lineageos.org/devices/alioth) / aliothin | | untested
233+
Xiaomi | Poco X3 / X3 NFC | [surya](https://wiki.lineageos.org/devices/surya) / karna | | untested
227234
Xiaomi | Poco X3 Pro | [vayu](https://wiki.lineageos.org/devices/vayu) | | tested
228235
Xiaomi | 12 | cupid | | untested
229236

docs/building_the_application_for_your_platform.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ If you build the application for your platform and want to contribute the build,
66

77
## Run OpenAndroidInstaller for development
88

9-
Currently development is only supported on Ubuntu Linux. MacOS and Windows should also work fine. You might need to install additional USB-drivers on Windows.
9+
Currently development is mainly done on Ubuntu Linux. MacOS, Windows, as well as other Linux distributions like Fedora should also work well. You might need to install additional USB-drivers on Windows.
1010

1111
1. Clone the main branch of this repository
1212
2. Run `make poetry` and `make install` to install poetry to manage python and install the required dependencies like adb, fastboot and heimdall.
1313
3. Run `make app` to start the desktop app from the source.
14-

docs/how_to_contribute_your_own_installation_configurations.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,3 @@ Every step in the config file corresponds to one view in the application. These
4040
- `allow_skip`: [OPTIONAL] boolean; If a skip button should be displayed to allow skipping this step. Can be useful when the bootloader is already unlocked.
4141

4242
**Please try to retain this order of these fields in your config to ensure consistency.**
43-

docs/unlocking_the_bootloader.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ For some devices, it is necessary to unlock the bootloader manually. You usually
1010
Other phone manufacturers no longer allow you to unlock the bootloader. Nothing can be done if you have not unlocked your device in time. These manufacturers include *Huawei, Honor, LG and ASUS*. Support for these manufacturers will always be very limited.
1111

1212
## Here is a brief overview of the bootloader policies of some of the most popular brands (may be incomplete/inaccurate)
13+
## Note: Some oems on the list may offer carrier locked or region specific models, which also affect the unlock ability (Sony, Google, Motorola, etc.)
1314

1415
| Brand | Flashing tool | Unlocking Method | Loss of guarantee\* | Supported models |
1516
|---|---|---|---|---|
@@ -25,6 +26,6 @@ Other phone manufacturers no longer allow you to unlock the bootloader. Nothing
2526
| LG | Fastboot | Impossible since December 2021 | **Yes** | |
2627
| ASUS | Fastboot | Impossible since May 2023 (ASUS unlocking App) | **Yes** | |
2728

28-
**\*** In the EU you won't loose your standard 2 years of the warranty when you unlock your bootloader, flash your device or root it. ([source](https://forum.xda-developers.com/t/info-eu-rooting-and-flashing-dont-void-the-warranty.1998801/))
29+
**\*** In the EU you won't loose your standard 2 years of the warranty when you unlock your bootloader, flash your device or root it. ([source](https://xdaforums.com/t/info-eu-rooting-and-flashing-dont-void-the-warranty.1998801))
2930

3031
You can find more information about the brands and their bootloader policies [here](https://wikilibriste.fr/fr/tutoriels-android/bootloader-unlock) (in French).

openandroidinstaller/app_state.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def __init__(
5252
self.dtbo_path = None
5353
self.vbmeta_path = None
5454
self.super_empty_path = None
55+
self.vendor_boot_path = None
5556

5657
# store views
5758
self.default_views: List = []

openandroidinstaller/assets/configs/Mi439.yaml

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,41 +28,35 @@ steps:
2828
- type: link_button_with_confirm
2929
content: >
3030
- Create a Mi account on Xiaomi’s website. Beware that one account is only allowed to unlock one unique device every 30 days.
31-
31+
3232
- Add a phone number to your Mi account, insert a SIM into your phone.
33-
33+
3434
- Enable developer options in `Settings` > `About Phone` by repeatedly tapping MIUI Version.
35-
35+
3636
- Link the device to your Mi account in `Settings` > `Additional settings` > `Developer options` > `Mi Unlock status`.
37-
37+
3838
- Download the Mi Unlock app with the link bellow (Windows is required to run the app), and follow the instructions provided by the app. It may tell you that you have to wait, usually 7 days. If it does so, please wait the quoted amount of time before continuing to the next step!
39-
39+
4040
- After device and Mi account are successfully verified, the bootloader should be unlocked.
41-
41+
4242
- Since the device resets completely, you will need to re-enable USB debugging to continue : `Settings` > `Additional settings` > `Developer options` > `USB debugging`
4343
link: https://en.miui.com/unlock/download_en.html
4444
boot_recovery:
4545
- type: call_button
4646
content: >
4747
Now you need to install a custom recovery system on the phone. A recovery is a small subsystem on your phone,
4848
that manages updating, adapting and repairing of the operating system.
49-
49+
5050
Once the device is fully booted, you need to reboot into the bootloader again by pressing 'Confirm and run' here. Then continue.
5151
command: adb_reboot_bootloader
52-
- type: call_button
53-
content: >
54-
Install additional partitions selected before by pressing 'Confirm and run'. Once it's done continue.
55-
56-
Note : If you have not selected this partition, it will do nothing.
57-
command: fastboot_flash_additional_partitions
5852
- type: call_button
5953
content: >
6054
Install the recovery you chosen before by pressing 'Confirm and run'. Once it's done continue.
6155
command: fastboot_flash_recovery
6256
- type: call_button
63-
img: ofox.png
57+
img: twrp-start.jpeg
6458
content: >
6559
Reboot to recovery by pressing 'Confirm and run', and hold the Vol+ button of your phone UNTIL you see the recovery.
6660
If MiUI starts, you have to start the process again, since MiUI delete the recovery you just flashed.
6761
Once it's done continue.
68-
command: fastboot_reboot_recovery
62+
command: fastboot_reboot_recovery
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
metadata:
22
maintainer: Tobias Sterbak (tsterbak)
33
device_name: Samsung Galaxy A5 (2017)
4-
is_ab_device: false
4+
is_ab_device: false
55
device_code: a5y17lte
66
supported_device_codes:
77
- a5y17lte
88
- a5y17ltecan
9+
- a5y17ltexx
910
steps:
1011
unlock_bootloader:
1112
boot_recovery:
1213
- type: call_button
1314
content: >
14-
As a first step, you need to boot into the bootloader. A bootloader is the piece of software,
15-
that tells your phone how to start and run an operating system (like Android). Your device should be turned on.
15+
As a first step, you need to boot into the bootloader. A bootloader is the piece of software,
16+
that tells your phone how to start and run an operating system (like Android). Your device should be turned on.
1617
Then press 'Confirm and run' to reboot into the bootloader. Continue once it's done.
1718
command: adb_reboot_download
1819
- type: call_button
@@ -23,6 +24,6 @@ steps:
2324
- type: confirm_button
2425
img: samsung-buttons.png
2526
content: >
26-
Unplug the USB cable from your device. Then manually reboot into recovery by pressing the *Volume Down* + *Power buttons* for 8~10 seconds
27-
until the screen turns black & release the buttons immediately when it does, then boot to recovery with the device powered off,
28-
hold *Volume Up* + *Home* + *Power button*.
27+
Unplug the USB cable from your device. Then manually reboot into recovery by pressing the *Volume Down* + *Power buttons* for 8~10 seconds
28+
until the screen turns black & release the buttons immediately when it does, then boot to recovery with the device powered off,
29+
hold *Volume Up* + *Home* + *Power button*.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
metadata:
2+
maintainer: Tobias Sterbak (tsterbak)/SirRGB
3+
device_name: Samsung Galaxy A7 (2017)
4+
is_ab_device: false
5+
device_code: a7y17lte
6+
supported_device_codes:
7+
- a7y17lte
8+
- a7y17ltexx
9+
untested: true
10+
steps:
11+
unlock_bootloader:
12+
boot_recovery:
13+
- type: call_button
14+
content: >
15+
As a first step, you need to boot into the bootloader. A bootloader is the piece of software,
16+
that tells your phone how to start and run an operating system (like Android). Your device should be turned on.
17+
Then press 'Confirm and run' to reboot into the bootloader. Continue once it's done.
18+
command: adb_reboot_download
19+
- type: call_button
20+
content: >
21+
In this step, you need to flash a custom recovery on your device.
22+
Press 'Confirm and run' to start the process. Confirm afterwards to continue.
23+
command: heimdall_flash_recovery
24+
- type: confirm_button
25+
img: samsung-buttons.png
26+
content: >
27+
Unplug the USB cable from your device. Then manually reboot into recovery by pressing the *Volume Down* + *Power buttons* for 8~10 seconds
28+
until the screen turns black & release the buttons immediately when it does, then boot to recovery with the device powered off,
29+
hold *Volume Up* + *Home* + *Power button*.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
metadata:
2+
maintainer: A non (anon)
3+
brand: xiaomi
4+
device_name: Xiaomi Redmi K40 / Mi 11X / POCO F3
5+
is_ab_device: false
6+
device_code: alioth
7+
untested: true
8+
additional_steps:
9+
- vbmeta
10+
supported_device_codes:
11+
- alioth
12+
- aliothin
13+
notes:
14+
- Be careful when choosing OrangeFox version, Android 12 & 13 ROM needs OrangeFox version code with `A12`, for example `R11.1_5_A12`. Android 10 & 11 ROM needs OrangeFox version code without `A12` (bellow on the page)
15+
steps:
16+
unlock_bootloader:
17+
- type: confirm_button
18+
content: >
19+
As a first step, you need to unlock the bootloader. A bootloader is the piece of software, that tells your phone
20+
how to start and run an operating system (like Android). Your device should be turned on. This will reset your phone.
21+
- type: link_button_with_confirm
22+
content: >
23+
- Create a Mi account on Xiaomi’s website. Beware that one account is only allowed to unlock one unique device every 30 days.
24+
25+
- Add a phone number to your Mi account, insert a SIM into your phone.
26+
27+
- Enable developer options in `Settings` > `About Phone` by repeatedly tapping MIUI Version.
28+
29+
- Link the device to your Mi account in `Settings` > `Additional settings` > `Developer options` > `Mi Unlock status`.
30+
31+
- Download the Mi Unlock app with the link bellow (Windows is required to run the app), and follow the instructions provided by the app. It may tell you that you have to wait, usually 7 days. If it does so, please wait the quoted amount of time before continuing to the next step!
32+
33+
- After device and Mi account are successfully verified, the bootloader should be unlocked.
34+
35+
- Since the device resets completely, you will need to re-enable USB debugging to continue : `Settings` > `Additional settings` > `Developer options` > `USB debugging`
36+
link: https://en.miui.com/unlock/download_en.html
37+
boot_recovery:
38+
- type: call_button
39+
content: >
40+
Now you need to install a custom recovery system on the phone. A recovery is a small subsystem on your phone,
41+
that manages updating, adapting and repairing of the operating system.
42+
43+
Once the device is fully booted, you need to reboot into the bootloader again by pressing 'Confirm and run' here. Then continue.
44+
command: adb_reboot_bootloader
45+
- type: call_button
46+
content: >
47+
Install the recovery you chosen before by pressing 'Confirm and run'. Once it's done continue.
48+
command: fastboot_flash_recovery
49+
- type: call_button
50+
img: twrp-start.jpeg
51+
content: >
52+
Reboot to recovery by pressing 'Confirm and run', and hold the Vol+ button of your phone UNTIL you see the recovery.
53+
If MiUI starts, you have to start the process again, since MiUI delete the recovery you just flashed.
54+
Once it's done continue.
55+
command: fastboot_reboot_recovery

0 commit comments

Comments
 (0)