Skip to content

Commit 6ec5d05

Browse files
authored
Merge branch 'main' into main
2 parents 42cd623 + cf505c8 commit 6ec5d05

Some content is hidden

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

41 files changed

+1461
-134
lines changed

.github/ISSUE_TEMPLATE/device-support-request.md

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Device support request
2+
description: Request support for a new device
3+
title: Add support for <DEVICE>
4+
labels: ["device"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: "Thank you for your interest in OpenAndroidInstaller!"
9+
- type: markdown
10+
attributes:
11+
value: "To get your device supported, please take the time to fill out this form."
12+
- type: markdown
13+
attributes:
14+
value: "---"
15+
- type: checkboxes
16+
attributes:
17+
label: Is your device already requested?
18+
description: Please search to see if an issue for your device already exists.
19+
options:
20+
- label: I have searched the existing issues
21+
required: true
22+
- type: markdown
23+
attributes:
24+
value: "---"
25+
- type: markdown
26+
attributes:
27+
value: "**Please input your device's details below:**"
28+
- type: input
29+
attributes:
30+
label: Brand
31+
description: The brand / manufacturer of your device
32+
placeholder: Google
33+
validations:
34+
required: true
35+
- type: input
36+
attributes:
37+
label: Name
38+
description: The name of your device
39+
placeholder: Pixel 3a
40+
validations:
41+
required: true
42+
- type: input
43+
attributes:
44+
label: Device code
45+
description: The device code OAI gave you in the error message
46+
placeholder: sargo
47+
validations:
48+
required: true
49+
- type: input
50+
attributes:
51+
label: Model
52+
description: The model name of your device (only required, if there are several models)
53+
placeholder: G020F
54+
validations:
55+
required: false
56+
- type: markdown
57+
attributes:
58+
value: "---"
59+
- type: textarea
60+
attributes:
61+
label: Device images
62+
description: "Please provide links to any available images for the device, such as official stock firmware, Custom ROMs and Recoveries you would like to install."
63+
placeholder: |
64+
- Custom ROM: https://wiki.lineageos.org/devices/sargo
65+
- Recovery: https://twrp.me/google/googlepixel3a.html
66+
#value: |
67+
# - Custom ROM:
68+
# - Recovery:
69+
# - Stock firmware (if needed & existing):
70+
render: Markdown
71+
validations:
72+
required: false
73+
- type: markdown
74+
attributes:
75+
value: "---"
76+
- type: checkboxes
77+
attributes:
78+
label: Do you own the device and would be willing to test the installer?
79+
options:
80+
- label: I own the device and am willing to test the installer on it.
81+
required: true
82+
- type: markdown
83+
attributes:
84+
value: "---"
85+
- type: textarea
86+
attributes:
87+
label: Additional context
88+
description: Please provide any additional context or information that might be helpful in adding support for this device.
89+
render: Markdown

.github/workflows/build-release.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ jobs:
1414
matrix:
1515
os: ['ubuntu-20.04', 'ubuntu-latest']
1616
steps:
17-
- uses: actions/checkout@v2
18-
- uses: actions/setup-python@v2
17+
- uses: actions/checkout@v4
18+
- uses: actions/setup-python@v4
1919
with:
2020
python-version: 3.9
2121
- run: pip install -r requirements.txt
@@ -32,8 +32,8 @@ jobs:
3232
matrix:
3333
os: ['ubuntu-20.04', 'ubuntu-latest', 'macos-latest']
3434
steps:
35-
- uses: actions/checkout@v2
36-
- uses: actions/setup-python@v2
35+
- uses: actions/checkout@v4
36+
- uses: actions/setup-python@v4
3737
with:
3838
python-version: 3.9
3939
- run: pip install -r requirements.txt
@@ -48,8 +48,8 @@ jobs:
4848
needs: ci
4949
runs-on: 'windows-latest'
5050
steps:
51-
- uses: actions/checkout@v2
52-
- uses: actions/setup-python@v2
51+
- uses: actions/checkout@v4
52+
- uses: actions/setup-python@v4
5353
with:
5454
python-version: 3.9
5555
- run: pip install -r requirements.txt
@@ -66,7 +66,7 @@ jobs:
6666
- build-windows
6767
runs-on: 'ubuntu-latest'
6868
steps:
69-
- uses: actions/checkout@v2
69+
- uses: actions/checkout@v4
7070
- name: Download artifact
7171
uses: actions/download-artifact@v3
7272
- name: Display structure of downloaded files
@@ -86,7 +86,7 @@ jobs:
8686
- name: Display structure of downloaded files
8787
run: ls -R
8888
- name: Create release
89-
uses: marvinpinto/action-automatic-releases@latest
89+
uses: dciborow/action-github-releases@v1.0.1
9090
if: startsWith(github.ref, 'refs/tags/')
9191
with:
9292
repo_token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/manual-build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ jobs:
1313
os: ['ubuntu-20.04', 'ubuntu-latest', 'macos-latest', 'windows-latest']
1414

1515
steps:
16-
- uses: actions/checkout@v2
17-
- uses: actions/setup-python@v2
16+
- uses: actions/checkout@v4
17+
- uses: actions/setup-python@v4
1818
with:
1919
python-version: 3.9
2020
- run: pip install -r requirements.txt

README.md

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,21 @@
2626
</p>
2727
</div>
2828

29-
> **Warning:** This application is currently in beta state, so use at your own risk! While many people tested the application so far and we heard of no bricked devices, things might still go wrong.
29+
> [!WARNING]
30+
> This application is currently in beta state, so use at your own risk! While many people tested the application so far and we heard of no bricked devices, things might still go wrong.
3031
31-
> **Note:** Unlocking the bootloader will erase all data on your device!
32-
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.
33-
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.
34-
If you wish to backup the TA partition first, you can find tutorials related to your device on the internet.
32+
> [!IMPORTANT]
33+
> Unlocking the bootloader will erase all data on your device!
34+
> 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+
> 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.
3537
3638
## Usage
3739

3840
Linux is currently the best supported platform (tested with Ubuntu 20.04/22.04 LTS). Windows and macOS are also supported but you might experience more issues. So far there is no support for ARM-based systems.
3941

4042
1. Download the [.exe or appropriate executable file for your OS](https://github.com/openandroidinstaller-dev/openandroidinstaller/releases) from the releases or get the [official flatpak from flathub](https://flathub.org/apps/org.openandroidinstaller.OpenAndroidInstaller). You might need to change permissions to run the executable.
41-
- On Windows also [install the Universal USB Drivers](https://adb.clockworkmod.com/) and other potentially drivers needed for your device.
43+
- On Windows also [install the Universal USB Drivers](https://adb.clockworkmod.com) and other potentially drivers needed for your device.
4244
2. Download the custom ROM image and the TWRP recovery image for your device and optionally some addons. A source for files can be found on the following websites:
4345
- some custom ROMs:
4446
- [LineageOS](https://wiki.lineageos.org/devices)
@@ -60,7 +62,7 @@ Linux is currently the best supported platform (tested with Ubuntu 20.04/22.04 L
6062

6163
## Officially supported devices
6264

63-
Currently, the **we support 62 devices** by various vendors and working on adding more soon!
65+
Currently, the **we support 73 devices** by various vendors and working on adding more soon!
6466

6567
Support for these devices is provided as best effort, but things might still go wrong.
6668
Help to improve the tool by reporting any issues you might face.
@@ -78,11 +80,12 @@ Samsung | Galaxy Grand Prime VE | grandprimevelte | SM-G531F | tested
7880
Samsung | Galaxy S III Neo | s3ve3g | GT-I9301I | tested
7981
Samsung | Galaxy Tab S2 | [gts210vewifi](https://wiki.lineageos.org/devices/gts210vewifi/) | T813 | tested
8082
Samsung | Galaxy S4 Mini LTE| [serranoltexx](https://wiki.lineageos.org/devices/serranoltexx) | | tested
83+
Samsung | Galaxy S5 | [klte](https://wiki.lineageos.org/devices/klte) | G900F/M/R4/R7/T/V/W8 | tested
8184
Samsung | Galaxy S6 | [zerofltexx](https://wiki.lineageos.org/devices/zerofltexx) | | tested
8285
Samsung | Galaxy S6 Edge | [zeroltexx](https://wiki.lineageos.org/devices/zeroltexx) | | tested
8386
Samsung | Galaxy S7 | [herolte](https://wiki.lineageos.org/devices/herolte) | SM-G930F | tested
8487
Samsung | Galaxy S7 Edge | [hero2lte](https://wiki.lineageos.org/devices/hero2lte) | | tested
85-
Samsung | Galaxy S8 | [dreamlte](https://wiki.lineageos.org/devices/dreamlte) | | tested
88+
Samsung | Galaxy S8 | dreamlte | | tested
8689
Samsung | Galaxy S9 | [starlte](https://wiki.lineageos.org/devices/starlte) | | tested
8790
Samsung | Galaxy S10 | [beyond1lte](https://wiki.lineageos.org/devices/beyond1lte) | | tested
8891
Samsung | Galaxy S10e | [beyond0lte](https://wiki.lineageos.org/devices/beyond0lte) | | tested
@@ -171,6 +174,23 @@ OnePlus | 9 | lemonade | | under development
171174

172175
</details>
173176

177+
<details><summary><b>Xiaomi</b></summary>
178+
179+
Vendor | Device Name | CodeName | Models | Status
180+
---|---|---|---|---
181+
Xiaomi | Redmi Note 7 | [lavender](https://wiki.lineageos.org/devices/lavender) | | tested
182+
Xiaomi | Redmi 7A / 8 / 8A / 8A Dual | [Mi439](https://wiki.lineageos.org/devices/Mi439) : pine / olive / olivelite / olivewood | | tested
183+
Xiaomi | Redmi Note 8 / 8T | [ginkgo](https://wiki.lineageos.org/devices/ginkgo) / willow | | untested
184+
Xiaomi | Redmi 9A / 9C / 9AT / 9i / 9A Sport / 10A / 10A Sport | garden / dandelion / blossom / angelican | | tested
185+
Xiaomi | Mi 9T / Redmi K20 | [davinci](https://wiki.lineageos.org/devices/davinci) / davinciin | | untested
186+
Xiaomi | Redmi K20 Pro / Mi 9T Pro | raphael / raphaelin | | untested
187+
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
188+
Xiaomi | Redmi Note 10S / 11SE / Poco M5S | [rosemary](https://wiki.lineageos.org/devices/rosemary) / maltose / secret /rosemary_p | | untested
189+
Xiaomi | Poco X3 Pro | [vayu](https://wiki.lineageos.org/devices/vayu) | | untested
190+
Xiaomi | 12 | cupid | | untested
191+
</details>
192+
193+
174194
And more to come!
175195

176196
## Contributing
@@ -184,11 +204,11 @@ All kinds of contributions are welcome. These include:
184204
- Add features and/or improve the code base.
185205
- Report bugs.
186206

187-
[How to contribute your own installation configurations](https://github.com/openandroidinstaller-dev/openandroidinstaller/blob/main/doc/how_to_contribute_your_own_installation_configurations.md)
207+
[How to contribute your own installation configurations](https://github.com/openandroidinstaller-dev/openandroidinstaller/blob/main/docs/how_to_contribute_your_own_installation_configurations.md)
188208

189-
[How to build the application for your platform](https://github.com/openandroidinstaller-dev/openandroidinstaller/blob/main/doc/building_the_application_for_your_platform.md)
209+
[How to build the application for your platform](https://github.com/openandroidinstaller-dev/openandroidinstaller/blob/main/docs/building_the_application_for_your_platform.md)
190210

191-
[On unlocking the bootloader](https://github.com/openandroidinstaller-dev/openandroidinstaller/blob/main/doc/unlocking_the_bootloader.md)
211+
[On unlocking the bootloader](https://github.com/openandroidinstaller-dev/openandroidinstaller/blob/main/docs/unlocking_the_bootloader.md)
192212

193213
More details on how to contribute can be found [here](https://github.com/openandroidinstaller-dev/openandroidinstaller/blob/main/CONTRIBUTING.md).
194214
Please have a look before opening an issue or starting to contribute.

doc/unlocking_the_bootloader.md

Lines changed: 0 additions & 6 deletions
This file was deleted.
File renamed without changes.

doc/how_to_contribute_your_own_installation_configurations.md renamed to docs/how_to_contribute_your_own_installation_configurations.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,14 @@ A config file consists of two parts. The first part are some metadata about the
1212
Every config file should have `metadata` with the following fields:
1313
- `maintainer`: str; Maintainer and author of the config file.
1414
- `device_name`: str; Name of the device.
15+
- `brand`: [OPTIONAL] str; Name of the brand. Can be used to make brand specific actions.
1516
- `is_ab_device`: bool; A boolean to determine if the device is a/b-partitioned or not.
1617
- `device_code`: str; The official device code.
1718
- `supported_device_codes`: List[str]; A list of supported device codes for the config. The config will be loaded based on this field.
1819
- `twrp-link`: [OPTIONAL] str; name of the corresponding twrp page.
20+
- `additional_steps` : [OPTIONAL] List[str]; A list of additional steps. Can be `dtbo`, `vbmeta`, `vendor_boot` or `super_empty`.
21+
- `notes`: [OPTIONAL] List[str]; specific phone information, showed before choosing ROM / recovery
22+
- `untested`: [OPTIONAL] bool; If `true`, a warning message is showed during installation process.
1923

2024
In addition to these metadata, every config can have optional `requirements`. If these are set, the user is asked to check if they are meet.
2125
- `android`: [OPTIONAL] int|str; Android version to install prior to installing a custom ROM.
@@ -32,7 +36,7 @@ Every step in the config file corresponds to one view in the application. These
3236
- `img`: [OPTIONAL] Display an image on the left pane of the step view. Images are loaded from `openandroidinstaller/assets/imgs/`.
3337
- `content`: str; The content text displayed alongside the action of the step. Used to inform the user about what's going on. For consistency and better readability the text should be moved into the next line using `>`.
3438
- `link`: [OPTIONAL] Link to use for the link button if type is `link_button_with_confirm`.
35-
- `command`: [ONLY for call_button* steps] str; The command to run. One of `adb_reboot`, `adb_reboot_bootloader`, `adb_reboot_download`, `adb_sideload`, `adb_twrp_wipe_and_install`, `adb_twrp_copy_partitions`, `fastboot_boot_recovery`, `fastboot_unlock_with_code`, `fastboot_unlock`, `fastboot_oem_unlock`, `fastboot_get_unlock_data`, `fastboot_reboot`, `heimdall_flash_recovery`.
39+
- `command`: [ONLY for call_button* steps] str; The command to run. One of `adb_reboot`, `adb_reboot_bootloader`, `adb_reboot_download`, `adb_sideload`, `adb_twrp_wipe_and_install`, `adb_twrp_copy_partitions`, `fastboot_boot_recovery`, `fastboot_flash_recovery`, `fastboot_reboot_recovery`, `fastboot_flash_additional_partitions`, `fastboot_unlock_with_code`, `fastboot_unlock`, `fastboot_unlock_critical`, `fastboot_oem_unlock`, `fastboot_get_unlock_data`, `fastboot_reboot`, `heimdall_flash_recovery`.
3640
- `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.
3741

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

docs/unlocking_the_bootloader.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# On unlocking the bootloader
2+
3+
> [!IMPORTANT]
4+
> First of all, this tool will not help you bypass any vender locked bootloaders in non-official ways.
5+
6+
Devices by *Samsung, Google, OnePlus, Fairphone* and others make it relatively easy to unlock the bootloader and get good support in the installer.
7+
8+
For some devices, it is necessary to unlock the bootloader manually. You usually need to create an account on the manufacturer's website, wait for a certain time and obtain a code from there. OpenAndroidInstaller will try to guide you as far as possible. These vendors include *Sony, Motorola and Xiaomi* amongst others.
9+
10+
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.
11+
12+
## Here is a brief overview of the bootloader policies of some of the most popular brands (may be incomplete/inaccurate)
13+
14+
| Brand | Flashing tool | Unlocking Method | Loss of guarantee\* | Supported models |
15+
|---|---|---|---|---|
16+
| Google | Fastboot | OEM/Flashing unlock | No | Pixel and Nexus |
17+
| Samsung | ODIN or Heimdall | Download mode | **Yes** | Galaxy S and A series<br>(Increasing complexity **on and after S10**) |
18+
| OnePlus | Fastboot | OEM/Flashing unlock | No | All |
19+
| Fairphone | Fastboot | [Code from manufacturer](https://support.fairphone.com/hc/en-us/articles/10492476238865-Manage-the-Bootloader)<br>(**Already unlocked until FP2**) | No | All |
20+
| Xiaomi | Fastboot | [Mi Unlock Tool](https://new.c.mi.com/global/post/101245) | **Yes** | Mi 4c, Redmi Note 3, Mi Note Pro, Redmi 3, Mi 4S, Mi 5 and all devices from 2016 onwards |
21+
| Motorola | Fastboot | [Code from manufacturer](https://en-us.support.motorola.com/app/standalone/bootloader/unlock-your-device-a) | **Yes** | Almost all **except** carrier specific models (e.g. Verizon, AT&T, Tracfone) and certain other models |
22+
| Sony | Fastboot | [Code from manufacturer](https://developer.sony.com/open-source/aosp-on-xperia-open-devices/get-started/unlock-bootloader) | **Yes** | All **except** XQ-CT62 (1Ⅳ US) & XQ-CQ62 (5Ⅳ US) |
23+
| Huawei | Fastboot | No official codes since 2017/2018<br>(**Unofficial methods available**) | **Yes** | Mate 9/9Pro, P10/P10Plus |
24+
| Honor | Fastboot | No official codes since 2017/2018<br>(**Unofficial methods available**) | **Yes** | Honor 8 |
25+
| LG | Fastboot | Impossible since December 2021 | **Yes** | |
26+
| ASUS | Fastboot | Impossible since May 2023 (ASUS unlocking App) | **Yes** | |
27+
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+
30+
You can find more information about the brands and their bootloader policies [here](https://wikilibriste.fr/fr/tutoriels-android/bootloader-unlock) (in French).

0 commit comments

Comments
 (0)