How To Guide Guide to TWRP building - Samsung Galaxy M12

TWRP for a12s
=============
1. Setup
--------
sudo apt update
sudo apt upgrade
sudo apt-get install git-all
sudo apt install python-is-python3
git config --global user.email "your email"
git config --global user.name "your name"
2. swapfile
-----------
sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
sudo mkswap /swapfile
sudo swapon /swapfile
free -m
3. repo
-------
mkdir -p ~/.bin
PATH="${HOME}/.bin:${PATH}"
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo
chmod a+rx ~/.bin/repo
Basic Device Tree
==================
mkdir TWRP
cd TWRP
git init
git clone https://github.com/twrpdtgen/twrpdtgen
pip3 install twrpdtgen
sudo apt install cpio
copy stock recovery.img to ~/TWRP/twrpdtgen
cd twrpdtgen
python3 -m twrpdtgen recovery.img
rename ~/TWRP/twrpdtgen/output/samsung/a12s/omni_a12s.mk to twrp_a12s.mk
delete vendorsetup.sh
Add this to recovery.fstab
# Removable storage
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=storage;wipeingui;removable
/usb-otg auto /dev/block/sda1 /dev/block/sda flags=display="USB-OTG";storage;wipeingui;removable
Make a copy of recovery.fstab and rename to twrp.flags
Move both files recovery.fstab and twrp.flags to recovery/root/system/etc
(create these folders)
open twrp_a12s.mk and
1. delete the 3 lines below # Inherit from those products, Most specific first.
replace those 3 lines with this
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
2. delete $(call inherit-product, vendor/omni/config/gsm.mk)
3. change omni to twrp (2 places)
open AndroidProducts.mk
change omni to twrp (4 spots)
Optional: add extra items to BoardConfig.mk
cd ~
sudo apt install git aria2 -y
git clone https://gitlab.com/OrangeFox/misc/scripts
cd scripts
sudo bash setup/android_build_env.sh
sudo bash setup/install_android_sdk.sh
• Make a directory called ~/a12s-twrp
cd ~/a12s-twrp
repo init --depth=1 -u https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp.git -b twrp-11
repo sync -c --no-clone-bundle --no-tags --optimized-fetch --prune --force-sync -j1
copy ~/TWRP/twrpdtgen/output/samsung to /a12s-twrp/device
Building
========
. build/envsetup.sh
lunch twrp_a12s-eng
mka recoveryimage
Recovery.img at out/target/product/a12s/recovery.img

Screenshots

physwizz twrp updated
For a127f u5 u6 u7
And a127m u5
Android 11 & 12
Bugs:
None reported
Installation
Next post
Code
physwizz - Repositories
physwizz has 172 repositories available. Follow their code on GitHub.
github.com
@physwizz

Installing Custom Recoveries
A. Preparation.
1. Download firmware for your device
2. Extract ap file using Zarchiver
3. Patch the ap file with a magisk which will patch both boot.img and vbmeta.img
For Exynos 850 android 11 use a21s patched magisk.
For Exynos 850 android 12 and most other devices use delta magisk
4. Unlock OEM in developer options
5. Attach phone to pc and reboot to download mode
6. flash patched ap file.
7. Download recovery.img or download twrp.tar and extract recovery.img using Zarchiver.
B.Installation
Method 1.
1. Connect to pc and boot into stock recovery
2. Factory reset
3. Reboot into download mode.
4. flash twrp.tar into the ap slot
5. reboot to recovery.
6. Advanced, terminal.
7. Type multidisabler (twice).
Or flash samsung multidisabler zip
Or, for older phones flash dmverity zip
8. Reboot to recovery
Backup boot, data, super and dtbo
9. Reboot to system
Method 2.
If you have already installed recovery and decrypted.
1. Boot to recovery.
2. Install recovery.img
3. Choose recovery partition
4. Reboot to recovery
Backup boot, data, super and dtbo
(For Pitch-black just install the zip)
Method 3.
1. Install TWRP app
2. Install TWRP
3. Choose file to flash.(don't select device)
4. Select recovery.img.
5. Reboot to recovery.
6. (You may need to change data partition to ext4 first if format ruins your system)
7. Reboot to recovery.
8. Wipe, format data, type YES.
9. Advanced, terminal.
10.Type multidisabler (twice).
Or flash samsung multidisabler zip
Or, for older phones flash dmverity zip
11.Reboot to recovery
12. Flash Magisk for root(only for method 3)
13. Backup boot, data, super and dtbo
C. Recovery Problems
Most recovery issues can be solved by attending to the following issues.
1. Did you root using the full ap file patched Magisk .
(This contains the patched boot.img and vbmeta.img)
Exynos 850 users must use the special a217 magisk?
2. Did you then go all the way through the setup process?
3. Did you download the recovery to match your baseband?
See https://t.me/a127f_res/54 for Exynos 850 recoveries
4. Did you hold down power and volume up after Odin says pass?
5. Did you format data, not just wipe?
6. Did you type multidisabler twice?
7. Did you reboot to recovery by choosing reboot from the menu and then choosing recovery?
8. To avoid touch issues go to settings and untick "allow time out"
D.To restore Stock Recovery
1. Attach phone to pc and reboot to download mode
2. flash patched ap file.
3. reboot
@physwizz

Updated version with mtp

Final version now available

physwizz said:
TWRP for a12s
=============
git config --global user.email "your email"
git config --global user.name "your name"
Basic Device Tree
==================
mkdir TWRP
cd TWRP
git init
git clone https://github.com/twrpdtgen/twrpdtgen
pip3 install twrpdtgen
sudo apt install cpio
copy stock recovery.img to ~/TWRP/twrpdtgen
cd twrpdtgen
python3 -m twrpdtgen recovery.img
rename ~/TWRP/twrpdtgen/output/samsung/a12s/omni_a12s.mk to twrp_a12s.mk
delete vendorsetup.sh
Add this to recovery.fstab
# Removable storage
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=storage;wipeingui;removable
/usb-otg auto /dev/block/sda1 /dev/block/sda flags=display="USB-OTG";storage;wipeingui;removable
Make a copy of recovery.fstab and rename to twrp.flags
Move both files recovery.fstab and twrp.flags to recovery/root/system/etc
(create these folders)
open twrp_a12s.mk and
1. delete the 3 lines below # Inherit from those products, Most specific first.
replace those 3 lines with this
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
2. delete $(call inherit-product, vendor/omni/config/gsm.mk)
3. change omni to twrp (2 places)
open AndroidProducts.mk
change omni to twrp (4 spots)
Optional: add extra items to BoardConfig.mk
cd ~
sudo apt install git aria2 -y
git clone https://gitlab.com/OrangeFox/misc/scripts
cd scripts
sudo bash setup/android_build_env.sh
sudo bash setup/install_android_sdk.sh
• Make a directory called ~/a12s-twrp
cd ~/a12s-twrp
repo init --depth=1 -u https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp.git -b twrp-11
repo sync -c --no-clone-bundle --no-tags --optimized-fetch --prune --force-sync -j1
copy ~/TWRP/twrpdtgen/output/samsung to /a12s-twrp/device
Building
========
. build/envsetup.sh
lunch twrp_a12s-eng
mka recoveryimage
Recovery.img at out/target/product/a12s/recovery.img
Click to expand...
Click to collapse
dude im stuck at mka recoveryimage part its stuck at 96% while im creating it says there a error while creating how to solve it?? btw my phone is not samsung its oppo and its says error exit code 130 how to solve this??

Anonymous V said:
dude im stuck at mka recoveryimage part its stuck at 96% while im creating it says there a error while creating how to solve it?? btw my phone is not samsung its oppo and its says error exit code 130 how to solve this??
Click to expand...
Click to collapse
Make sure you have 8gb ram

physwizz said:
Make sure you have 8gb ram
Click to expand...
Click to collapse
Yeah i have 8gb ram but why its happening?

Anonymous V said:
Yeah i have 8gb ram but why its happening?
Click to expand...
Click to collapse
Logs?

physwizz said:
Logs?
Click to expand...
Click to collapse
ohh sorry i cant provide logs anymore sir because i reset my linux and i lost everything i tried to build again but now im getting the error in sycing the repo i dont know why

for m127F?

pando345 said:
for m127F?
Click to expand...
Click to collapse
Huh?

When I enter "repo init --depth=1 -u https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp.git -b twrp-11"
I get this error
/usr/bin/env: ‘python’: No such file or directory

¡¿Kathyyy1212?! said:
When I enter "repo init --depth=1 -u https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp.git -b twrp-11"
I get this error
/usr/bin/env: ‘python’: No such file or directory
Click to expand...
Click to collapse
sudo apt install python-is-python3
Check post 1 for more

physwizz said:
sudo apt install python-is-python3
Check post 1 for more
Click to expand...
Click to collapse
Thank you all working

¡¿Kathyyy1212?! said:
Thank you all working
Click to expand...
Click to collapse
Congratulations

Does anyone knows something about this error

Edne12803 said:
Does anyone knows something about this error
Click to expand...
Click to collapse
What error?

physwizz said:
What error?
Click to expand...
Click to collapse
this one... install twrp in Galaxy M12 but it starts over and over again

Related

[GUIDE][DEV][WIP] Compile unofficial CWM Recovery for Tom-Tec 7 excellent. TCC892x

Hello. After reading, reading and more reading i picked one of the most newbe freindly guides on how to make a CWM recovery for a new device.
I my case im going to build CWM recovery for the Tom-Tec 7 excellent.
It hase Android ICS V4.0.3
This guide is alsow to compile cyanogenmod for unsupported device!
I am using Ubuntu 64 bit. (Wy go for less if i dont have to.) But i gues it will work for most linux versions if you got the required packages installend. Even Max OS can be used to build i gues. But thats a bit differant guide..
Step 1:
Install the required packages
Links with info.....
Google’s official guide: http://source.android.com/source/initializing.html
Step 2:
Install java SDK, ADB and?
link adb....
[GUIDE] Lazyman's installation guide to ADB on Ubuntu 10.10 - Now with Ubuntu 11.10: http://forum.xda-developers.com/showthread.php?p=11823740#post11823740
[HOW-TO] Set up SDK/ADB on Ubuntu 11.10 | 32 & 64 bits: http://forum.xda-developers.com/showthread.php?t=1550414
RESERVED SPACE
Step 3:
In you´re ¨home¨ dir make a folder called ICS. (You can give it any name you like.. But i have to start with something right..)
Use the terminal app to cd into ICS folder. (click ¨Dash home¨ icon. from the menu on the left. In the cursor field type perminal to find the app) Just in case you dont know how to cd into the ICS folder. Just type ¨cd ICS¨ in the opend terminal app and you there. (with out the ¨¨)
Step 4:
Now we got to download the Cyanogenmod source files with the terminal app. This can take a very long time. The CWM recovery source comes bundled with the CyanogenMod source.
Pick the version you want to make a recovery for.
I have ICS on my tablet sow im gone use the ICS repo.
Code:
CWM 5 - Gingerbread
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
CWM 5:
repo init -u git://github.com/CyanogenMod/android.git -b ics
? repo init -u git://github.com/CyanogenMod/android.git -b ics android-4.0.4_r2.1 werkt..
CWM 6 - Jellybean
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
Sow i copy pastle this line in the terminal: ¨repo init -u git://github.com/CyanogenMod/android.git -b ics¨ with out the ¨¨ hit enter.
If asked give a name and email adres. Confirm with Y if its right.
Now type ¨repo sync¨ (with out the ¨¨) in the terminal and hit enter.
Downloading the source will take a very long time.
Step 5:
Now we come to the actuall compiling part. Make sure you have synced the latest source files using the "repo sync" command. Personally i run the ¨repo sync¨ command often to get the newest changes (commits).
Now issue this command :
make -j4 otatools
ore: make otatools
of with log: make otatools 2>&1 | tee tom-tec-OtaTools.log
If it wont work you can try: make CC=gcc CXX=g++ -j4 otatools
If it wont works scroll down to the part about Fix compile problems.
This will run a short time. It will make the tools needed to build the recovery. If everything executed properly a new set of files have been created in ICS/out/host/darwin-x86/bin:
Step 6:
Now we are going to add a not officially supported device. This way we can build CyanogenMod.
Using terminal emulator on your device, issue the command
Code:
dump_image boot /sdcard/boot.img
This will dump the boot image to your sdcard. Transfer it to your home directory.
My Tablet did not have the dump_image file on it..
Sow there are some options open:
Option 1:
place the dump_image file in the bin folder of the tablet. You will need to change the read/write rights of the file ofcource.
I used the root explorer app to do this.
Option 2: Take the boot.img from last official rom.
Link: https://helpdesk.tom-tec.nl/KB/a200/firmware-update-voor-de-tom-tec-atf3657-excellent-7.aspx
Ore here: http://portal.tom-tec.eu/KB/a204/firmware-update-for-the-tom-tec-atf-3657-excellent-7.aspx
ore:
http://portal.tom-tec.eu/KB/a204/firmware-update-for-the-tom-tec-atf-3657-excellent-7.aspx
Option 3: Just dump the boot.img file from the tablet. And dump the
recovery.img to.
Dump boot.img this way: dd if=/dev/block/mtdblock0 of=/mnt/ext_sd/boot.img bs=4096
Dump recovery.img this way: dd if=/dev/block/mtdblock6 of=/mnt/ext_sd/recovery.img bs=4096
You can use ADB terminal from pc ore go download a terminal from Google play store on you´re android device.
To build Android from source for a new device, you need to set up a board config and its makefiles. This is generally a long and tedious process. Luckily, if you are only building recovery, it is a lot easier. From the root of your Android source directory (assuming you've run envsetup.sh), run the following (substituting names appropriately):
Code:
build/tools/device/mkvendor.sh device_manufacturer_name device_name /your/path/to/the/boot.img
For Tom-Tec 7 excellent, the command will go as follows :
Code:
build/tools/device/mkvendor.sh YG m805_892x ~/boot.img
and for the recovery: of: build/tools/device/mkvendor.sh YG m805_892x ~/recovery.img
Please note that m805_892x is the device name..... Only use "~/boot.img" if you have the boot image in your home directory. Or else please specify the correct path.
You will receive the confirmation "Done!" if everything worked. The mkvendor.sh script will also have created the following directory in your Android source tree:
manufacturer_name/device_name
YG/m805_892x
In case of the Tom-Tec 7 excellent you can find the output files here:
/home/youreUsernames/ICS/device/YG/m805_892x
Step 7 :
Now that you have the device config ready, proceed.
Type the following code in your terminal in the source directory.
Code:
. build/envsetup.sh
gives:
including device/ti/panda/vendorsetup.sh
including device/YG/m805_892x/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
This will setup the build environment for you to work.
Now launch the command
Code:
lunch full_device_name-eng
For Tom-tec 7 excellent it is: lunch full_m805_892x-eng
But seems best to me to use: lunch full_m805_892x-userdebug
This step will be done in a short time.
This will set the build system up to build for your new device. Open up the directory in a file explorer or IDE. You should have the following files: AndroidBoard.mk, AndroidProducts.mk, BoardConfig.mk, device_.mk, kernel, system.prop, recovery.fstab, and vendorsetup.sh.
Now we can go and eddit the files in the directory: /home/..username../ICS/device/YG/m805_892x
The two files you are interested in are recovery.fstab and kernel. The kernel in that directory is the stock one that was extracted from the boot.img that was provided earlier. For the most part, recovery.fstab will work on most devices that have mtd, emmc, or otherwise named partitions. But if not, recovery.fstab will need to be tweaked to support mounts and their mount points. For example, if your /sdcard mount is /dev/block/mmcblk1p1, you would need the following lines in your BoardConfig.mk
/sdcard vfat /dev/block/mmcblk1p1
Once the recovery.fstab has been properly setup, you can proceed to the next step.
Step 8 :
Now we build the recovery.
Code:
make -j4 recoveryimage
Ore with a log file:
make -j4 recoveryimage 2>&1 | tee tom-tec-revovery.log
(Will be checking build tools if clean command is used.)
This command builds the recovery image
You can use the command
Code:
make -j4 recoveryzip
Ore with a log:
make -j4 recoveryzip 2>&1 | tee tom-tec-fashableZip.log
To make a fakeflash recovery i.e. a temporary recovery to test out on the actual device.
Your recovery can then be found at "your_source_directory/OUT/target/product/m805_892x/recovery.img" and the temporary fakeflash zip in the utilities folder at the same location.
If everything works out well, you will have a working recovery.
At the moment i havent been able to make a CWM recovery with all the options working. Sow a nice bit of user feedback will help making it i hope.
Once you have working builds, notify "koush", on Github and he can build official releases and add ROM Manager support!
IF YOU HAVE ALREADY COMPILED THE SOURCE AND YOU MAKE CHANGES TO THE BoardConfig.mk YOU WILL HAVE TO DO THIS FOR YOUR NEXT BUILD
$ cd ICS
$ make clobber
ore make clean
$ . build/envsetup.sh
$ lunch full_m805_892x-eng ore lunch full_m805_892x-userdebug
of lunch en nummer kiezen
$ make -j4 recoveryimage 2>&1 | tee tom-tec-recovery.log
$ make -j4 recoveryzip
$ make -j4 bootimage
$ make -j4 userdataimage
$ make -j4 systemimage
And for building the rom: make -j4 otapackage 2>&1 | tee tom-tec-build.log
Download files:
New 2014:
CWM recover V6.0.12 last: http://www.mediafire.com/view/w40bzdl1ujh60ay/recovery
info:Making a backup and restore works. The best part i think.
Some options dont work jet. Its to late to tell much about.
Everything works except for:
USB mount
Key test close to working.
choose backup format
I made the recovery flashable from stock recovery. Download it here.
cwm recovery V6.x beta flashable:
later again
Recovery FakeFlash update.zip (recoveryzip): http://www.mediafire.com/?r3uhcqol1t55ii5
You can install this from the stock recovery. It wont harm the system! It will give you the option to make a rom backup.
Its not a full cwm recovery but it is a start.
If you install a rom using Recovery FakeFlash update.zip there will be a log file made in: /cach/recovery/
Very usefull to check if you´re rom is not booting
For me with the Tom-tec. If i restore the userdata.img the device wont fully start. It keeps loading the android image.
Dump you recovery. Flashable file.:
http://www.mediafire.com/?jk929dw8vpw1w1f
If you want to go back to the stock recovery use this file:
flashable stock recovery v3e
http://www.mediafire.com/?q8fgeqtwt2iqau8
If you´re not able to build the otatools.
Download Otatools CM9:
http://www.mediafire.com/?job80hd2n1jfnqa
Download the cm9 rom!:
http://forum.xda-developers.com/android/development/dev-unofficial-tom-tec-7-excellent-t2946072
Links:
Compile Tccutils to unpack and repack images: http://forum.xda-developers.com/showthread.php?t=1873041
How to install the SDK: http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK
Official build guide by Google. http://source.android.com/source/initializing.html
Official cm guide: http://wiki.cyanogenmod.com/index.php?title=Building_from_source
Android Platform Developer's Guide: http://www.kandroid.org/online-pdk/guide/
Guide by koush: http://www.koushikdutta.com/2010/10/porting-clockwork-recovery-to-new.html
Newbe friendly guide i used: http://forum.xda-developers.com/showthread.php?t=1866545
Compile ICS on Ubuntu: http://forum.xda-developers.com/showthread.php?t=1354865
Android ROM Development From Source To End: http://forum.xda-developers.com/chef-central/android/guide-android-rom-development-t2814763
How To Port CyanogenMod Android To Your Own Device: http://wiki.cyanogenmod.org/w/Doc:_porting_intro
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Some tips :
If you want to compile CWM 6, sync the jellybean branch using the command :
Code:
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
repo sync
If you want to compile CWM 6 on a 32 bit system, you need to sync THIS source too. Instructions are given in the readme.
Run "make clobber" between builds if you change the BoardConfig.mk, or the change will not get picked up.
Credits :
Koush for this guide. Find 1 of his githubs to see the info he gives in the make files. Helps a lot.
Fix compile problems
Fix problems... This the learning part.. Fun but can be really anoying to.
First i got my self:
make otatools did not work.
-Try make -j4 out/host/linux-x86/bin/unpackbootimg
-put "unpackbootimg" in ~/android/system/out/host/linux-x86/bin then i copy it to ~/usr/bin and set chmod.
Im did see a download if it some place. Google.
-copy unpackbootimg to into /usr/bin If it is there, make it executable.
make executable: sudo chmod a+x /usr/bin/unpackbootimg
-Run make clubber from The ICS folder. Than restart pc might help to.
Problem: unpackbootimg not found. Is your android build environment set up and have the host tools been built?
build/tools/device/mkvendor.sh YG m805_892x ~/recovery.img
gives:
unpackbootimg not found. Is your android build environment set up and have the host tools been built?
fix: make -j4 out/host/linux-x86/bin/unpackbootimg
fix2: permission van de bestanden aanpassen.
fix3: copy unpackbootimg file into /usr/bin (change permissing)
(Look on google for: cp file to usr/bin)
how:
Copy unpackbootimg to you´re home dir.
sudo cp unpackbootimg /usr/bin
Give pasword.
chmod +x unpackbootimg ./unpackbootimg
Probleem . build/envsetup.sh with vendorsetup.sh not found (including device/YG/m805_892x/vendorsetup.sh
):
[email protected]:~/ICS$ . build/envsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
Make the file vendorsetup.sh in you´re device tree. Look at a nother device tree how it set up! Have a look in my github.
My device tree is in home dir at: / ICS/device/YG/m805_892x
Now run . build/envsetup.sh again it should be there now.
Still not there? Did you run the command from inside the right folder (project folder). I have to do cd ICS.
probleem:
build/core/product_config.mk:199: *** device/YG/m805_892x/full_m805_892x.mk: PRODUCT_NAME must be a valid C identifier, not "full_m805_892x-evm". Stop.
fix make files settings:
PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0
#PRODUCT_NAME := full_m805_892x
PRODUCT_NAME := full_m805_892x-evm
PRODUCT_DEVICE := m805_892x
PRODUCT_BRAND := Android
PRODUCT_MODEL := A777
Change to this:
PRODUCT_NAME := full_m805_892x_evm
And yes you have to use _ insted of - i gues.
Make the change in: cm.mk, device_m805_892x.mk and full_m805_892x.mk
Problem building recovery:
out/target/product/K00F/recovery.img total size is 9388032
error: out/target/product/K00F/recovery.img too large (9388032 > [33792 - 8448])
make: *** [out/target/product/K00F/recovery.img] Error 1
make: *** Deleting file `out/target/product/K00F/recovery.img'
Fix use this in boardconfig (Not for the TomTec tablet but for Asus device):
BOARD_BOOTIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x00010000)
BOARD_RECOVERYIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x00020000)
BOARD_SYSTEMIMAGE_MAX_SIZE := $(call image-size-from-data-size,0x000FC000)
#data-size,0x00010000 this and sow on i found in the Asus stock rom.
Nother problem that i did run into trying to make ext4 images:
make_ext4fs -s -l 0x40000000 -a data out/target/product/m805_892x/userdata.img out/target/product/m805_892x/data
Need size of filesystem
make: *** [out/target/product/m805_892x/userdata.img] Error 4
make: *** Waiting for unfinished jobs..
The sizes need to be in bytes it seems.
make_ext4fs does not support hex in the -l argument
DD dump you´re partitions and you see the amount of bytes.
I put this in my BoardConfig.mk like this:
BOARD_USERDATAIMAGE_PARTITION_SIZE := 1073741824
Use this to finisch waiting jobs..:
make_ext4fs -s -l 1073741824 -a data out/target/product/m805_892x/userdata.img out/target/product/m805_892x/data
problem:
[email protected]:~/ICS$ make -j4 recoveryimage
build/core/product_config.mk:196: *** _nic.PRODUCTS.[[device/YG/m805_892x/device_m805_892x.mk]]: "device/YG/m805_892x/m805_892x-vendor-blobs.mk" does not exist. Stop.
The error is somewhare found in this file:
device_m805_892x.mk I used the original file and start adding things again.
Problem:
make: *** No rule to make target `vendor/cm/proprietary/RomManager.apk', needed by `out/target/product/m805_892x/system/app/RomManager.apk'. Stop.
make: *** Waiting for unfinished jobs....
Copy: out/target/product/m805_892x/system/bin/compcache
Copy: out/target/product/m805_892x/system/bin/handle_compcache
[email protected]:~/ICS$
For that use the terminal and cd to:
cd /vendor/cm
run:
./get-prebuilts
This will download the RomManager.apk and bit of other stuff.
Problem:
build/core/config.mk:162: *** TARGET_ARCH not defined by board config: device/
fix:
open ¨BoardConfig.mk¨
and ad: TARGET_ARCH :=arm (I have it under: TARGET_BOARD_PLATFORM)
Problem:
Which would you like? [full-eng] 5
build/core/product_config.mk:209: *** No matches for product "full_m805_892x". Stop.
Device not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for m805_892x not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml.
build/core/product_config.mk:209: *** No matches for product "full_m805_892x". Stop.
** Don't have a product spec for: 'full_m805_892x'
** Do you have the right repo manifest?
fix:
What you need to do is to edit your blob to match the PRODUCT_NAME to the file name. For example with mine I have full_m805_892x therefore in this file I need to have PRODUCT_NAME to match it. Whatever error it is looking for you just need to change the PRODUCT_NAME line to match what the error shows. I did have a look in the files: cm.mk, device_m805_892x.mk, full_m805_892x.mk and vendorsetup.sh
probleem building obj/lib/libril.so out:
prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: error: out/target/product/K00F/obj/lib/libril.so: unknown mandatory EABI object attribute 44
collect2: ld returned 1 exit status
make: *** [out/target/product/K00F/obj/EXECUTABLES/rild_intermediates/LINKED/rild] Error 1
make: *** Waiting for unfinished jobs....
fix: I did have to change the libril.so settings in BoardConfig.mk I did disable the libril.so settings for now.
I alsow did have to remove the libril.so file in ojb/lib of the project out folder. Than the build will go on.
repo problem:
repo sync gives:
gpg: Signature made do 01 mei 2014 22:34:18 CEST using RSA key ID 692B382C
gpg: Can't check signature: public key not found
error: could not verify the tag 'v1.12.16'
warning: Skipped upgrade to unverified version
Syncing work tree: 100% (255/255), done.
fix:
run: repo selfupdate --no-repo-verify
link: http://forum.xda-developers.com/showthread.php?t=1846651&page=97
known-issues: https://source.android.com/source/known-issues.html
Nandroid errors http://www.droidforums.net/threads/nandroid-error-codes.20546/
Edit make files..
Edit make files..
Edit:
vendorsetup.sh
This file you have to make you self first. Just make a new file in the device tree folder (Lunix OS). Not in Windows OS! Dont use Windows to edit files. Ore use the notpad+ edition if you really have to. You have to donwload it and install it.
I have this in it:
add_lunch_combo device_m805_892x-eng
add_lunch_combo full_m805_892x-eng
add_lunch_combo full_m805_892x-user
add_lunch_combo full_m805_892x-userdebug
add_lunch_combo full_m805_892x_evm-userdebug
The option: add_lunch_combo full_m805_892x_evm-userdebug will be used. Its set in the make files.
full_m805_892x.mk:
Make a nother file full_m805_892x.mk
Look in my device tree to see how its set up.
Most inportant part for now is:
PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0
PRODUCT_NAME := PRODUCT_NAME := full_m805_892x_evm
PRODUCT_DEVICE := m805_892x
PRODUCT_BRAND := Android
PRODUCT_MODEL := A777
Make sure that PRODUCT_NAME := PRODUCT_NAME := full_m805_892x_evm uses the name ash used in vendorsetup.sh (and cm.mk and device_m805_892x.mk )
Yes it hase to be PRODUCT_NAME := full_m805_892x_evm
Not full_m805_892x-evm ore m805_892x-evm-userdebug its seems.
Android.mk:
Make this file in you´re device tree.
Put this in the file and save (No enter after it!):
LOCAL_PATH := $(call my-dir)
AndroidProducts.mk
Make this file in you´re device tree. Put this in the file and save:
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/full_m805_892x.mk
There is no \ behind full_m805_892x.mk. There is no \ after the last product! This file hase 1 product in it as you can see. If there are more products than ad \ after every product. But no \ on the last product listed.
BoardConfig.mk
Lost of things are set in this file.
When i made my device tree i got this line in it. (And others ofcourse)
BOARD_KERNEL_CMDLINE := console=null
I did change it to this:
BOARD_KERNEL_CMDLINE := console=vmalloc=256M
I found the cmdline when i did a search in the device kernel config..
I did look for: cmdline
The is a nother way to get the BOARD_KERNEL_CMDLINE :=
Open a terminal on you´re tablet and run: cat /proc/cmdline
ore cat /proc/cmdline > /ext_sd/cmdline.txt and it will put a text file on you´re sdcard.
I did get: cat /proc/cmdline > /ext_sd/cmdline.txt geeft : vmallc=256M logo_addr_size=0x85600000
I did left out het last part. I dont need a logo.. I need a cm bootanimation.
More someday later...
Some links for now.
Links:
build-options: http://vladnevzorov.com/2011/02/08/android-os-build-options/
Create a device tree for MTD devices: http://forum.xda-developers.com/showthread.php?t=2010281
Flash recovery image to tablet.
Flash recovery image to tablet.....
I used a terminal app on the tablet:
First run su
$ need to change to # (Make sure you´re tablet hase root and adb hase root permission.)
This command if you have put the recovery.img on external sd: dd if=/mnt/ext_sd/recovery.img of=/dev/block/mtdblock6
Ore this of you got the recovery.img on internal sd : dd if=/mnt/sdcard/recovery.img of=/dev/block/mtdblock6
ore use flash_image:
In terminal on the tablet
$ su
# cd /mnt/ext_sd
chmod 777 flash_image
(Yes you have to place the flash_image file on the sdcard)
flash_image recovery /mnt/ext_sd/recovery.img)
Using fastboot:
~$ adb reboot-bootloader
~$ fastboot flash recovery recovery.img
I did install a broken recovery on my tablet. And the current rom did not have root.. Using fastboot worked out great. The screem did stay back wile in fastboot mode.
Notes:
Needs fastboot/fastboot.exe in adb platform folder.
Needs you´re recovery.img file to in adb platform folder.
Build rom.
Build rom.....
Some links..
Links:
Tom-Tec websites:
http://www.kmb-international.com/category.php?id_category=33
Tom-tec: http://www.kmb-international.com/category.php?id_category=4&id_lang=4
http://www.tom-tec.nl/
Website Telechip: http://www.telechips.com/eng/Product/consumer_pro13.asp
Telechip wiki: http://en.wikipedia.org/wiki/Telechips
Telechips info: http://zomobo.net/telechips
QNX Neutrino for ARMv7 Cortex A-8 and A-9 Processors: http://www.qnx.com/developers/docs/...echnotes/QNX_for_ARMv7_Cortex_Processors.html
ARM7: http://review.cyanogenmod.org/#/c/15478/1/core/combo/arch/arm/armv7-a.mk
GPU Mali 400 http://en.wikipedia.org/wiki/Mali_(GPU)
Cortex-A8 http://processors.wiki.ti.com/index.php/Cortex-A8
http://androtab.info/telechips/cyanogenmod/
From Zero to Boot: Porting Android to your ARM platform:
http://blogs.arm.com/software-enablement/498-from-zero-to-boot-porting-android-to-your-arm-platform/
Source telechip site: https://www.telechips.com/technical_support/kor/opensource/opensource_list.asp
Source telechips:
Kernel: https://github.com/cnxsoft/telechips-linux
Android V4 and Hardware https://github.com/cnxsoft/telechips-android
source mali 400: https://github.com/rzk/Mali-400-r3p0-04rel0-X11-drivers
? repo init -u ssh://android.telechip.com/androidce/android/platform/manifest.git
repo sync
download android telechip sdk: ssh://android.telechips.com/androidce.com/
kernel source modded?
https://github.com/olexiyt/telechips-linux
Find kernel source for you´re device: http://forum.xda-developers.com/showthread.php?t=1808167
Some telechip doc´s:
http://wenku.baidu.com/view/6545cb13a216147917112879.html###n
XDA Telechips links:
unofficial CyanogenMod 7/ClockworkMod Recovery 5 for TCC8902/TCC8803 tablets: http://forum.xda-developers.com/showthread.php?t=1101094
Root/Clockwork mod on TCC8803 tablets: http://forum.xda-developers.com/showthread.php?t=1119778
HSG (X5A/X6) & Pandawill G11 rooting/dev thread (SetCPU & Root working!) http://forum.xda-developers.com/showthread.php?t=757992
Telechip forum:
http://www.androidtablets.net/forum/telechips-based/
http://www.androidtablets.net/forum/telechips-tcc8902-tablets/
http://androtab.info/cyanogenmod/telechips/
http://www.cnx-software.com/tag/telechips/
http://www.chinadigitalcomm.com/android-tablet.html
http://www.pandawillforum.com/forumdisplay.php?56-Telechips-Tablets
Cortex A8 not all TCC: http://www.slatedroid.com/forum/14-cortex-a8/
Some links with devices similar to the Tom-Tec 7 excellent:
Coby 8042: http://www.androidtablets.net/forum/coby-generation-3-development/
More links comming.
Usefull links:
Building a kernel: http://forum.xda-developers.com/nexus-4/general/guide-beginners-guide-to-building-t2986686
Uotkitchen v4.0 http://forum.xda-developers.com/showthread.php?t=990829
¨Some advice¨ from cyanogen: http://forum.xda-developers.com/showthread.php?t=667298
BoardConfig.mk for kernel developer and AOSP (platform) developer: http://forum.xda-developers.com/showthread.php?t=1630849
about how to unpack/repack recovery.img and boot.img http://forum.xda-developers.com/showthread.php?t=1494036
About how to unpack/repack recovery.img and boot.img https://www.miniand.com/wiki/Allwinner/Unpacking+and+building+LiveSuit+images
How to download and compile ICS from source: http://forum.xda-developers.com/showthread.php?t=1503093
List of arm 5, 6 and 7 devices: http://forum.xda-developers.com/showthread.php?t=1596800
How do you port Armv7 Roms to an Armv6 Device?: http://forum.xda-developers.com/showthread.php?t=1591878
What info to take from new device to build cwm recovery: http://androidforums.com/getitnowma...new-device-recovery-creation.html#post2714334
Dev basic´s: Source, Compiling, Github & co ~ Day 4: http://forum.xda-developers.com/showthread.php?t=1778984
Compile recovery: http://forum.xda-developers.com/showthread.php?t=1866545
Yaffey - Utility for reading, editing and writing YAFFS2 images: http://forum.xda-developers.com/showthread.php?t=1645412
port guide: http://apcmag.com/port-roms-to-your-android-device.htm
About tablets: http://www.androidtablets.net/forum...verything-you-want-know-get-started-here.html
> working-on-cyanogenmod: http://www.intervigil.net/working-on-cyanogenmod
How To Logcat: http://forum.xda-developers.com/showthread.php?t=1726238
Logcat links and some tools. 17-1-13: http://forum.xda-developers.com/showthread.php?p=36846151#post36846151
[Guide] How to use Github http://forum.xda-developers.com/showthread.php?t=1877040
[HELP/Q&A][SourceBuilding,AllDevices] The Source Building Q&A Help Thread: http://forum.xda-developers.com/showthread.php?t=2059939
Tips for CM7/CM9/CM10/CM10.1 :http://forum.xda-developers.com/showthread.php?t=1621301
[Guide and FAQ] CM9 / Android ICS for Defy:http://forum.xda-developers.com/showthread.php?t=1386680
TCC githubs:
source hardware: https://github.com/cnxsoft/telechips-android/tree/master/hardware/telechips/omx
koush githubs: https://github.com/koush
https://github.com/milaq/android_device_coby_em102
https://github.com/naobsd/cm_device_telechips_tcc8803
Kyros7015 https://github.com/csleex/cm_device_coby_kyros7015
https://github.com/Johnsel/android_device_coby_mid1125
https://github.com/mastermind1024/micromax_a70
https://github.com/abhis3k/Micromax_A70_device_folder/tree/master/a70
https://github.com/teamhacksung/and...tree/9b79b35d1554c20178cbe82fad0c8ab253630acb
Some telechips githubs:
> CX-01 mini PC https://github.com/olexiyt/cm_device_telechips_tcc8920st
common telechip stuff: https://github.com/naobsd/cm_device_telechips_common
https://github.com/naobsd/cm_device_telechips_tcc8902rt
https://github.com/naobsd/cm_device_telechips_tcc8902gb
https://github.com/naobsd/cm_device_telechips_tcc8902
https://github.com/naobsd/cm_device_telechips_tcc8803rt
https://github.com/naobsd/cm_device_telechips_tcc8803
https://github.com/milaq/android_device_coby_em102
https://github.com/Dreamboxuser/android_device_telechips_m801
https://github.com/Dreamboxuser/Vinci_m801_88
https://github.com/simone201/neak_bootable_recovery
Asure:
some prop. files https://github.com/Asure/android_vendor_samsung/blob/master/dropad/
https://github.com/Asure/android_vendor_samsung/tree/master/dropad
>> some kernel stuff: https://github.com/xxxFeLiXxxx/UltimateDropad
https://github.com/Asure/android_device_telechips_tcc8902
https://github.com/
Asure/android_vendor_telechips
Recovery builder: http://builder.clockworkmod.com/
Nice to try! Will give manufacturer and device name to!
Official CM tablets:
Not TCC..
cm_encore: https://github.com/fat-tire/android_device_bn_encore/tree/ics
https://github.com/fat-tire/android_device_bn_encore/blob/ics/device.mk
Lenovo_P700i https://github.com/Nikolas-LFDesigns/cm_device_lenovo_P700i
http://www.cyanogenmod.com/devices/nook-color
githubs nook: https://github.com/nookiedevs
http://www.cyanogenmod.com/devices/viewsonic-g-tablet
http://www.cyanogenmod.com/devices/advent-vega
CyanogenMod githubs:
https://github.com/CyanogenMod
Github by cyanogen: https://github.com/TeamChopsticks/cm_device_samsung_skyrocket
Just for me again. Just in case
Partial success on Ferguson S3 clone of this board
Hello,
using your tutorial I was able to successfully compile the fakeflash in-memory version (recoveryzip) from current ICS tree (v6.0.1.2) - View attachment rec-fakeflash-FergS3-v2.zip for Ferguson S3 device based on the same chipset. The touch variant on ICS tree did not build.
However, I have to note that the boot image does not work (the real fstab is generated incorrectly during bootup so it can't mount anything). But since the fakeflash ZIP image works, it is simple to boot into it without replacing the original recovery.
A few things had to be changed in ICS/device/YG/m805_892x/ directory:
There is no "central button", so the BoardConfig.mk must contain following line (you can just uncomment it):
Code:
BOARD_HAS_NO_SELECT_BUTTON := true
To backup correctly .android_secure and be able to use the external SD card for backups at the same time, the recovery.fstab lines for SD and nand were changed to:
Code:
/external_sd vfat /dev/block/mmcblk0p1 /dev/block/mmcblk0
/sdcard vfat /dev/block/ndda1 /dev/block/ndda
UPDATE: if you plan to use sd-ext partition as well (e.g. ext3 partition for Link2SD), you will also need following line (not included in the attatched zip image):
Code:
/sd-ext auto /dev/block/mmcblk0p2
Or maybe we could extend it just in case (if the internal SD-card is usable for this):
Code:
/sd-ext auto /dev/block/mmcblk0p2 /dev/block/ndda2
I have also added following line to BoardConfig.mk based on the (non-working) on-line builder, but it works even without it, so it might not be necessary
Code:
TARGET_ARCH_VARIANT := armv7-a
I´m happy my thread did help you. I´ll well keep adding new stuff to tis thread over time Im first trying to make a working rom and recovey for my self at the moment.
I see you try builing the for JB. Make files for JB work a bit differnt than from ICS it seems to me after a short try. I havent tryed a touch version my self jet. But if you know a nice github that is for making a touch version let me know.
To fix you´re boot.img i gues you should try and unpack the original and the 1 you build. Compaire them. There is a nice guide with tools + instruction here:
http://forum.xda-developers.com/showthread.php?p=23298690#post23298690
I got my self a working boot.img that way. Hope it will be a bit of help to you. Have a look how others use the make files to putt the right stuff in the boot.img and recovery.img
I to did have to use: BOARD_HAS_NO_SELECT_BUTTON := true
to get the button working. I wanted to add that in my guide when i get my rom working.
I would just keep this part in you´re BoardConfig if it works: TARGET_ARCH_VARIANT := armv7-a
maybe even have to make it like this? armv7-a-neon
if you have the neon feature. I think sow.
Try the android info app.
Thx for you´re nice post. If you make a nice github i would like to check it out
Its songs werry interesting for me... I am too want get building CM9/10 for this tablets (i have one... its clone of you tablet named Enot j101 - CPU=Telechip TCC892X GPU=Mali 400mp Ram=512mb (ddr3 - ?) NAND=4Gb Dafault_build=Android 4.0.3 (suckasway )...
I am builds Roms from source for other device, but here many problems...
P.S. I make screenshot by ADB... LOOK on build date... If be needed (for proprientary - i am make dump of system).
And please say you status on Rom..
Hi,
I have some more info on the device here:
Some device info here:
http://www.androidworld.nl/forum/to...ellent-7-inch-android-4-0-tablet-atf3657.html
http://www.androidworld.nl/forum/tom-tec/34668-tom-tec-7-excellent-adb-terminal-info.html
Its Dutch but you're be able te get the specs.
I almost have a working rom at the moment. Some lib*.so file dont work and about 4 framework files.
The picture is to small for me to see right. sorry.
AntiBillOS said:
Its songs werry interesting for me... I am too want get building CM9/10 for this tablets (i have one... its clone of you tablet named Enot j101 - CPU=Telechip TCC892X GPU=Mali 400mp Ram=512mb (ddr3 - ?) NAND=4Gb Dafault_build=Android 4.0.3 (suckasway )...
I am builds Roms from source for other device, but here many problems...
P.S. I make screenshot by ADB... LOOK on build date... If be needed (for proprientary - i am make dump of system).
And please say you status on Rom..
Click to expand...
Click to collapse
Great! Thank you very much! I'm trying to build mk802 recovery image myself. Your post helps me so much!:good:
XmiData Fail In Odin
Solved
can anyone help me with this error
grep: build/target/board/generic/recovery.fstab: No such file or directory
Can I use kernel built from kernel source of Android 5 to build rom for Android 7?
My device repositories are not available on github, But I got device tree and vendor blobs by making changes in similar device repo. That reference device's kernel's lineageos_defconfig is situated in htc msm8974 kernel repo. So how can I get lineageos_defconfig for my device, and which other my device related kernel files(.dtsi or any other) I have to push in htc msm8974 repo and get those files to make things ready for build?
Please help......

[Completed] How to create Device tree for Android Rom building

How to create Device tree for Android Rom building
I assume you already downloaded source code
before we start please do following
1. Install unpackbootimg
Go to https://github.com/CoolDevelopment/android_bootimg_tools and download as a zzip or use git clone command.
extract files
cd directory
make
now you will find unpackbootimg and mkbootimg in this directory
2. copy unpackbootimg and mkbootimg to /usr/bin
sudo cp unpackbootimg /usr/bin
sudo cp mkbootimg /usr/bin
Note this is necessary if you are getting error
" "unpackbootimg not found. Is your android build environment set up and have the host tools been built?
3. Extracting boot.img from your device
What we need
1. A rooted phone
2. Enable Usb Debugging in Developer Mode
3. ADB command knowldge
connect your phone via usb cable ensure that usb debugging is enabled
open terminal and type adb devices
if it is showing your device's serial no than we are ready to go
C. type
adb shell
su
ls -l /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name
please note this command may vary by device to device. What we are doing here we want to know partition scheme of your device.
note down block name of /boot partition
example it will be like boot -> /dev/block/mmcblk0p7
d. type this
dd if=/dev/block/mmcblk0p7 of=/sdcard/boot.img
now boot.img succesfully transfered to your SD card Copy it to your Desktop
now path should be /home/user/Desktop/boot.img or similar but remeber path name alternatively you can type pwd in terminal to know this
creating device/Vendor-Name/Device-codename
cd to your working directory
Syntex: ./build/tools/device/mkvendor.sh Vendor-Name Device-CodeName ~/Path to your/boot.img
Example:
./build/tools/device/mkvendor.sh GIONEE GIONEE_WBL7511 ~/Desktop/boot.img
Now it will create following file in /device/Vender-Name/Device_CodeName
AndroidBoard.mk
cm.mk
recovery.fstab
AndroidProducts.mk
device_GIONEE_WBL7511.mk
system.prop
BoardConfig.mk
kernel
Note1: Please create vendorsetup.mk file in this directory manually. To use source build/envsetup.sh
Note2: Please double check BoardConfig.mk file and ensure every partition size is correct in this file. Also check recovery.fstab showing correct mount point
Note3: Here kernel is prebuilt kernel. If you want to compile kernel as well as download your kernel source in /kernel/Vender-Name/Device_CodeName dirtectory. You will find kernel related config in BoardConfig.mk
Please note it will not create vendorsetup.sh file and following Directory
1./vendor/Vender-Name/Device_CodeName
2. /kernel/Vender-Name/Device_CodeName
Wait for next post for more info
Thank You
http://azodik.com/
Thread closed as Assist is not the place to post guides

[GUIDE]DualBootPatcher Use, Build from Source/using Docker/Travis And Add New Devices

Hi all DualBootPatcher fans, in this thread i'll try to explain all things about DualBootPatcher, so if your user please read this post carefully then continue to other posts, and if you developer you can skip it and go to post #2 directly
Part 0: Introduction & How to use DualBootPatcher?
What is DualBootPatcher?
DualBootPatcher is an open-source app that allows multiple ROMs to be installed on a single Android device. It does its best to work with existing code and does not require explicit support from ROMs. There are currently 270+ supported devices and their variations.
It's originally developed by the amazing developer @chenxiaolong with help of many contributors
Click to expand...
Click to collapse
What does the app do ?:
It patches...
Custom kernels for dual boot support
ROMs so that they can be installed as secondary
Google Apps packages for AOSP-based ROMs
SuperSU so that it can be used in the secondary ROM
Where can i find it?
Website
XDA Main Thread
Github
What's supported ?
Except Toaster and Alarm clocks pretty much everything is supported.
Click to expand...
Click to collapse
How to use the App?
- Download, install and open the app.
- Swipe to the right to open the menu. Click "ROMS". Now if this is the first time you use it, it will ask you if you want to set kernel. Do so!
- After it has finished go to ROM Settings (primary ROM 3 dot menu) and select Update Ramdisk. It will update it and will ask you to reboot. Press Reboot Now, or Reboot later.
- Now Download any ROM you like and open the app again and open the menu and open Patch Zip File from the menu. Ensure that your Device is set to (yourdevicename) and under Partition configuration select secondary/dataslot (will install 2nd ROM in /system) or data slot.
- Click continue and select where to save the patched file.
- You should see the file is being put in "Queue". Just click the confirm button to the upper right.
Note: If you want to go back, just swipe the ROM in queue to right and start over.
- The app will patch the zip. When done, go back to "ROMs".
- Click "Flash zip files" (the big pink button on the lower right). Click the pink plus button to add your previously patched zip file.
- Locate the file you have patched in step 7. Unless you have changed the name there, it should be something like ROM_name_partition_config_ID.zip (like RR-N-v5.8.3-20170707-cheeseburger-Unofficial_dual.zip).
- Click on that file and choose "Keep location". Now confirm the flash with the button on the upper right side.
Note: You can also install the patched zip files in recovery.
- It will now open the terminal and begin flashing the file. This requires some patience. After it has flashed the file you'll see success message in green.
- Now click back and you should see your newly installed ROM along with the Primary ROM.
Note: You can find more options by clicking on the three buttons on each ROM.
- Now reboot and wait till finishing 2nd ROM first boot. install DualBootPatcher apk so you can easily switch ROMs, there is another way to change ROMs: flash DualBootUtilities.zip and switch ROM manually.
Note: Using Bootui:
- Open app then select settings and press install (update) bootui. then Swipe to the right to open the menu. Click "ROMS" again and open secondary ROM Settings) and select Update Ramdisk, Now you can change ROMs simply using boot ui (something like grub bootloader but it works like twrp)
Partitions Configurations:
The patcher offers several locations for installing ROMs:
Primary: This is normally used for installing a zip to the primary ROM. It is not required, but is strongly recommended because it has code to prevent the zip from inadvertently affecting other ROMs.
Dual: Dual/Secondary is the first multiboot installation location. It installs to the system partition. This is a good spot for installing a second ROM because it doesn't take any space away from the internal storage.
Multi-slots: There are 3 multislots: multi-slot-1, multi-slot-2, multi-slot-3. These install to the cache partition. This is specifically for devices, like the Galaxy S4, that have a massive cache partition.
Data-slots: There can be an unlimited number of data slots. These install to the data partition and eat up space on the internal storage. This is useful for devices where the system partition is nearly full and the cache partition is tiny. These slots are named "data-slot-[id]", where "id" is something you provide in the app.
Extsd-slots: There can be an unlimited number of extsd slots. These install to the external SD card, which is useful as it keeps the ROMs off of the internal storage. Note that the ROM's data files are still stored on the data partition.
Apps and Data sharing:
DualBootPatcher very recently got support for sharing apps and their data across ROMs. Maybe sharing is somewhat of a misleading term. The feature actually makes Android load the shared apps and data from a centralized location, /data/multiboot/_appsharing. So you're not sharing apps from one ROM to another per se. The ROMs are just loading the apps from one shared location. Let me make this clearer with an analogy.
Think of the people in a company office as ROMs. You want to share with your coworkers some documents (apps). Instead of telling them to come over to your desk to see those documents (sharing apps from one ROM to another), everyone goes to the conference room to look at the documents together (loading apps from a shared location). That's how app and data sharing is implemented.
Click to expand...
Click to collapse
To use app sharing, follow these steps in every ROM that you want to use app sharing: (doesn't work with JB ROMs)
Install the app you want to share
Open DualBootPatcher and go to "App Sharing" in the navigation drawer
Enable individual app sharing
Tap "Manage shared applications" and enable APK/data sharing for the app
Reboot
When you uninstall an app that's shared, it simply become unshared for the current ROM. That way, other ROMs are not affected. To continue the analogy above, if you quit your job, you won't shred the documents that everybody else was looking at.
If you unshare an app's data, it will go back to using the data it had before it was shared. In other words, you leave the conference room and go back to work on your own documents at your desk.
Click to expand...
Click to collapse
How to Tips:
How to boot to another ROM ?
This is simple ... There is no reboot to primary, secondary or whatever. So all you have to do is:
1) Go to ROMs section of the App.
2) Click on the ROM you want to boot to. You should see "Switching ROM" message. After few seconds, you should see a report message saying that "ROM successfully switched".
3) Now just do a normal reboot of your device. See the magic! It should boot to the ROM you have switched on step 2.
Note: You can find more options by selecting the three buttons on each ROMs (like creating reboot widgets for directly rebooting to specific rom).
You also need to install the App to all of the ROMs you install. Otherwise, you want be able to boot to other ROMs!
Other How to ?
Wipe /cache, /data, /system, or dalvik-cache?
The easiest way is to do it from the app while booted in another ROM. Just go to "Roms" in the navigation drawer, tap the 3 dots options menu for the ROM you want to wipe, and tap "Wipe ROM".
Update the primary ROM?
Patch the zip for primary and flash it. The "primary" installation target is designed so that other ROMs won't be affected when you want to flash something for the primary ROM.
Update a non-primary ROM?
Patch and flash the zip exactly like how you did it the first time.
Flash a mod or custom kernel for the primary ROM?
Patch it for primary before flashing. If the zip does not wipe /cache, it is also safe to flash it directly.
Flash a mod or custom kernel for a non-primary ROM?
Just patch and flash it
Now, You're perfect DualBootPatcher user,so let's enter the main guide !
Guide Index:
Part 1: How to build DualBootPatcher from source manually?
Part 2: How to build DualBootPatcher using docker images?
Part 3: How to build DualBootPatcher using TravisCI?
Part 4: How to add new Devices to DualBootPatcher?
Part 5: How to submit new Devices to official DualBootPatcher support?
Extra: How to share apps (apk) between ROMs? (soon!)
Before we start you should know that DBP is not just android app, there is versions for windows and linux also and in this guide i'll talk about app and linux version only, i don't use windows
Part 1: How to build DualBootPatcher from source?
When you deeply exploring DualBootPatcher repository you'll find all information and guides you need but for some people instructions isn't clear enough, so let me explain it here
- You'll need linux, whichever distribution you use. but i'm sure building works on [Debian-Ubuntu-Fedora-Arch] and all its derivations.
A) Prerequisites:
- You'll need these packages whatever version you want to build:
Android NDK
Currently NDK r15 is required to build, you can get it here
Download, Extract and rename it to "android-ndk"
Code:
wget https://dl.google.com/android/repository/android-ndk-r15-linux-x86_64.zip && unzip android-ndk-r15-linux-x86_64.zip && mv android-ndk-r15 android-ndk
And then export android ndk:
Code:
echo "export ANDROID_NDK=$(pwd)/android-ndk" >> ~/.bashrc
echo "export ANDROID_NDK_HOME=$(pwd)/android-ndk" >> ~/.bashrc
cmake
DBP needs cmake 3.7.2 or higher. you need to download it here
Downloading & Extract command:
Code:
wget https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz && tar xzf cmake-3.7.2.tar.gz
extract to folder and run the following commands in cmake folder
Code:
sed -i 's|cmake_options="-DCMAKE_BOOTSTRAP=1"|cmake_options="-DCMAKE_BOOTSTRAP=1 -DCMAKE_USE_OPENSSL=ON"|' bootstrap
./bootstrap
make
sudo make install
OpenSSL
i'm successfully build using openssl-1.1.0c, download here and extract.
Code:
wget https://www.openssl.org/source/openssl-1.1.0c.tar.gz && tar xzf openssl-1.1.0c.tar.gz
open openssl-1.1.0c folder and install it
Code:
./config shared --prefix=/usr/local/ssl --openssldir=/usr/local/ssl
make
sudo make install
echo 'PATH=${PATH}:/usr/local/ssl' >> ~/.bashrc
gtest
Install on Ubuntu / Debian:
Code:
sudo apt-get install libgtest-dev
On Fedora:
Code:
sudo dnf install gtest-devel
On Archlinux:
Code:
sudo pacman -S gtest
yaml-cpp
Install on Ubuntu / Debian using
Code:
sudo apt-get install libyaml-cpp-dev
On Fedora
Code:
sudo dnf install yaml-cpp-devel
On Archlinux:
Code:
sudo pacman -S yaml-cpp
Other General packages that must be installed: [Skip this if you have android build environment :good: ]
Ubuntu / Debian:
Code:
sudo apt-get install ccache libboost-dev libssl-dev openssl python-minimal build-essential libfontconfig1 findutils git make libprocps-dev unzip zip gcc-multilib g++-multilib lib32ncurses5-dev transifex-client gnupg mesa-common-dev libglu1-mesa-dev
Fedora:
Code:
sudo dnf install ccache findutils gcc-c++ git make procps-ng unzip zip gnupg ncurses-compat-libs transifex-client openssl-devel
Archlinux:
Code:
sudo pacman -S ccache boost openssl lib32-openssl findutils git make procps-ng unzip zip gnupg gcc-multilib ncurses
Code:
sudo pacaur -S transifex-client ncurses5-compat-libs lib32-ncurseslib32-ncurses5-compat-libs
- For building android app you need:
Android SDK
You need to install SDK using android studio ( build-tools 25.0.3, platforms android-25, platform-tools and tools )
or install from terminal:
Code:
mkdir -p android-sdk && cd android-sdk
wget -q https://dl.google.com/android/repository/platform-tools_r25.0.3-linux.zip && unzip -qq platform-tools_r25.0.3-linux.zip
wget -q https://dl.google.com/android/repository/build-tools_r25.0.3-linux.zip && unzip -qq build-tools_r25.0.3-linux.zip
wget -q https://dl.google.com/android/repository/tools_r25.2.3-linux.zip && unzip -qq tools_r25.2.3-linux.zip
Then Export it:
Code:
echo "export ANDROID_HOME=$(pwd)" >> ~/.bashrc
echo "export PATH=${PATH}:${ANDROID_HOME}/tools" >> ~/.bashrc
JDK 1.8
Ubuntu / Debian:
Code:
sudo apt-get install openjdk-8-jdk openjdk-8-jdk-headless
Fedora:
Code:
sudo dnf install java-1.8.0-openjdk-devel java-1.8.0-openjdk-headless
Archlinux:
Code:
sudo pacman -S jdk8-openjdk
Other packages:
Ubuntu / Debian:
Code:
sudo apt-get install lib32stdc++-6-dev
Fedora:
Code:
sudo dnf install glibc.i686 libstdc++.i686
Archlinux:
Code:
sudo pacman -S glibc libstdc++5 lib32-libstdc++5
- And for linux version you need:
qt5
it must be 5.3 or higher
Ubuntu / Debian:
Code:
sudo apt-get install qttools5-dev-tools libqt5core5a
Fedora:
Code:
sudo dnf install qt5-qtbase-devel
Archlinux:
Code:
sudo pacman -S qt5-base
Other packages:
Ubuntu / Debian:
Code:
sudo apt-get install libarchive-dev liblz4-tool liblzma-dev lz4-dev zlib1g-dev lib32z-dev
Fedora:
Code:
sudo dnf install libarchive-devel lz4-devel xz-devel
Archlinux:
Code:
sudo pacman -S libarchive lz4 xz lib32-xz lzip
- Some final touches:
Enable cache:
Code:
echo "export USE_CCACHE=1" >> ~/.bashrc
Reload bash environment:
Code:
source ~/.bashrc
- Cloning the source:
Code:
git clone --recursive https://github.com/chenxiaolong/DualBootPatcher.git
B) Building Android APP:
- Open DualBootPatcher folder and make new folder "build" and open it.
Code:
mkdir build && cd build/
- Now Build the app:
Code:
cmake .. -DMBP_BUILD_TARGET=android -DMBP_BUILD_TYPE=debug
make
cpack -G TXZ
make apk
And you'll find built apk in DualBootPatcher/Android_GUI/build/outputs/apk/Android_GUI-debug.apk
C) Building Utilities Zip:
Utilities Zip is AROMA based zip which enable you to switch ROMs form twrp or wipe ROM when something went wrong.
- In build folder run these commands:
Code:
make android-system_armeabi-v7a
make -C data/devices
./utilities/create.sh
you'll find built utilities.zip in DualBootPatcher/build/utilities/DualBootUtilities-9.2.0.zip
D) Building Linux App:
- In build folder run these commands:
Code:
cmake .. -DMBP_BUILD_TARGET=desktop -DMBP_PORTABLE=ON
make
cpack -G TXZ
or to pack it to zip file:
Code:
cpack -G ZIP
Special Thanks:
@oF2pks For helping me setup build environment on arch
@Ahmed Hady & @androidlover5842 Without their helps i won't be here
Part 2: How to build DualBootPatcher using docker images?
What is docker? [in case you don't know it ]
Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux, Windows Server, and Linux-on-mainframe apps.
Click to expand...
Click to collapse
Firstly, make sure you have docker installed, if not install it
From here you should choose a method you'll follow, Building docker images manually or use pre-built docker images.
A) Building docker images manually:
@chenxiaolong sir has made docker image configuration files here
all you need to do after sync the repo like part 1 is entering the following commands in DualBootPatcher directory:
Code:
./docker/generate.sh
./docker/build.sh
Note that building the docker images will take a long time and consume a lot of bandwidth--multiple gigabytes at the very least. It will download all the dependencies for building DualBootPatcher for all supported targets.
Click to expand...
Click to collapse
B) Using ready-made docker images:
i have made docker images and uploaded them to docker hub
to download "pull" it enter these commands:
Code:
docker pull yshalsager/dualbootpatcher:9.3.0-4-base
docker pull yshalsager/dualbootpatcher:9.3.0-4-android
docker pull yshalsager/dualbootpatcher:9.3.0-4-linux
Building DualBootPatcher using docker:
- To enter docker container and build DualBootPatcher make folder "builder" in DualBootPatcher directory
Code:
cd DualBootPatcher && mkdir -p builder
- Then run this to enter android build container
Code:
docker run --rm -it -e USER_ID=$(id -u) -e GROUP_ID=$(id -g) -v "$(pwd):/builder/DualBootPatcher:rw,z" -v "${HOME}/.android:/builder/.android:rw,z" -v "${HOME}/.ccache:/builder/.ccache:rw,z" -v "${HOME}/.gradle:/builder/.gradle:rw,z" yshalsager/dualbootpatcher:9.3.0-4-android bash
- After this you'll continue like normal building:
Code:
cd DualBootPatcher/builder && cmake .. -DMBP_BUILD_TARGET=android -DMBP_BUILD_TYPE=debug && make -j16 && rm -rf assets && cpack && make apk -j16
make android-system_armeabi-v7a -j16 && make -C data/devices -j16
- Now exit from container and enter linux build one:
Code:
docker run --rm -it -e USER_ID=$(id -u) -e GROUP_ID=$(id -g) -v "$(pwd):/builder/DualBootPatcher:rw,z" -v "${HOME}/.android:/builder/.android:rw,z" -v "${HOME}/.ccache:/builder/.ccache:rw,z" -v "${HOME}/.gradle:/builder/.gradle:rw,z" yshalsager/dualbootpatcher:9.3.0-4-linux bash
- Build utilities ZIP:
Code:
cd DualBootPatcher/builder && ./utilities/create.sh
- And build linux app
Code:
cmake .. -DMBP_BUILD_TARGET=desktop -DMBP_PORTABLE=ON && make -j16 && cpack
- You'll find output files in your local "builder" folder like normal build.
Part 3: How to build DualBootPatcher using TravisCI?
Travis CI is free open-source continues integration service, which simply take your project from GitHub and test / build it for you !
it's amazing solution if you don't have time/free space/mind lol :cyclops: to test your code.
- you'll need to signup Travis account, go here and press signup, enter your GitHub account details then approve Travis needed permissions and done.
- Now Fork DualBootPatcher repository to your account and create .travis.yml file in project root.
- Copy my Travis configuration to your .travis.yml
Code:
sudo: required
services:
- docker
before_install:
# Clone DualBootPatcher Repository
- git clone --recursive https://github.com/yshalsager/DualBootPatcher -b master DualBootPatcher/
# Pull docker images
- docker pull yshalsager/dualbootpatcher:9.3.0-4-base
- docker pull yshalsager/dualbootpatcher:9.3.0-4-android
- docker pull yshalsager/dualbootpatcher:9.3.0-4-linux
script:
# Make work directories
- mkdir $HOME/.android
- mkdir -p ${TRAVIS_BUILD_DIR}/DualBootPatcher/builder/ && cd ${TRAVIS_BUILD_DIR}/DualBootPatcher/
# Build APK
- |
docker run --rm -i -e USER_ID=$(id -u) -e GROUP_ID=$(id -g) -v "$(pwd):/builder/DualBootPatcher:rw,z" -v "${HOME}/.android:/builder/.android:rw,z" yshalsager/dualbootpatcher:9.3.0-4-android bash << EOF
cd DualBootPatcher/builder && cmake .. -DMBP_BUILD_TARGET=android -DMBP_BUILD_TYPE=debug && make -j16 && rm -rf assets && cpack && make apk -j16
make android-system_armeabi-v7a -j16 && make -C data/devices -j16
exit
EOF
- |
docker run --rm -i -e USER_ID=$(id -u) -e GROUP_ID=$(id -g) -v "$(pwd):/builder/DualBootPatcher:rw,z" -v "${HOME}/.android:/builder/.android:rw,z" yshalsager/dualbootpatcher:9.3.0-4-linux bash << EOF
# Build Utilities Zip
cd ~/DualBootPatcher/builder && ./utilities/create.sh
# Build Linux
cmake .. -DMBP_BUILD_TARGET=desktop -DMBP_PORTABLE=ON && make -j16 && cpack
exit
EOF
after_success:
- export TRAVIS_CURRENT_DATE=$(date +"%d%m%y-%Hh%Mm")
# Check output & md5sum
- ls -l ${TRAVIS_BUILD_DIR}/DualBootPatcher/Android_GUI/build/outputs/apk/debug/Android_GUI-debug.apk
- md5sum ${TRAVIS_BUILD_DIR}/DualBootPatcher/Android_GUI/build/outputs/apk/debug/Android_GUI-debug.apk
- ls -l ${TRAVIS_BUILD_DIR}/DualBootPatcher/builder/utilities/DualBootUtilities-9.3.0.zip
- md5sum ${TRAVIS_BUILD_DIR}/DualBootPatcher/builder/utilities/DualBootUtilities-9.3.0.zip
- ls -l ${TRAVIS_BUILD_DIR}/DualBootPatcher/builder/DualBootPatcher-9.3.0-Linux.zip
- md5sum ${TRAVIS_BUILD_DIR}/DualBootPatcher/builder/DualBootPatcher-9.3.0-Linux.zip
# Upload to transfer.sh
- cd ${TRAVIS_BUILD_DIR}/DualBootPatcher/Android_GUI/build/outputs/apk/debug/ && curl --upload-file ./Android_GUI-debug.apk https://transfer.sh/Android_GUI-debug-${TRAVIS_CURRENT_DATE}.apk
- cd ${TRAVIS_BUILD_DIR}//DualBootPatcher/builder/utilities/ && curl --upload-file ./DualBootUtilities-9.3.0.zip https://transfer.sh/DualBootUtilities-9.3.0-${TRAVIS_CURRENT_DATE}.zip
- cd ${TRAVIS_BUILD_DIR}/DualBootPatcher/builder/ && curl --upload-file ./DualBootPatcher-9.3.0-Linux.zip https://transfer.sh/DualBootPatcher-9.3.0-${TRAVIS_CURRENT_DATE}-Linux.zip
- Edit line 8 with your Repository and branch you want to build.
Code:
- git clone --recursive https://github.com/yshalsager/DualBootPatcher -b master DualBootPatcher/
- This simple TravisCI configuration builds both of apk and utilities.zip and deploy them to transfer.sh
- Now open Travis and add your DualBootPatcher fork to projects and start building :good:
- You'll find built apk md5 and links from line at the end Travis log
- Build takes about 25 mins
- When you add new commits to repository Travis will always build new apk for you !
- If you want to change something in configuration, always check its syntax to make sure it's valid YAML using this site
Part 4: How to add new Devices to DualBootPatcher?
To add your/new device to DualBootPatcher you need to get some information first then add it to DualBootPatcher devices:
- Flash GetLogs-20161128-1.zip using recovery [TWRP highly recommended]
- Copy /sdcard/logs/[Date&Time].tar to PC, extract it and let's start.
- This is new device template:
Code:
- name: (Device Name)
id: (device id)
codenames:
- (device codename1)
- (device codename2)
- (device codename3)
architecture: (device architecture)
block_devs:
base_dirs:
- (/dev/block/bootdevice/by-name)
system:
- (/dev/block/bootdevice/by-name/system)
cache:
- (/dev/block/bootdevice/by-name/cache)
data:
- (/dev/block/bootdevice/by-name/userdata)
boot:
- (/dev/block/bootdevice/by-name/boot)
recovery:
- (/dev/block/bootdevice/recovery)
extra:
- (/dev/block/bootdevice/modem)
boot_ui:
supported: true
flags:
- (TW_HAS_DOWNLOAD_MODE)
graphics_backends:
- fbdev
brightness_path: (/sys/class/leds/lcd-backlight/brightness)
max_brightness: (255)
default_brightness: (162)
pixel_format: (RGBX_8888)
theme: portrait_hdpi
- You'll edit all values between brackets.
- open logs/system/build.prop, you'll find:
ro.product.model= is your (Device Name)
ro.product.name= and ro.product.device= is your (device id) and (device codename1), if you know more names for your device add it in (device codename2) / (device codename3)
ro.product.cpu.abi= is your (device architecture)
- open logs/recovery/recovery.fstab, you'll find main device mount points, copy each mount point to it name
- open logs/recovery/recovery.log, you'll find TW_BRIGHTNESS_PATH := /sys/class/leds/lcd-backlight/brightness this is your (brightness_path)
I:Got max brightness 255 is (max_brightness)
setting GGL_PIXEL_FORMAT_RGBA_8888 is (pixel_format)
- Note: you can get these info from BoradConfig.mk in your device twrp tree.
- Now read "Partition Logs:" in recovery.log
it'll tell us second mount point, as example /system | /dev/block/mmcblk0p41
so you should add it like
Code:
system:
- /dev/block/bootdevice/by-name/system
- /dev/block/mmcblk0p41
and so on with other partitions.
- Checking more mounts: (not necessary but i recommend it)
open logs/listings/dev_full and scroll down to /dev/block/platform/soc.0 you'll find another main mount point which contain by-name and by-num folders like /dev/block/platform/soc.0/f9824900.sdhci
from /dev/block/platform/soc.0/f9824900.sdhci/by-name list copy each partition mount point to your device
- Now we're done, you should have something like
Code:
- name: Xiaomi Mi4S
id: aqua
codenames:
- aqua
architecture: arm64-v8a
block_devs:
base_dirs:
- /dev/block/bootdevice/by-name
- /dev/block/platform/soc.0/f9824900.sdhci/by-name
system:
- /dev/block/bootdevice/by-name/system
- /dev/block/platform/soc.0/f9824900.sdhci/by-name/system
- /dev/block/mmcblk0p41
cache:
- /dev/block/bootdevice/by-name/cache
- /dev/block/platform/soc.0/f9824900.sdhci/by-name/cache
- /dev/block/mmcblk0p42
data:
- /dev/block/bootdevice/by-name/userdata
- /dev/block/platform/soc.0/f9824900.sdhci/by-name/userdata
- /dev/block/mmcblk0p44
boot:
- /dev/block/bootdevice/by-name/boot
- /dev/block/platform/soc.0/f9824900.sdhci/by-name/boot
- /dev/block/mmcblk0p37
recovery:
- /dev/block/bootdevice/by-name/recovery
- /dev/block/platform/soc.0/f9824900.sdhci/by-name/recovery
- /dev/block/mmcblk0p38
boot_ui:
supported: true
graphics_backends:
- fbdev
flags:
- TW_QCOM_RTC_FIX
pixel_format: RGBX_8888
brightness_path: /sys/class/leds/lcd-backlight/brightness
max_brightness: 255
default_brightness: 162
theme: portrait_hdpi
- Open DualBootPatcher/data/devices/(your device manufacturer).yml and add your device codes. then Check your code syntax here if everything is right, make commit to add your device to your repository.
- Build apk using any method explained above to test it.
Part 5: How to submit new Devices to official DualBootPatcher support?
Once you checked everything is working, it's time to contribute to DualBootPatcher and add your device to official devices:
- First, Check you made all needed changes to add your device without problems, again check for YAML syntax because if it's wrong build won't work.
- Open DualBootPatcher Repository, press New pull request button.
- Press compare across forks and change the head fork to your username/DualBootPatcher
- Give a name and a description to your pull request, some thing like: "Add (Device Name) support" or "data: Add (device name)
- Now click the "Create pull request" green button
- Wait for your changes to be verified and merged to the project, the developer received your code and he will review, try and add it to the source code. You will be notified when your code merged.
Supported Devices by me
Here is my all contributions to DualBootPatcher:
Nokia X/XL
Nokia X2
Samsung Galaxy Win & Core
Xiaomi Mi 6
Xiaomi Redmi 4A
OnePlus 5
HTC Desire Eye
YU YUREKA BLACK
Xiaomi Mi 4S
Xiaomi Redmi Pro
Samsung Galaxy S8/S8+ [Exynos & Snapdragon]
Zenfone 2 Laser [Z00ED]
Lenovo Vibe K6
Samsung Tab S2
Samsung Galaxy Note 8 (Exynos)
If you can't add your device, you can pm me with logs tar file and i'll add it for you
Hii reserved
---------- Post added at 02:20 AM ---------- Previous post was at 02:20 AM ----------
I will tell u, how to sync apps between roms, without using double storage space for apk and libs.
---------- Post added at 02:25 AM ---------- Previous post was at 02:20 AM ----------
also can be used as multi profile
Support Nokia 6?
Qualcomm s430 Full root...
taicracker said:
Support Nokia 6?
Qualcomm s430 Full root...
Click to expand...
Click to collapse
Flash get logs
And send me
taicracker said:
Support Nokia 6?
Qualcomm s430 Full root...
Click to expand...
Click to collapse
Read this man! https://forum.xda-developers.com/showpost.php?p=73551957&postcount=5
or if you can't do it i can help, just give me the logs tar file
yshalsager said:
Read this man! https://forum.xda-developers.com/showpost.php?p=73551957&postcount=5
or if you can't do it i can help, just give me the logs tar file
Click to expand...
Click to collapse
The file where you say is located on the device. I will upload it to you soon ?
---------- Post added at 05:27 PM ---------- Previous post was at 04:28 PM ----------
yshalsager said:
Read this man! https://forum.xda-developers.com/showpost.php?p=73551957&postcount=5
or if you can't do it i can help, just give me the logs tar file
Click to expand...
Click to collapse
https://drive.google.com/file/d/0B-7MZC8TPIGtTjQyOFVydzNHV1U/view?usp=drivesdk
This is the logs file. (.tar.gz)
I am not on a PC right now. You help me. Do you need the build.prop file on your device?
addy692 said:
Flash get logs
And send me
Click to expand...
Click to collapse
https://drive.google.com/file/d/0B-7MZC8TPIGtTjQyOFVydzNHV1U/view?usp=drivesdk
?
taicracker said:
https://drive.google.com/file/d/0B-7MZC8TPIGtTjQyOFVydzNHV1U/view?usp=drivesdk
This is the logs file. (.tar.gz)
I am not on a PC right now. You help me. Do you need the build.prop file on your device?
Click to expand...
Click to collapse
I got it, apk will be here soon
yshalsager said:
I got it, apk will be here soon
Click to expand...
Click to collapse
Ok. Thanks
taicracker said:
Ok. Thanks
Click to expand...
Click to collapse
@taicracker
Here you are, please test and report me
https://transfer.sh/rqmJs/Android_GUI-debug-290817-12h43m41s.apk
yshalsager said:
@taicracker
Here you are, please test and report me
https://transfer.sh/rqmJs/Android_GU...-12h43m41s.apk
Click to expand...
Click to collapse
link die
taicracker said:
link die
Click to expand...
Click to collapse
Sorry
https://transfer.sh/rqmJs/Android_GUI-debug-290817-12h43m41s.apk
yshalsager said:
Sorry
https://transfer.sh/rqmJs/Android_GUI-debug-290817-12h43m41s.apk
Click to expand...
Click to collapse
Ok Thanks. I'm downloading. Installation is complete and then I do next. My Nokia 6 does not have a compatible room at all
I installed apk file and what do i do next?

[Tutorial] Android OTA payload dumper on Android

Introduction
This tutorial will teach you how to specifically extract the boot.img from your OTA/ROM's payload.bin on your Android device, rather than a computer.
In addition to this, you will also have the ability to access all other img files that are packaged with the payload.bin.
The boot partition contains a kernel image and a RAM disk combined via mkbootimg.
You would generally want to keep a copy of your current OTA/ROM's boot.img in the event that you want to recover your devices boot partition when you want to switch kernels, or repairing a corrupted device due to kernel/RAM disk issues.
Prerequisites
Termux Installed: Official Play Store Link | Official F-Droid Link
payload_dumper: Official GitHub Link
To get started
Code:
# Extract payload_dumper folder contents to: /storage/emulated/0/payload_dumper/
# Extract payload.bin from your OTA/ROM to: /storage/emulated/0/payload_dumper/
$ pkg install python -y
$ pip install --upgrade pip
$ apt update && apt upgrade -y
$ termux-setup-storage
# Allow Termux access photos, media and files on your device
$ cd storage/shared/payload_dumper
$ pip install -r requirements.txt
$ python payload_dumper.py payload.bin
# You will find the dumped payload in /storage/emulated/0/payload_dumper/output
Sources
https://explainshell.com/explain?cmd=sudo+apt-get+update+&&+sudo+apt-get+upgrade
https://github.com/python/cpython
https://packaging.python.org/tutorials/installing-packages/
https://github.com/vm03/payload_dumper
https://termux.com/
https://wiki.termux.com/wiki/Python
https://source.android.com/devices/bootloader/partitions-images
https://wiki.termux.com/wiki/Internal_and_external_storage
Nice!
I am getting the following error and I cannot figure out how to fix it:
Code:
Processing LOGO partitionTraceback (most recent call last):
File "payload_dumper.py", line 157, in <module>
dump_part(part)
File "payload_dumper.py", line 100, in dump_part
out_file = open('%s/%s.img' % (args.out, part.partition_name), 'wb')
FileNotFoundError: [Errno 2] No such file or directory: 'output/LOGO.img'
Thank you a lot Man!
This method working great with OnePlus 7 pro. Extracted system.img from Hydrogen, will try reflash it to Oxygen rom.
GuestK00376 said:
Introduction
This tutorial will teach you how to specifically extract the boot.img from your OTA/ROM's payload.bin on your Android device, rather than a computer.
In addition to this, you will also have the ability to access all other img files that are packaged with the payload.bin.
The boot partition contains a kernel image and a RAM disk combined via mkbootimg.
You would generally want to keep a copy of your current OTA/ROM's boot.img in the event that you want to recover your devices boot partition when you want to switch kernels, or repairing a corrupted device due to kernel/RAM disk issues.
Prerequisites
Termux Installed: Official Play Store Link | Official F-Droid Link
payload_dumper: Official GitHub Link
To get started
Code:
# Extract payload_dumper folder contents to: /storage/emulated/0/payload_dumper/
# Extract payload.bin from your OTA/ROM to: /storage/emulated/0/payload_dumper/
$ pkg install python -y
$ pip install --upgrade pip
$ apt update && apt upgrade -y
$ termux-setup-storage
# Allow Termux access photos, media a
[QUOTE="GuestK00376, post: 81933401"]
Introduction
This tutorial will teach you how to specifically extract the boot.img from your OTA/ROM's payload.bin on your Android device, rather than a computer.
In addition to this, you will also have the ability to access all other img files that are packaged with the payload.bin.
The boot partition contains a kernel image and a RAM disk combined via mkbootimg.
You would generally want to keep a copy of your current OTA/ROM's boot.img in the event that you want to recover your devices boot partition when you want to switch kernels, or repairing a corrupted device due to kernel/RAM disk issues.
Prerequisites
Termux Installed: Official Play Store Link | Official F-Droid Link
payload_dumper: Official GitHub Link
To get started
[CODE]# Extract payload_dumper folder contents to: /storage/emulated/0/payload_dumper/
# Extract payload.bin from your OTA/ROM to: /storage/emulated/0/payload_dumper/
$ pkg install python -y
$ pip install --upgrade pip
$ apt update && apt upgrade -y
$ termux-setup-storage
# Allow Termux access photos, media and files on your device
$ cd storage/shared/payload_dumper
$ pip install -r requirements.txt
$ python payload_dumper.py payload.bin
# You will find the dumped payload in /storage/emulated/0/payload_dumper/output
Sources
https://explainshell.com/explain?cmd=sudo+apt-get+update+&&+sudo+apt-get+upgrade
https://github.com/python/cpython
https://packaging.python.org/tutorials/installing-packages/
https://github.com/vm03/payload_dumper
https://termux.com/
https://wiki.termux.com/wiki/Python
https://source.android.com/devices/bootloader/partitions-images
https://wiki.termux.com/wiki/Internal_and_external_storage
Click to expand...
Click to collapse
nd files on your device
$ cd storage/shared/payload_dumper
$ pip install -r requirements.txt
$ python payload_dumper.py payload.bin
# You will find the dumped payload in /storage/emulated/0/payload_dumper/output[/CODE]
[/QUOTE]
Started with this "$ pkg install python -y" but installing process was ending with ... see my screen shot.
ltth said:
Started with this "$ pkg install python -y" but installing process was ending with ... see my screen shot.
Click to expand...
Click to collapse
Seems that the repo isn't hosted by bintray anymore: https://github.com/termux/science-packages/commit/6485c133c539ec20663cf5807a3d1e5db3c8e917
EDIT: I followed the instructions here to change the repo using the termux-change-repo command.
I'm getting the following
cd: storage/shared/payload_dumper: Permission denied
even when no permissions denied on both termux and ternux api.
What am I doing wrong?
Onrplus 9 pro
hello guys, how to downgrade python, what command?
psychoela said:
View attachment 5508737hello guys, how to downgrade python, what command?
Click to expand...
Click to collapse
Download python 3.7
Had the same error
trying to extract boot.img from a rom, getting the following error...
" MutableMapping = collections.MutableMapping
AttributeError: module 'collections' has no attribute 'MutableMapping' "
any way to fix?
Does this still work
SidneyD said:
Seems that the repo isn't hosted by bintray anymore: https://github.com/termux/science-packages/commit/6485c133c539ec20663cf5807a3d1e5db3c8e917
EDIT: I followed the instructions here to change the repo using the termux-change-repo command.
Click to expand...
Click to collapse
Can you share your steps please
This doesn't work!!
Edit:
This working fine. Just figured out the play Store version of termux is outdated.
This is still working as of Jan 2023. A couple of changes need to be made.
- download Termux from F-droid servers instead.
- install openssl-tool in termux (type openssl and follow instructions)
I was able to extract the payload easily.

[RECOVERY] TWRP 3.5.2 | Unihertz Jelly 2

How to install:
Unlock bootloader:
Boot your device into the official OS.
Go to Settings > About phone, tap the "build number" several times to enable developer settings.
Go to Settings > System > Developer Settings, enable OEM unlocking and ADB debugging.
Connect your phone to your PC and open a terminal or a command line window.
Run adb reboot bootloader on your PC (there is no way to enter bootloader directly, only possible through adb).
Once your device has finished booting run fastboot flashing unlock and comfirm unlock on device (THIS WILL WIPE ALL DATA!).
Run fastboot reboot to reboot your device and now you should see an unlocked warning during boot screen.
Disable AVB:
Download vbmeta.img from the latest release page of your device.
Connect your phone to your PC and open a terminal or a command line window.
Run adb reboot bootloader on your PC to put your device in bootloader mode.
Once your device has finished booting run fastboot flash --disable-verification --disable-verity vbmeta vbmeta.img
Then run fastboot flash --disable-verification --disable-verity vbmeta_system vbmeta.img
Also run fastboot flash --disable-verification --disable-verity vbmeta_vendor vbmeta.img
Flash recovery image:
Connect your phone to your PC and open a terminal or a command line window.
Run adb reboot bootloader on your PC to put your device in bootloader mode.
Once your device has finished booting run fastboot erase recovery. For some reason, image may be not actually flashed, even if fastboot reported success (at least over the stock recovery image), so in order make sure that the custom image is always flashed it's better to always erase the partition before flashing. After the erasing run fastboot flash recovery recovery.img
Run fastboot reboot and after the screen goes dark press volume up until you see the TWRP logo. Also you can type fastboot reboot recovery to boot to recovery mode immediately.
Please note that booting in stock ROM will bring stock recovery back.
This recovery image is built using binaries from non-european (TEE) version of Jelly 2. Theoretically it should work on european (EEA). If it won't - contact me, I'll prepare an image based on EEA binaries.
Source code https://github.com/Meetoul/twrp_device_Unihertz_Jelly2
Thanks!
This fantastic!
its work on EEA!
Meetoul said:
Source code https://github.com/Meetoul/twrp_device_Unihertz_Jelly2
Click to expand...
Click to collapse
I just received my Jelly 2. It was on 2020 and I went straight through your files. Your TWRP does not respond on my European Jelly 2. Meaning, the touch screen does not respond. But I connected an USB trackball and switched in between adb sideloads. So I finally got it working.
For some reason during reboot TWRP warns me that there is no OS installed. But LoS 18.1 (yours) booted fine. Also flashed opengapps 2707 nano.
After a reboot (phone is still restoring apps) there is a "serial console is enabled" message "performance is impacted, check bootloader". Any instructions on how to get rid of that?.
I cannot seem to mount system as R/W with GSI image from https://github.com/phhusson/treble_experimentations/releases from within TWRP. I guess that's a more general problem, though
Any ideas?
kkazakov13 said:
I cannot seem to mount system as R/W with GSI image from https://github.com/phhusson/treble_experimentations/releases from within TWRP. I guess that's a more general problem, though
Any ideas?
Click to expand...
Click to collapse
Dave you tried the latest release a suggested by Meetoul?
[ROM] [UNOFFICIAL] Lineage OS 17.1 | Unihertz Jelly 2
https://drive.google.com/drive/u/0/folders/1VSmj_-a1PYNzFWtUfbsDGWg4uIh-Tgkd This ROM is built using binaries from non-european (TEE) version of Jelly 2. Theoretically it should work on european (EEA). If it won't - contact me, I'll prepare ROW...
forum.xda-developers.com
Release Fix gt1151qm touch in recovery · Meetoul/twrp_device_Unihertz_Jelly2_TEE
Recovery image based on new kernel image with patches for both gt1x and gt1151qm touch panel drivers.
github.com
Great Job!
I have Jelly2_JP.
I tried your recovery.img for Jelly2_TEE.
It can boot my Jelly2_JP, and it can enable adb shell, but it looped the splash screen.
But I execute following command in adb shell, twrp starts gui("Keep System Read only?" screen)
Jelly2_TEE:/ # mount -o ro /dev/block/mapper/system /
Touchscreen works fine.
Next, I tried to build twrp for Jelly2_JP using your device tree.
But it has same problem. (It looped the splash screen until I mount system partition.)
Do you have any advice?
Attachments
recovery_tee.log is pulled file from /tmp/recovery.log in your twrp for Jelly2_TEE. Line 1119 is after I mount system partition by adb shell.
recovery_jp.log is pulled file from /tmp/recovery.log in my twrp for Jelly2_JP. Line 1356 is after I mount system partition by adb shell.
My build instructions
$ cd ~/twrp
$ repo init -u https://github.com/minimal-manifest-twrp/platform_manifest_twrp_omni.git -b twrp-10.0
$ vi .repo/local_manifests/roomservice.xml
$ repo sync --force-sync
$ cd device/Unihertz
$ cp -r Jelly2_TEE Jelly2_JP
$ cd Jelly2_JP
$ mv omni_Jelly2_TEE.mk omni_Jelly2_JP.mk
$ grep -l Jelly2_TEE * | xargs sed -i 's/Jelly2_TEE/Jelly2_JP/g'
$ grep -l g55v71c2k_dfl_tee * | xargs sed -i 's/g55v71c2k_dfl_tee/g55v71c2k_dfl_jp_felica/g'
$ ./extract-files.sh ~/stock_jp/extracted
$ unpack_bootimg --boot_img ~/stock_jp/recovery.img --out ~/stock_jp/recovery
$ cp ~/stock_jp/recovery/kernel prebuilt/Image.gz
$ cp ~/stock_jp/recovery/dtb prebuilt/dtb/mt6771.dtb
$ cp ~/stock_jp/recovery/recovery_dtbo prebuilt/dtbo.img
$ cd ~/twrp
$ source build/envsetup.sh
$ lunch omni_Jelly2_JP-eng
$ mka recoveryimage
$ ls out/target/product/Jelly2_JP/recovery/root/vendor
bin etc
$ cp -r vendor/Unihertz/Jelly2_JP/proprietary/reovery/root/vendor out/target/product/Jelly2_JP/recovery/root
$ mka recoveryimage
file upload again.
Sorry, I can't upload Attach files.
I clicked "Attach files" button and choose file.
I clicked "Save" button, but file link did not inserted.
I uploaded recovery.log to github.
How to get vbmeta.img
Three knife said:
How to get vbmeta.img
Click to expand...
Click to collapse
Direct Link
Google Drive: Sign-in
Access Google Drive with a Google account (for personal use) or Google Workspace account (for business use).
drive.google.com
See Also
Jelly 2 firmware made available by Unihertz
A post to let people interested in small Android phones know that the firmware of the Jelly 2 has been made available by Unihertz. Would be great if a LineageOS version of this could be made...
forum.xda-developers.com
Or
[HOWTO] Flash a blank vbmeta
Hey guys, As some of you know samsung made had a bunch of different changes since the release of Android 10. It took me a week to figure it out but it was really simple. I had to do two things: Repatch the the magisk boot image with Preserve AVB...
forum.xda-developers.com
I found the crash point in Jelly2_JP.
The crash point is CHECK() on line 772 of twrp/hardware/interfaces/keymaster/4.0/support/Keymaster.cpp.
C++:
CHECK(error == ErrorCode::OK)
<< "Failed to get HMAC parameters from " << *keymaster << " error " << error;
CHECK() is defined on line 495 of twrp/system/core/base/include/android-base/logging.h
C++:
#define CHECK(x) \
LIKELY((x)) || ABORT_AFTER_LOG_FATAL_EXPR(false) || \
::android::base::LogMessage(__FILE__, __LINE__, ::android::base::DEFAULT, \
::android::base::FATAL, _LOG_TAG_INTERNAL, -1) \
.stream() \
<< "Check failed: " #x << " "
I thought /system/bin/recovery was crashing due to a bug.
But it is not a bug.
/system/bin/recovery is programmed to abort if CHECK() fails.
Next, I compared the results of CHECK().
1. using your recovery.img for Jelly2_TEE.
Code:
$ adb shell
Jelly2_TEE:/ # uname -a
Linux localhost 4.14.141+ #15 SMP PREEMPT Wed May 19 11:04:10 CST 2021 aarch64
Jelly2_TEE:/ # mount -o ro /dev/block/mapper/vendor /vendor
Jelly2_TEE:/ # md5sum /vendor/lib64/libkeymaster4.so
17f162aedb3a9584e51d7f732ebbac7f /vendor/lib64/libkeymaster4.so
Jelly2_TEE:/ # umount /vendor
Jelly2_TEE:/ # md5sum /vendor/lib64/libkeymaster4.so
22ede18944c5f47daf04d699a72717b2 /vendor/lib64/libkeymaster4.so
Jelly2_TEE:/ # logcat -v brief -d -s /system/bin/recovery
E//system/bin/recovery( 324): Failed to get IAshmemDeviceService.
W//system/bin/recovery( 324): [libfs_mgr]Warning: unknown flag: resize
W//system/bin/recovery( 324): [libfs_mgr]Warning: unknown flag: resize
I//system/bin/recovery( 324): [libfs_mgr]Created logical partition product on device /dev/block/dm-0
I//system/bin/recovery( 324): [libfs_mgr]Created logical partition system on device /dev/block/dm-1
I//system/bin/recovery( 324): [libfs_mgr]Created logical partition vendor on device /dev/block/dm-2
W//system/bin/recovery( 324): DM_DEV_STATUS failed for system_image: No such device or address
W//system/bin/recovery( 324): DM_DEV_STATUS failed for vendor_image: No such device or address
W//system/bin/recovery( 324): DM_DEV_STATUS failed for product_image: No such device or address
I//system/bin/recovery( 324): fscrypt_initialize_systemwide_keys
I//system/bin/recovery( 324): List of Keymaster HALs found:
I//system/bin/recovery( 324): Keymaster HAL #1: HardwareKeymasterDevice from TrustKernel SecurityLevel: TRUSTED_ENVIRONMENT HAL: [email protected]::IKeymasterDevice/default
F//system/bin/recovery( 324): Keymaster.cpp:150] Check failed: error == ErrorCode::OK Failed to get HMAC parameters from HardwareKeymasterDevice from TrustKernel SecurityLevel: TRUSTED_ENVIRONMENT HAL: [email protected]::IKeymasterDevice/default error SECURE_HW_COMMUNICATION_FAILED
2. using my recovery.img for Jelly2_JP.
This is built with Jelly2_JP's kernel and /vendor/*.
Code:
$ adb shell
Jelly2_JP:/ # uname -a
Linux localhost 4.14.141+ #5 SMP PREEMPT Wed May 19 12:15:37 CST 2021 aarch64
Jelly2_JP:/ # mount -o ro /dev/block/mapper/vendor /vendor
Jelly2_JP:/ # md5sum /vendor/lib64/libkeymaster4.so
17f162aedb3a9584e51d7f732ebbac7f /vendor/lib64/libkeymaster4.so
Jelly2_JP:/ # umount /vendor
Jelly2_JP:/ # md5sum /vendor/lib64/libkeymaster4.so
17f162aedb3a9584e51d7f732ebbac7f /vendor/lib64/libkeymaster4.so
Jelly2_JP:/ # logcat -v brief -d -s /system/bin/recovery
E//system/bin/recovery( 327): Failed to get IAshmemDeviceService.
W//system/bin/recovery( 327): [libfs_mgr]Warning: unknown flag: resize
W//system/bin/recovery( 327): [libfs_mgr]Warning: unknown flag: resize
I//system/bin/recovery( 327): [libfs_mgr]Created logical partition product on device /dev/block/dm-0
I//system/bin/recovery( 327): [libfs_mgr]Created logical partition system on device /dev/block/dm-1
I//system/bin/recovery( 327): [libfs_mgr]Created logical partition vendor on device /dev/block/dm-2
W//system/bin/recovery( 327): DM_DEV_STATUS failed for system_image: No such device or address
W//system/bin/recovery( 327): DM_DEV_STATUS failed for vendor_image: No such device or address
W//system/bin/recovery( 327): DM_DEV_STATUS failed for product_image: No such device or address
I//system/bin/recovery( 327): fscrypt_initialize_systemwide_keys
I//system/bin/recovery( 327): List of Keymaster HALs found:
I//system/bin/recovery( 327): Keymaster HAL #1: HardwareKeymasterDevice from TrustKernel SecurityLevel: TRUSTED_ENVIRONMENT HAL: [email protected]::IKeymasterDevice/default
F//system/bin/recovery( 327): Keymaster.cpp:150] Check failed: error == ErrorCode::OK Failed to get HMAC parameters from HardwareKeymasterDevice from TrustKernel SecurityLevel: TRUSTED_ENVIRONMENT HAL: [email protected]::IKeymasterDevice/default error SECURE_HW_COMMUNICATION_FAILED
They are same Error code SECURE_HW_COMMUNICATION_FAILED.
Unfortunately, my recovery.img wasn't improved from your recovery.img when used with Jelly2_JP.
I'm sorry for the continuous posting.
I solved the decryption by modifying omni_Jelly2_JP.mk as follows.
Code:
PRODUCT_NAME := omni_Jelly2_JP
PRODUCT_DEVICE := Jelly2_JP
PRODUCT_MODEL := Jelly2_JP
PRODUCT_BOARD := g55v71c2k_dfl_jp_felica
BUILD_FINGERPRINT := "Unihertz/Jelly2_JP/Jelly2_JP:10/QP1A.190711.020/root.20210422.092852:user/release-keys"
PRODUCT_BUILD_PROP_OVERRIDES += \
TARGET_DEVICE=Jelly2_JP \
PRODUCT_NAME=Jelly2_JP \
PRIVATE_BUILD_DESC="Jelly2-user 10 QP1A.190711.020 root.20210422.092852 release-keys"
My mistake was that I only replaced "Jelly2_TEE" with "Jelly2_JP".
I had to replace "Jelly2" with "Jelly2_JP".
Anyway, now I can display the decryption screen.
Next, I tried HOW-TO-PATCH.md.
However, the touch screen does not respond on the patched kernel.
Code:
$ head -n 1 symbl_tee.txt
ffffff81dd680800 T do_undefinstr
$ grep get_boot_mode symbl_tee.txt
ffffff81ddda5b30 T get_boot_mode
$ zcat twrp/device/Unihertz/Jelly2_TEE/prebuilt/Image.gz > Image
$ aarch64-linux-android-objdump -D -b binary -m aarch64 --adjust-vma=0xffffff81dd680000 --start-address=0xffffff81ddda5b30 Image| head
ffffff81ddda5b30: d0009cc8 adrp x8, 0xffffff81df13f000
ffffff81ddda5b34: b947ad09 ldr w9, [x8,#1964]
ffffff81ddda5b38: 7100093f cmp w9, #0x2
I think you are using a different technique to enable the touch screen, because "cmp w9, #0x2" is not patched to "cmp w9, #0x0".
Please teach me your technique after you are not busy with work.
谢谢你,我用的是中国的没有Google Play的版本,按照你的步骤成功了,不过在安装完recovery.img之后,内部存储有可能无法写入,需要在recovery里删除data分区,然后就可以了
Thanks for this!
I flashed this TWRP, then installed AOSP 11, v313 of this GSI: https://github.com/phhusson/treble_experimentations/releases/tag/v313
Things seem good, except:
the battery seems to drain a little quickly
no IR blaster (ZaZa remote does not recognize it)
TWRP cannot decrypt the phone's contents, so I cannot flash gapps.
Is TWRP not able to decrypt because I'm using Android 11 and the TWRP was built for 10?
@karoooo
Sorry for not responding to you, for some reason email notifications from XDA were stopped. Please tell me if you still need patched kernel, I will try to patch it explain you the technique.
zxczxc4 said:
Thanks for this!
I flashed this TWRP, then installed AOSP 11, v313 of this GSI: https://github.com/phhusson/treble_experimentations/releases/tag/v313
Things seem good, except:
the battery seems to drain a little quickly
no IR blaster (ZaZa remote does not recognize it)
TWRP cannot decrypt the phone's contents, so I cannot flash gapps.
Is TWRP not able to decrypt because I'm using Android 11 and the TWRP was built for 10?
Click to expand...
Click to collapse
Actually, data decryption on MTK SoCs is very painful thing. I'm still waiting for stable release of Android 11 from Unihertz, but they are in no hurry...
I know that beta 11 available. Unfortunately, I was not able to update using the official way. The bootloader was locked and the moment of updating, but probably the reason is that it was unlocked before (it possible to relock bootloader using SP Flash Tool). But I manager to fetch zip update package and install it via TWRP After that I even managed to make package for SP Flash Tool based on this package, so I can to flash pure FW without updating and have locked bootloader!
UPD. I see that Unihertz have published Android 11 SW package for SP Flash Tool on their Google Drive! Soon I will try to make recovery based on this package.
@Meetoul
Thank you for your response.
Yes, yes, yes!
I want to know your technique.
Best Regards.
HI.
Summary: FRONT CAMERA not working after Bootloader Unlock
I am using Jelly2_JP (on latest Android 10) and I was wondering,
has anyone has experinced the Front Camera not working after Bootloader Unlock, and possibly the three " --disable-verification --disable-verity" commands?
The stock camera app won't recognize the front camera (not front/back switch button where there should be one), and other apps cant use the front camera either.
I can confirm that the front camera worked before unlocking the bootloader.
Reflashing stock image using SP Flash Tool and relocking Bootlader did not fix the issue.
Is anyone else experiencing the same issue?
karoooo said:
@Meetoul
Thank you for your response.
Yes, yes, yes!
I want to know your technique.
Best Regards.
Click to expand...
Click to collapse
Since Unihertz has released Android 11, I think that there is no sense to work on patching the old kernel.
Btw, now I'm working on TWRP based on Android 11 binaries from the latest FW, but no luck so far, it seems that kernel doesn't even start to boot...
@Meetoul
I wanted to learn your technique so that I could work on my own when Android 11 was released.
If Android 11 is formidable, prioritize working with Android 11.
Unfortunately, Android 11 for Jelly2_JP has not been released yet.
@kendzhi
I unlocked the bootloader with Jelly2_JP, but the front camera is still working.
@karoooo
Thank you for the reply!
May I ask, was your Jelly2_JP shipped before the latest Andorid 10 update (2021051912_g55v71c2k_dfl_jp_felica), meaning did your phone come with the previous Firmware (2020101915_g55v71c2k_dfl_jp_felica)?
I have two Jelly2_JP from Japan which came preshipped with the latest andorid Andorid 10 update (there was no need for OTA update). And in both phones, upon executing "fastboot flashing unlock" (without disableling AVB & without Rooting), the the front camera stopped working (not recognized by the system).
I even went into the Debug/Diagnostic? mode that was in Chinese (Booting by Vol down + Connecting to PC via USB), and peformed a hardware test for the Front Camera and the test froze the phone.
So I'm suspecting that Jelly2_JP that was shipped to Japan with the latest Firmware has some issues with Bootloader Unlocking breaking the Front Cam...

Categories

Resources