Update readme

Signed-off-by: Ihor Ivanov <toulmee@gmail.com>
This commit is contained in:
Ihor Ivanov
2021-06-21 11:37:22 +03:00
parent 889ab8118c
commit 9860ad28ac
12 changed files with 112 additions and 191 deletions

View File

@@ -1,44 +1,48 @@
Common device configuration for the Unihertz Atom L and XL
Csommon device configuration for the Unihertz Jelly2
=================================================
This common device tree is intended for the usage in a LineageOS or similar building environment.
If you are looking for a special device tree for the usage in a TWRP or similar environment head over to https://github.com/ADeadTrousers/twrp_device_Unihertz_Atom_LXL.
If you are looking for a special device tree for the usage in a TWRP or similar environment head over to https://github.com/Meetoul/twrp_device_Unihertz_Jelly2.
The Unihertz Atom L (codenamed simply _"Atom_L"_) and the Atom XL (codenamed simply _"Atom_XL"_) are two rugged small smartphones from Unihertz, released in July 2020. They are both almost identical except the Atom XL offers an integrated digital mobile radio (DMR).
The Unihertz Jelly2 (codenamed simply "Jelly2") is a smallest modern Android smartphone from Unihertz, released in March 1, 2021.
![](docs/images/jelly2.png)
| Basic | Spec Sheet |
| -----------------------:|:------------------------------------------------------------------------------------------------------------------------------ |
| CPU | Octa-core |
| Chipset | Mediatek Helio P60 |
| GPU | Mali-G72 MP3 |
| Memory | 6 GB RAM |
| Shipped Android Version | 10 |
| Storage | 128 GB |
| Battery | Non-removable Li-Po 2000 mAh battery |
| Display | 480x854 pixels, 3.0 inch |
| Camera (Rear - Main) | 16MP |
| Camera (Front) | 8MP |
# Dependencies
Additionally to this common device tree, you'll need one or both model device trees
Additionally to this common device tree, you'll need model device tree
- [Atom L (model)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L)
- [Atom XL (model)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL)
and one or all of the four regional device trees
- [Atom L Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_EEA)
- [Atom XL Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_EEA)
- [Atom L Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_TEE)
- [Atom XL Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_TEE)
- [Jelly2 Region TEE (non-european union)](https://github.com/Meetoul/android_device_Unihertz_Jelly2_TEE)
## Releases
For the actual releases head on over to the device tree of the individual devices:
- [Atom L Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_EEA/releases)
- [Atom XL Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_EEA/releases)
- [Atom L Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_TEE/releases)
- [Atom XL Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_TEE/releases)
- [Jelly2 Region TEE (non-european union)](https://github.com/Meetoul/android_device_Unihertz_Jelly2_TEE/releases)
## Documentations
- [HOW-TO-BUILD.md](docs/HOW-TO-BUILD.md) - Building instructions for LineageOS 17.1.
- [HOW-TO-INSTALL.md](docs/HOW-TO-INSTALL.md) - Installation instructions for the Atom L/XL.
- [HOW-TO-UPDATE.md](docs/HOW-TO-UPDATE.md) - Update instructions for the Atom L/XL.
- [HOW-TO-EXTRACT_FILES.md](docs/HOW-TO-EXTRACT_FILES.md) - Instructions to extract files directly from the Atom L/XL stock rom files.
- [HOW-TO-INSTALL.md](docs/HOW-TO-INSTALL.md) - Installation instructions for the Jelly2.
- [HOW-TO-UPDATE.md](docs/HOW-TO-UPDATE.md) - Update instructions for the Jelly.2
- [HOW-TO-EXTRACT_FILES.md](docs/HOW-TO-EXTRACT_FILES.md) - Instructions to extract files directly from the Jelly2 stock rom files.
- [HOW-TO-EXTRACT_SEPOLICY.md](docs/HOW-TO-EXTRACT_SEPOLICY.md) - A little guide to extract sepolicy rules from stock or phone.
- [HOW-TO-FLASH-STOCK.md](docs/HOW-TO-FLASH-STOCK.md) - Instructions on how to use the SP Flash Tool for MTK based devices.
- [HOW-TO-FLASH-SUPER.md](docs/HOW-TO-FLASH-SUPER.md) - Instructions on how to modify super.img and flashing it onto the device.
## Special Thanks To
- [PeterCxy from the XDA forum](https://forum.xda-developers.com/member.php?u=5351691) for helping me and providing the device tree for Atom L.
- [The device tree for the Atom L](https://cgit.typeblog.net/android/device/unihertz/Atom_L/) which was a great step-by-step guide on how to setup my own device tree.
- [ADeadTrousers](https://github.com/ADeadTrousers) - I used his [AtomL/XL device tree](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_LXL) as a base for this one. Phones hardware are almost identical, so device trees are almost identical as well.

View File

@@ -1,4 +1,4 @@
How to build LineageOS 17.1 for the Unihertz Atom L and XL
How to build LineageOS 17.1 for the Unihertz Jelly2
=================================================
This guide is focused on building the ROM under a Linux host environment.
@@ -20,7 +20,7 @@ sudo apt-get install bc bison build-essential ccache curl flex g++-multilib gcc-
For Ubuntu versions older than 16.04 (xenial), youll need
```bash
sudo apt-get install libwxgtk2.8-dev
sudo apt-get install libwxgtk2.8-dev
```
For Ubuntu versions older than 20.04 (focal), youll also need
@@ -43,14 +43,14 @@ Update your PATH variable for your environment
```bash
gedit ~/.profile
```
Add the following
```bash
# add Android SDK platform tools to path
if [ -d "$HOME/platform-tools" ] ; then
PATH="$HOME/platform-tools:$PATH"
fi
PATH="$HOME/platform-tools:$PATH"
fi
```
Then update your environment
@@ -58,7 +58,7 @@ Then update your environment
```bash
source ~/.profile
```
### Install the repo command
Download the binary and make it executable
@@ -68,20 +68,20 @@ mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
```
Update your PATH variable for your environment
```bash
gedit ~/.profile
```
Add the following
```bash
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
PATH="$HOME/bin:$PATH"
fi
```
Then update your environment
@@ -89,7 +89,7 @@ Then update your environment
```bash
source ~/.profile
```
### (optional) Install git-lfs for GAPPS support during build
If you want to include GAPPS in the build you need [git-lfs](https://git-lfs.github.com/) otherwise the apk's can't be downloaded.
@@ -98,7 +98,7 @@ If you want to include GAPPS in the build you need [git-lfs](https://git-lfs.git
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
```
### Configure git
repo requires you to identify yourself to sync Android
@@ -107,23 +107,23 @@ repo requires you to identify yourself to sync Android
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
```
### (optional) Turn on caching to speed up build
Update your build environment
```bash
gedit ~/.bashrc
gedit ~/.bashrc
```
Add the following
```bash
export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache
export CCACHE_COMPRESS=1
```
### Initialize the LineageOS source repository
Create the project folder and download the source code
@@ -133,35 +133,25 @@ mkdir -p ~/android/lineage
cd ~/android/lineage
repo init -u https://github.com/LineageOS/android.git -b lineage-17.1
```
Now let's add this very device repo to the local_manifest
```bash
gedit cd ~/android/lineage/.repo/local_manifests/roomservice.xml
```
Add the following
```xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="LineageOS/android_packages_apps_FMRadio"/>
<project name="ADeadTrousers/android_device_Unihertz_Atom_LXL" path="device/Unihertz/Atom_LXL" remote="github" revision="master" />
<!-- For the Atom L model add -->
<project name="ADeadTrousers/android_device_Unihertz_Atom_L" path="device/Unihertz/Atom_L" remote="github" revision="master" />
<!-- For the Atom XL model add -->
<project name="ADeadTrousers/android_device_Unihertz_Atom_XL" path="device/Unihertz/Atom_XL" remote="github" revision="master" />
<!-- For the Atom L region eea add -->
<project name="ADeadTrousers/android_device_Unihertz_Atom_L_EEA" path="device/Unihertz/Atom_L_EEA" remote="github" revision="master" />
<!-- For the Atom XL region eea add -->
<project name="ADeadTrousers/android_device_Unihertz_Atom_XL_EEA" path="device/Unihertz/Atom_XL_EEA" remote="github" revision="master" />
<!-- For the Atom L region tee add -->
<project name="ADeadTrousers/android_device_Unihertz_Atom_L_TEE" path="device/Unihertz/Atom_L_TEE" remote="github" revision="master" />
<!-- For the Atom XL region tee add -->
<project name="ADeadTrousers/android_device_Unihertz_Atom_XL_TEE" path="device/Unihertz/Atom_XL_TEE" remote="github" revision="master" />
<project name="Meetoul/android_device_Unihertz_Jelly2" path="device/Unihertz/Jelly2" remote="github" revision="master" />
<project name="Meetoul/android_device_Unihertz_Jelly2_TEE" path="device/Unihertz/Jelly2_TEE" remote="github" revision="master" />
</manifest>
```
If you want to build with GAPPS included add the following to the manifest-tag
```xml
@@ -181,7 +171,7 @@ If you want to build with Magisk included add the following to the manifest-tag
```xml
<project name="ADeadTrousers/android_vendor_magisk" path="vendor/magisk" remote="github" revision="master" />
```
To finish everything up sync the repo
```bash
@@ -201,7 +191,7 @@ for d in ./*/ ; do (cd "$d" && git lfs pull); done
If you don't want to include GAPPS at all or want to change the apps to be installed
```bash
gedit ~/android/lineage/device/Unihertz/Atom_LXL/gapps_prop.mk
gedit ~/android/lineage/device/Unihertz/Jelly2/gapps_prop.mk
```
[Documentation of the possible settings](https://github.com/opengapps/aosp_build/blob/master/README.md)
@@ -210,19 +200,13 @@ If you don't want to include GAPPS at all or want to change the apps to be insta
### Use imjtool (formerly known as imgtool) to extract from stock rom files
First follow [the instructions to extract and mount the stock rom files](HOW-TO-EXTRACT_FILES.md)
First follow [the instructions to extract and mount the stock rom files](HOW-TO-EXTRACT_FILES.md)
Then extract all the files we need
```bash
# For the Atom L EEA use
~/android/lineage/device/Unihertz/Atom_L_EEA/extract-files.sh ~/unihertz/extracted
# For the Atom XL EEA use
~/android/lineage/device/Unihertz/Atom_XL_EEA/extract-files.sh ~/unihertz/extracted
# For the Atom L TEE use
~/android/lineage/device/Unihertz/Atom_L_TEE/extract-files.sh ~/unihertz/extracted
# For the Atom XL TEE use
~/android/lineage/device/Unihertz/Atom_XL_TEE/extract-files.sh ~/unihertz/extracted
# For the Jelly2 TEE use
~/android/lineage/device/Unihertz/Jelly2_TEE/extract-files.sh ~/unihertz/extracted
```
### Use an allready rooted device
@@ -230,47 +214,29 @@ Then extract all the files we need
If you were able to root your device this is just a small step. Plug in your device and do the follwing
```bash
# For the Atom L EEA use
~/android/lineage/device/Unihertz/Atom_L_EEA/extract-files.sh
# For the Atom XL EEA use
~/android/lineage/device/Unihertz/Atom_XL_EEA/extract-files.sh
# For the Atom L TEE use
~/android/lineage/device/Unihertz/Atom_L_TEE/extract-files.sh
# For the Atom XL TEE use
~/android/lineage/device/Unihertz/Atom_XL_TEE/extract-files.sh
# For the Jelly2 TEE use
~/android/lineage/device/Unihertz/Jelly2_TEE/extract-files.sh
```
## Building the rom
Prepare the build
Prepare the build
```bash
cd ~/android/lineage
source build/envsetup.sh
# For the Atom L EEA use
breakfast Atom_L_EEA
# For the Atom XL EEA use
breakfast Atom_XL_EEA
# For the Atom L TEE use
breakfast Atom_L_TEE
# For the Atom XL TEE use
breakfast Atom_XL_TEE
# For the Jelly2 TEE use
breakfast Jelly2_TEE
```
Do the actual build
```bash
cd ~/android/lineage
ccache -M 50G
croot
# For the Atom L EEA use
brunch Atom_L_EEA
# For the Atom XL EEA use
brunch Atom_XL_EEA
# For the Atom L TEE use
brunch Atom_L_TEE
# For the Atom XL TEE use
brunch Atom_XL_TEE
# For the Jelly2 TEE use
brunch Jelly2_TEE
```
## Updating the sorces (at a later time)

View File

@@ -1,4 +1,4 @@
How to extract informations from the Unihertz Atom L and XL
How to extract informations from the Unihertz Jelly2
=================================================
## Installing needed utilities
@@ -13,14 +13,8 @@ Make sure unpack_bootimg is build
cd ~/android/lineage
source build/envsetup.sh
# For the Atom L EEA use
breakfast Atom_L_EEA
# For the atom XL EEA use
breakfast Atom_XL_EEA
# For the Atom L TEE use
breakfast Atom_L_TEE
# For the atom XL TEE use
breakfast Atom_XL_TEE
# For the Jelly2 TEE use
breakfast Jelly2_TEE
make unpack_bootimg
```
@@ -42,7 +36,7 @@ mkdir -p ~/bin
wget http://newandroidbook.com/tools/imjtool.tgz
tar -xzf imjtool.tgz -C ~/bin
```
## How-To to extract boot.img and recovery.img
Use unpack_bootimg extract all required infos from boot.img and recovery.img of the stock rom
@@ -66,7 +60,7 @@ rm -rf extracted/
imjtool super.img extract
imjtool extracted/image.img extract
```
Next we need to mount them into the filesystem
```bash
@@ -80,9 +74,9 @@ sudo mount -o loop product.img system/product
Now you can browse your phones filesystem and extract everything you need
To cleanup just unmout the images
```bash
sudo umount ~/unihertz/extracted/system/product
sudo umount ~/unihertz/extracted/system/vendor
sudo umount ~/unihertz/extracted/system/product
sudo umount ~/unihertz/extracted/system/vendo
sudo umount ~/unihertz/extracted/system
```

View File

@@ -1,24 +1,24 @@
How to extract sepolicies from the Unihertz Atom L and XL
How to extract sepolicies from the Unihertz Jelly2
=================================================
### Why would you even do that?
At first a little bit of warning:
At first a little bit of warning:
I'm not sure if this is the right approach to get everything selinux-wise in order but at least at the time of me writing these lines it gave me a pretty good look into the depths of the system and how everything interconnects.
### Where do I get the stock files from?
### Where do I get the stock files from?
First follow [the instructions to extract and mount the stock rom files](HOW-TO-EXTRACT_FILES.md).
The sepolicies are stored in two folders inside the extracted strock rom: `system/etc/sepolicy` and `system/vendor/etc/sepolicies`.
### These files look okay to me. Why can't I directly use them?
The files are in a combined and somewhat precompiled state.
The files are in a combined and somewhat precompiled state.
Therefore one is forced to extract the parts needed and then convert it into a format that it can be reintegrated as a type enforcement (.te-file) into another build.
### But... But these files are HUGE! How do I make sure that I find everything that I need?
That's why I created a little python script to help with this tedious task.
That's why I created a little python script to help with this tedious task.
You can find `extract_sepolicy.py`, `extract_sepolicy_plat.py` and `extract_sepolicy_vend.py` in my lineage repository in the folder `tools`.
### At first you had my curiosity. Now you have my attention. What else do I need?
@@ -44,8 +44,8 @@ Now you are good to go.
### But how ... ?
Glad you asked.
You need to find out what parts of the stock rom policies your device really needs.
Glad you asked.
You need to find out what parts of the stock rom policies your device really needs.
This is best achieved by running `adb -d logcat > logcat.txt` while you use the phone or reproducing some errors that should not happen.
Next look out for lines containing `avc: denied` in the logcat file.
In those lines you will also find a `scontext` which is the thing we are looking for.

View File

@@ -1,7 +1,7 @@
How to modify super.img and then flash it onto the device.
=================================================
For some reason I don't know of yet the install script won't be able to change the partition size inside `super.img`.
For some reason I don't know of yet the install script won't be able to change the partition size inside `super.img`.
When this happens the recovery will only schon an error 7 mentioning an "assert failure" with `dynamic_partitions_op_list`.
To overcome this problem you need to change the partiton layout manually on your computer and then flash the whole `super.img` back onto the device.
@@ -25,14 +25,8 @@ Make sure lpmake is build
cd ~/android/lineage
source build/envsetup.sh
# For the Atom L EEA use
breakfast Atom_L_EEA
# For the atom XL EEA use
breakfast Atom_XL_EEA
# For the Atom L TEE use
breakfast Atom_L_TEE
# For the atom XL TEE use
breakfast Atom_XL_TEE
# For the Jelly2 TEE use
breakfast Jelly2_TEE
make lpmake
```
@@ -61,14 +55,14 @@ Update your PATH variable for your environment
```bash
gedit ~/.profile
```
Add the following
```bash
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
PATH="$HOME/bin:$PATH"
fi
```
Then update your environment
@@ -80,17 +74,14 @@ source ~/.profile
## Extracting image files from stock rom files
Follow [the instructions to extract the stock rom files](HOW-TO-EXTRACT_FILES.md) to the point where you get `system.img`, `vendor.img` and `product.img`.
For this guide we only need `vendor.img` because the other two files are provided from the LineageOS rom.
For this guide we only need `vendor.img` because the other two files are provided from the LineageOS rom.
Create the folder `~/super` and copy `vendor.img` into it.
## Extracting image files from LineageOS rom files
- [Atom L Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_EEA/releases)
- [Atom XL Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_EEA/releases)
- [Atom L Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_TEE/releases)
- [Atom XL Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_TEE/releases)
- [Jelly2 Region TEE (non-european union)](https://github.com/Meetoul/android_device_Unihertz_Jelly2_TEE/releases)
Download `lineage-17.1-XXX-UNOFFICIAL-YYY-signed.zip` from the latest release page of your device.
Download `lineage-17.1-XXX-UNOFFICIAL-YYY.zip` from the latest release page of your device.
Extract the files from the zip archive into `~/super`.
Then we need to extract the brotli compressed files
@@ -122,7 +113,7 @@ stat -c '%n %s' system.img
stat -c '%n %s' product.img
```
Alternativly you could also use the filesizes from the zip archive in `dynamic_partitions_op_list`.
Alternativly you could also use the filesizes from the zip archive in `dynamic_partitions_op_list`.
Theses sizes are a bit bigger so you are able to add additional components like Gapps or Magisk later on.
With these number we are now able to create the `super.img`

View File

@@ -1,4 +1,4 @@
How to install LineageOS 17.1 for the Unihertz Atom L and XL
How to install LineageOS 17.1 for the Unihertz Jelly2
=================================================
## Getting adb and fastboot
@@ -25,14 +25,14 @@ Update your PATH variable for your environment
```bash
gedit ~/.profile
```
Add the following
```bash
# add Android SDK platform tools to path
if [ -d "$HOME/platform-tools" ] ; then
PATH="$HOME/platform-tools:$PATH"
fi
PATH="$HOME/platform-tools:$PATH"
fi
```
Then update your environment
@@ -43,13 +43,13 @@ source ~/.profile
### Windows
Download [the latest version of adb and fastboot](https://dl.google.com/android/repository/platform-tools-latest-windows.zip) to a directory of your choice and extract the archive.
Download [the latest version of adb and fastboot](https://dl.google.com/android/repository/platform-tools-latest-windows.zip) to a directory of your choice and extract the archive.
Note: I've had reports that under Windows adb/fastboot might not recognize the phone while in TWRP. For now I don't know whats causing this. So if that happends to you try using linux instead.
## Unlocking
To be able to install anything on the Unihertz Atom L or XL we first need to unlock the bootloader.
To be able to install anything on the Unihertz Jelly2 we first need to unlock the bootloader.
1. Boot your device into the official OS.
2. Go to `Settings > About phone`, tap the "build number" several times to enable developer settings.
@@ -72,10 +72,7 @@ To get LineageOS to boot proberly we also need to disable AVB. Otherwise the boo
## Installing TWRP recovery
- [Atom L Region EEA (european union)](https://github.com/ADeadTrousers/twrp_device_Unihertz_Atom_L_EEA/releases)
- [Atom XL Region EEA (european union)](https://github.com/ADeadTrousers/twrp_device_Unihertz_Atom_XL_EEA/releases)
- [Atom L Region TEE (non-european union)](https://github.com/ADeadTrousers/twrp_device_Unihertz_Atom_L_TEE/releases)
- [Atom XL Region TEE (non-european union)](https://github.com/ADeadTrousers/twrp_device_Unihertz_Atom_XL_TEE/releases)
- [Jelly2 Region TEE (non-european union)](https://github.com/Meetoul/twrp_device_Unihertz_Jelly2_TEE/releases)
1. Download `recovery.img` from the latest release page of your device.
2. Connect your phone to your PC and open a terminal or a command line window.
@@ -86,16 +83,13 @@ To get LineageOS to boot proberly we also need to disable AVB. Otherwise the boo
## Installing LineageOS ROM
- [Atom L Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_EEA/releases)
- [Atom XL Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_EEA/releases)
- [Atom L Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_TEE/releases)
- [Atom XL Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_TEE/releases)
- [Jelly2 Region TEE (non-european union)](https://github.com/Meetoul/android_device_Unihertz_Jelly2_TEE/releases)
1. Download `lineage-17.1-XXX-UNOFFICIAL-YYY-signed.zip` from the latest release page of your device.
1. Download `lineage-17.1-XXX-UNOFFICIAL-YYY.zip` from the latest release page of your device.
2. Connect your phone to your PC and open a terminal or a command line window.
3. Run `adb reboot recovery` on your PC or simply hold volume up while turning power on to boot your device into the recovery.
4. In TWRP select `Wipe > Advanced Wipe`.
5. Tick `Dalvik / ART Cache`, `Cache`, `Data`, `Internal Storage`.
5. Tick `Dalvik / ART Cache`, `Cache`, `Data`, `Internal Storage`.
6. Swipe the slider on the bottom to the right to confirm. (**THIS WILL WIPE ALL DATA!**)
### Using sideload method
@@ -117,25 +111,3 @@ To get LineageOS to boot proberly we also need to disable AVB. Otherwise the boo
1. (Optional) At this point, you can then install the latest Magisk and/or OpenGAPPS Nano at your will. Note that the size of the system partition might only be enough for the "nano" variant of OpenGAPPS. If installing Magisk / OpenGAPPS fails, you can try rebooting into recovery again in advanced menus, then try installing them again.
2. Select `Reboot System` to reboot into LineageOS and enjoy. Note that Magisk might cause your device to boot loop once or twice but it will eventually boot.
## Troubleshooting
### Partitions cannot be resized
If you get an error 7 mentioning `assert failed: update_dynamic_partitions(package_extract_file("dynamic_partitions_op_list"))` you need to do the following:
- [Atom L Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_EEA/releases/download/20210226-alpha/super.img-eea.7z)
- [Atom XL Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_EEA/releases/download/20201219-alpha/super.img-seea.7z)
- [Atom L Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_TEE/releases/download/20210415-alpha/super.img-tee.7z)
- [Atom XL Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_TEE/releases/download/20210415-alpha/super.img-stee.7z)
1. Download `super.img-YYY.7z` from the release page of your device which corresponds with the latest stock rom release.
2. Extract the already resized copy of `super.img` from the downloaded archive.
5. Run `adb push super.img /external_sd` on your PC.
6. In TWRP select `Install`.
7. Use `Select Storage` to switch to your SD card.
8. Use `Install Image` to switch to image installation mode.
9. Select `super.img` from the list.
10. Select `Super (Product, Vendor, System)` partition.
11. Swipe the slider on the bottom to the right to confirm.
12. Continue with **Installing LineageOS ROM**

View File

@@ -1,14 +1,11 @@
How to update LineageOS 17.1 for the Unihertz Atom L and XL
How to update LineageOS 17.1 for the Unihertz Jelly2
=================================================
Every piece of software should allways kept up-to-date. Therefore even this ROM get updates from time to time and you should allways apply these to your device.
## (optional) Updating TWRP recovery
- [Atom L Region EEA (european union)](https://github.com/ADeadTrousers/twrp_device_Unihertz_Atom_L_EEA/releases)
- [Atom XL Region EEA (european union)](https://github.com/ADeadTrousers/twrp_device_Unihertz_Atom_XL_EEA/releases)
- [Atom L Region TEE (non-european union)](https://github.com/ADeadTrousers/twrp_device_Unihertz_Atom_L_TEE/releases)
- [Atom XL Region TEE (non-european union)](https://github.com/ADeadTrousers/twrp_device_Unihertz_Atom_XL_TEE/releases)
- [Jelly2 Region TEE (non-european union)](https://github.com/Meetoul/twrp_device_Unihertz_Jelly2_TEE/releases)
1. Download `recovery.img` from the latest release page of your device.
2. Connect your phone to your PC and open a terminal or a command line window.
@@ -24,22 +21,19 @@ Every piece of software should allways kept up-to-date. Therefore even this ROM
## Updating LineageOS ROM
- [Atom L Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_EEA/releases)
- [Atom XL Region EEA (european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_EEA/releases)
- [Atom L Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_L_TEE/releases)
- [Atom XL Region TEE (non-european union)](https://github.com/ADeadTrousers/android_device_Unihertz_Atom_XL_TEE/releases)
- [Jelly2 Region TEE (non-european union)](https://github.com/Meetoul/android_device_Unihertz_Jelly2_TEE/releases)
1. Download `lineage-17.1-XXX-UNOFFICIAL-YYY-signed.zip` from the latest release page of your device.
1. Download `lineage-17.1-XXX-UNOFFICIAL-YYY.zip` from the latest release page of your device.
2. Connect your phone to your PC and open a terminal or a command line window.
3. Run `adb reboot recovery` on your PC or simply hold volume up while turning power on to boot your device into the recovery.
4. (Optional) In TWRP select `Wipe > Advanced Wipe`.
5. (Optional) Tick `Dalvik / ART Cache`, `Cache`, `Data`, `Internal Storage`.
5. (Optional) Tick `Dalvik / ART Cache`, `Cache`, `Data`, `Internal Storage`.
6. (Optional) Swipe the slider on the bottom to the right to confirm. (**THIS WILL WIPE ALL DATA!**)
7. Go back to the home screen and select `Advanced > ADB Sideload`.
8. Swipe the slider on the bottom to the right to confirm.
9. Run `adb sideload lineage-17.1-XXX-UNOFFICIAL-YYY.zip` from your PC.
10. Wait for the process to finish. The recovery might prompt something about verification failure, just ignore it and continue anyway.
11. (Optional) You need to flash all the additional modules that you previously installed.
11. (Optional) You need to flash all the additional modules that you previously installed.
12. Select `Reboot System` to reboot into LineageOS and enjoy. Note that Magisk might cause your device to boot loop once or two but it will eventually boot.
Steps 4 to 6 are optional but if you encounter any errors later on you are on your own.

View File

@@ -1,10 +1,10 @@
Documentations for the Unihertz Atom L and XL
Documentations for the Unihertz Jelly2
=================================================
- [HOW-TO-BUILD.md](HOW-TO-BUILD.md) - Building instructions for LineageOS 17.1.
- [HOW-TO-INSTALL.md](HOW-TO-INSTALL.md) - Installation instructions for the Atom L/XL.
- [HOW-TO-UPDATE.md](HOW-TO-UPDATE.md) - Update instructions for the Atom L/XL.
- [HOW-TO-EXTRACT_FILES.md](HOW-TO-EXTRACT_FILES.md) - Instructions to extract files directly from the Atom L/XL stock rom files.
- [HOW-TO-INSTALL.md](HOW-TO-INSTALL.md) - Installation instructions for the Jelly2.
- [HOW-TO-UPDATE.md](HOW-TO-UPDATE.md) - Update instructions for the Jelly2.
- [HOW-TO-EXTRACT_FILES.md](HOW-TO-EXTRACT_FILES.md) - Instructions to extract files directly from the Jelly2 stock rom files.
- [HOW-TO-EXTRACT_SEPOLICY.md](HOW-TO-EXTRACT_SEPOLICY.md) - A little guide to extract sepolicy rules from stock or phone.
- [HOW-TO-FLASH-STOCK.md](HOW-TO-FLASH-STOCK.md) - Instructions on how to use the SP Flash Tool for MTK based devices.
- [HOW-TO-FLASH-SUPER.md](HOW-TO-FLASH-SUPER.md) - Instructions on how to modify super.img and flashing it onto the device.

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

BIN
docs/images/jelly2.png Normal file
View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB