Related
Introduction
This is a collection of Tools and Resources for Flashing Mi2(s)(c).
MiFlash4Linux
https://github.com/M1cha/aries-image-builder
Core Recovery Package for MiFlash
This is a small package to Recovery MI2 from any bricked state. It has the following advantages over the official ones from Xiaomi:
They don't flash any ROM, just the core system(bootloaders, modem and recovery)
They are small which means both Download and Installation are faster
It directly installs custom Bootloader and TWRP. That means you easily get your device back to a modded status.
Please follow the official MiFlash guidelines for installation with the following differences:
the DLOAD config is called rawprogram_core.xml
the fastboot script is called flash_core.bat(or flash_core.sh for linux)
there's a script called flash_partition_table_and_core which is a alternative to flash_core.bat/sh.
It can be used to change the partition table.
USE THIS WITH THE CUSTOM BOOTLOADER INSTALLED BY ONE OF THE CORE PACKAGES ONLY. Xiaomi's bootloader will format your whole MMC device. THIS WOULD ERASE YOUR EFS AND YOU CAN'T MAKE CALLS ANYMORE
Changing the partition table
There are multiple packages available:
separated: Xiaomi's original layout with a virtual internal sdcard
separated_single: same as separated but without Dualsystem and bigger system partitions
unified: Xiaomi's new layout with /data/media support
unified_single: same as unified but without Dualsystem and bigger system partitions
unified_single_xiaomi: Xiaomi's version of unified_single
SkiFire13 said:
aries_core_unified_single.zip -> only MIUI > 5.4.x or M1cha's CM12.1 or latest AOSP5 works (only they can see Internal Storage, that now is a virtual sd-card in /data/media/0)
aries_separated_single.zip -> other roms
Click to expand...
Click to collapse
Installation:
Backup all your data(including internal sdcard, and EFS just to be safe)
if you don't use the custom Bootloader yet, flash this package using flash_core.bat/sh first. See the big red warning above for more information
flash the package using flash_partition_table_and_core.bat/sh
boot into recovery(which is TWRP now), recreate the filesystems for all partitions(system,data,cache,sdcard to ext4) in the wipe menu and reinstall your ROM.
Version Information
Bootloader: https://github.com/M1cha/mi2_lk/commits/LA.AF.1.1-02810-8064.0
TWRP: v2.8.7.0
core partitions: aries_images_5.7.16_20150626.0000.4_5.0_cn_a63cddccfa.tgz
Download links for Mobile users:
aries_core_unified_single_xiaomi.zip
aries_core_unified_single.zip
aries_core_unified.zip
aries_core_separated_single.zip
aries_core_separated.zip
XDA:DevDB Information
Flashtools, Tool/Utility for the Xiaomi Mi 2
Contributors
m11kkaa
Source Code: https://github.com/M1cha/aries-image-builder
Version Information
Status: Stable
Created 2015-02-21
Last Updated 2015-07-27
First (as always)
Sent from my A0001
the singleboot packages causes the latest version of CM12 to fail booting because of SELinux enforcing. I'll upload a fixed package asap.
everything has been fixed and is up again.
Pls download everything again(especially MiFlash4Linux if u use that).
i think i will wait util the release of GRUB4Android....
acastrocab said:
i think i will wait util the release of GRUB4Android....
Click to expand...
Click to collapse
the purpose of this thread is not G4A
G4A doesn't allow u to change the partition table. I may publish a simple tool for it though.(so u don't need a computer).
m11kkaa said:
the purpose of this thread is not G4A
G4A doesn't allow u to change the partition table. I may publish a simple tool for it though.(so u don't need a computer).
Click to expand...
Click to collapse
Hey m11kkaa, I'm sorry for the noob question, but where can I download the files for windows? And how should I use them? I can't understand from the OP. Thanks in advantage for your help
MyNameIsKappa said:
Hey m11kkaa, I'm sorry for the noob question, but where can I download the files for windows? And how should I use them? I can't understand from the OP. Thanks in advantage for your help
Click to expand...
Click to collapse
On the top of the page just followed by the title, there is a "Download" tab, you could find the miracle at there ;p
MyNameIsKappa said:
Hey m11kkaa, I'm sorry for the noob question, but where can I download the files for windows? And how should I use them? I can't understand from the OP. Thanks in advantage for your help
Click to expand...
Click to collapse
I can't find the links too, but i saw this link in another thread... http://forum.xda-developers.com/devdb/project/?id=8360#downloads
ancics said:
I can't find the links too, but i saw this link in another thread... http://forum.xda-developers.com/devdb/project/?id=8360#downloads
Click to expand...
Click to collapse
You can see this with a computer only.(Tapatalk doesn't work)
http://puu.sh/gamlY/dd7e4904f9.png
Hey M1cha, thank you! Great job!
I have some issues about the procedure:
1. I am not sure if already had a custom bootloader, so first i'll flash the package flash_core.bat :
- turn on mi2s in fastboot mode
- plug usb, device should appear in miflash(the program should be configured as the photo?)
- and click flash
- reboot phone, enter in fastboot mode again and do the same procedure with flash_partition_table_and_core.bat
Is that right?
It's easy to recreate the ext4 filesystem in TWRP? always used CWM....
m11kkaa said:
You can see this with a computer only.(Tapatalk doesn't work)
http://puu.sh/gamlY/dd7e4904f9.png
Click to expand...
Click to collapse
Oh that's why, I'll download it from a computer, thanks!
Sent from my MI 2S using XDA Free mobile app
@m11kkaa: thnx for the linux tools/scripts, it made my migration from CWM to single-system partition + new bootloader + TWRP easier.
BTW, I just wanted to migrate and keep my current CM11 for the time being. I had to fight a bit with restore from backup because I was not aware of the incompatibility between CWM and TWRP, luckily enough it eventually was sufficient to:
reformat system, data and cache in TWRP
flash the old CWM temporarily and restore boot, system and data
flash TWRP again and make new backups.
Proposal:
It would be good if you can change the heading style of "Installation" in the OP to be the same as e.g "Introduction", because now it looks like part of "Singleboot Partition Layout" section only. It is confusing IMHO.
In my case (i.e. flashing both flash_core.sh and then flash_partition_table_and_core.sh), I had to recreate ext4 FS not only on the system partition in TWRP, but also on the data partition (it could not be mounted and TWRP announced 0 MB size) and eventually also on the cache partition. This seems to contradict the info in OP, part "Singleboot Partition Layout", which mentions that data will be preserved.
@cogano thx for your feedback
it's weird that u had to recreate the filesystems because the positions of these partitions still are the same. I resized system1, modem1 and boot1 to 2KB and system, modem and boot to 2*oldsize-2KB. I checked the offsets and they still are the same.
I have another phone and plan to do the same some time in the next week.
I'll try to avoid the trial&error approach and keep notes between the steps.
P. S. I am quite proficient with Linux administration. However I have to admit that upgrading android devices is usually a risky thing: I would have to read lot of guides - often unclear and confusing - or just give it a go and resolve the problems as they appear. The latter one eventually seems to be faster
cogano said:
I have another phone and plan to do the same some time in the next week.
I'll try to avoid the trial&error approach and keep notes between the steps.
P. S. I am quite proficient with Linux administration. However I have to admit that upgrading android devices is usually a risky thing: I would have to read lot of guides - often unclear and confusing - or just give it a go and resolve the problems as they appear. The latter one eventually seems to be faster
Click to expand...
Click to collapse
thx "parted /dev/block/mmcblk0 p" will help to debug these things.
If you don't have a ROM/Recovery with parted you can reboot to dload from the bootloader which will provide ur whole MMC as a usb drive to your computer.
i didn't see the download tab at first, so i downloaded the whole zip from the github and excuted the ./build.sh in Cygwin. Anyway, it works!
m11kkaa said:
you can reboot to dload from the bootloader which will provide ur whole MMC as a usb drive to your computer.
Click to expand...
Click to collapse
What a great feature!
superiyezi said:
i didn't see the download tab at first, so i downloaded the whole zip from the github and excuted the ./build.sh in Cygwin. Anyway, it works!
Click to expand...
Click to collapse
There's a Download "card" on top.
What are the partitions sizes after flashing the singleboot partition layout?
(My English isn't very practice. If you have any question reading this post, please feel free to ask. I'll try my best to express.)
## 0. Update: 2018/04/16
Some information I got today:
1. OnePlus is doing a repartition in OP5 Open Beta 8 / OP5T Open Beta 6 (or earlier, who knows). It'll split the 1.5GB "last_parti" partition into a 1.0GB "vendor" and a ~500MB "reserve3" partition while booting the system.
2. Yes, the repartition process was done in system, not during OTA in recovery.
3. The official vendor partition is still unused (not formatted). OnePlus will fill it in a future OTA, said their engineer.
4. I think it won't be conflicted with our "homemade" unofficial Treble. I just tested that the stock H2OS/OxygenOS can run on our homemade partition table.
5. It's very easy to undo the unofficial treble. I'll make an undo flashable zip later (through it's unnecessary in this time).
6. Of course, MoKee now (since 20180417) can run on the official partition table too.
==========
The MoKee ROM is now shipping unofficial Treble update for OnePlus 5/5T since 20180411. As the maintainer, I would like to share some information here.
## 1. How is this possible for OP5/5T?
Project Treble requires 2 keys: a standalone /vendor partition, and fully binderized HALs.
In fact, OnePlus have a 1.4GB unused, unformatted partition "sdf6" on OnePlus 3, 3T, 5 and 5T. This partition was possibly left by the ODM company, OPPO. OPPO R11/R11s series have a simular partition layout with OnePlus, and OPPO really did release an OTA update to enable Project Treble for their products.
The other key is binerized HALs. More specifically, the Camera HAL. The good news is, OnePlus recently released OP5 Open Beta 6 and OP5T Open Beta 4, with all fully binerized HALs, including the Camera HAL.
So as these 2 majar problems were solved. Project Treble is possible.
## 2. How did this come true?
To make Project Treble come true for OnePlus 5/5T, these should be done:
1. All vender-specific blobs should be moved to /vendor
2. Some blobs load config files from /system/etc. Just hex-edit them to load from /vendor/etc instead
3. Label and format that unused sdf6 partition as /vendor - this should be automatically done with an OTA script
4. The kernel should mount sdf6 as /vendor as well
## For users - How to enable Treble for OP5/5T?
The most easy way now is, flash the latest MoKee MK81.0 nightly build with latest TWRP (OP5: http://rom.mk/?device=cheeseburger, OP5T: http://rom.mk/?device=dumpling). The updater script will do the job automatically for you.
It's possible to make a flashable zip contains only the kernel and vendor image, without the MoKee system. But I'm busying on some other features. I'll do it later.
Tested fully works with Phh-treble system image, including:
- Audio
- Camera
- Phone & data
- Bluetooth & Wi-Fi
- Fingerprint
## For developers - How to ship Treblize update with my ROM?
(I'm organizing the patch list, I'll updte this section later)
## Can I flash non-Treble ROMs? How to "undo" this change?
You don't need to undo it, I think. For those non-Treble ROMs, including H2OS and OxygenOS, the /vendor partition is invisible. So you can flash back to any other ROMs at any time you want.
This is good news for us, thank you for your hard working!
So, once we flash the Mokee ROM, will we then be able to flash the other treble ROMs like RR and Lineage?
Skeptico said:
So, once we flash the Mokee ROM, will we then be able to flash the other treble ROMs like RR and Lineage?
Click to expand...
Click to collapse
Of course.
Great job!
Any specific instructions to install this or like a normal install ???
Amanpreetsingh said:
Any specific instructions to install this or like a normal install ???
Click to expand...
Click to collapse
Please, read OP message fully
you are awesome, big thank you from every OP5/5t owner
Damn, Oppo enabled Treble but 1+ didn't
What a shame...
Does this mean that the camera quality will be as good as stock on a custom room?
@chenxingyu If we flash Oxygen OS again on the treblized 5/5T, won't it again repartion the device again and create the sdf6 partition again? Just a doubt.
hemant_jeengar said:
@chenxingyu If we flash Oxygen OS again on the treblized 5/5T, won't it again repartion the device again and create the sdf6 partition again? Just a doubt.
Click to expand...
Click to collapse
No, as the normal update packages don't touch that partition. On the other hand, there's no repartitioning involved - the type, filesystem and mount point of /sdf6 are changed.
hemant_jeengar said:
@chenxingyu If we flash Oxygen OS again on the treblized 5/5T, won't it again repartion the device again and create the sdf6 partition again? Just a doubt.
Click to expand...
Click to collapse
No, Oxygen OS doesn't know there's a partition named sdf6.
First of all appreciate your effort for bringing treble support for op5t.. am currently running xxx ROM and decrypted..questions I have is does blu_spark or codeworkx twrp support flashing system image..also if I flash mokee latest update then will it wipe all my internal storage data..also I read no_verity zip doesn't work so when we go back to other non-treble roms then format data is mandatory..am I right..
Can someone who has already installed a treble gsi try and install oneplus camera apk and see what's happens? Or maybe even gcam? Thanks
Jamie_oppo said:
Can someone who has already installed a treble gsi try and install oneplus camera apk and see what's happens? Or maybe even gcam? Thanks
Click to expand...
Click to collapse
Gcam is crashing..tested and confirmed by a user in the group.. thanks
Can someone post a mirror link. For some reason I cant download from the main site, the countdown disappears at 56 seconds.
This is all I see
cubandanger05 said:
Can someone post a mirror link. For some reason I cant download from the main site, the countdown disappears at 56 seconds.
Click to expand...
Click to collapse
Had the same issue, downloading work on internet explorer on PC so maybe Safari on Mac? Give that a shot
BenisMusical said:
Had the same issue, downloading work on internet explorer on PC so maybe Safari on Mac? Give that a shot
Click to expand...
Click to collapse
Tried bunch of different browsers on my phone, desktop mode and all, but nothing, I'm going to have to try on my laptop tonight. Unless someone posts a mirror link.
Not working on the computer at work ?, getting frustrated ?.
I googled a lot but not succeed to find a way to install several rom on my mi 9t phone, have we a way to do that?
any idea friends?
can anyone tell me is it possible or not please?
Hello m-Khadem,
the only tool I know who can do this is called DualBootPatcher.
This tool is no longer in development.
Here's why:
Due to recent changes in Android P, as well as upcoming changes in Android Q, DualBootPatcher is no longer being developed. These two releases change some fundamental assumptions that DBP makes about the host device.
With devices that ship with Android 9.0+, the system-as-root partition layout is mandatory. This means that the system partition includes everything that traditionally went in the boot image's ramdisk. DBP relies on being able to modify the ramdisk to add its binaries as well as some config files that specify the ROM ID and device specific information (eg. partitions). To switch between ROMs, DBP simply flashes the ROM's patched boot image.
With the system-as-root partition layout, most of the files could potentially live on the system partition, but the ROM ID must be stored in the boot image. With some devices, like Google Pixels, a ramdisk can be added back by including it in the boot image and patching the kernel image to ignore the skip_initramfs cmdline option. However, on other devices, like the Samsung Galaxy S10 series, the bootloader will always ignore the ramdisk section in the boot image. Storing the ROM ID in the cmdline field is also not feasible because many devices' bootloaders ignore the whole field.
With the Android Q preview builds, some devices, such as the Google Pixel 3 series, switched to using dm-linear for handling the partition layout of the read-only OS partitions (system, vendor, etc.). With this setup, a single GPT partition is split up and is mapped to device-mapper block devices by a userspace tool. With Android's /init, this is done via the liblp library, which parses the metadata on disk and configures dm-linear. DBP would have to implement something equivalent to this to be able to mount the Android partitions. It currently assumes that the kernel will provide a mountable block device after going throug the uevent device probing phase.
Neither of these changes are impossible to work around, but I have simply lost any interest in doing so. I have not used DBP on my primary devices for a couple of years now. Those interested in continuing development are free to fork the project. Any work that had been done for the 10.0.0 release has been pushed to the 10.0.0-staging branch.
All downloads have been moved to SourceForge at https://sourceforge.net/projects/dualbootpatcher/files/. I will work on splitting out some of the more useful parts of DBP, such as libmbbootimg (boot image parser) and libmbsystrace (syscall injection/modification library), so that they can be used in other projects, but DBP itself will no longer be developed.
Huge thanks to everyone who helped out with this project the past six years!
Click to expand...
Click to collapse
Source : Github
AlexCmb said:
Hello m-Khadem, the only tool I know who can do this is called DualBootPatcher. This tool is no longer in development. Here's why it's no longer possible (and why this is no longer possible at all)):
Source : Github
Click to expand...
Click to collapse
Dear Alex
Thanks for your reply, I saw this thread and unfortunately this solution will not work anymore
What it ain't: it's not a "how-to" manual. There are lots of threads out there that explain how to do things.
What it is: a fairly simple explanation of how things are on this phone written for those who, like me, have come from a phone with no A/B partitions (a far simpler world).
"Toto, I've a feeling we're not in Kansas anymore"The OnePlus 8T is an AB device. This means that a large number (but not all) of its hardware partitions have an A and a B version. The A set of partitions are called slot a, the B set are slot b.
The reason for this is to support seamless over-the-air (OTA) updates. These are updates to the operating system (OS) that can be installed while the phone is being used! Once the update has been installed the phone is rebooted (it automatically switches slots) and comes up on the newly updated version of the OS. If the update fails, the phone will simply revert to the original slot.
To implement this a number of things have changed:
The AB partitions have a currently active/running version (called the active slot) and an inactive version (the inactive slot) where the updates can be written to.
An update module (update_engine) is included in the OS to process the updates. Previously this would have been handled by code running in the recovery partition.
To avoid doubling up on large system partitions (system, system_ext, odm, product, vendor) and to can cater for increases in these partions, these are now carved out dynamically from a large super partition. This allows more effective use of the hardware space.
This has some important implications:
While it looks like you could have two versions of the operating system installed on the phone (one on slot a, one on slot b), this is not in fact the case. And that's because the super partition isn't large enough to hold two sets of system partitions. Just like there's only one version of the data partition, so there's only one version of the super partition (containing the system partitions).
You can write to hardware partitions in bootloader/fastboot mode using fastboot flash <partition> <file>, but you can't use this mode to write a specific file within a partition. And, therefore, you can't use this mode to write to the system partitions because they are files within the super partition. For these, you need to use fastbootd which is part of recovery.
Flashing/installing a ROM using the update engine (as done by System update of OOS or a recovery from LineageOS or TWRP) will alwaysbe written to the inactive slot. So, if you are flashing a custom ROM and want it to use the latest OOS firmware installed on the phone, then you will have to either:
Copy the firmware from the currently active slot to the inactive one, or
Swap slots before you do the install so that it gets installed on what was the active slot containing the correct firmware.
If you are used to using TWRP to backup your system partitions, then the way to do it now is to backup the super partition and not the system, system_ext, odm, product, or vendor partitions.
"It's complicated""Delta variants"Updates (whether Over-the-air (OTA) or from the OnePlus download site) come in two flavours:
Full update: the files for each updated partition contain the full image. These are quite large, typically about 3-4GB.
Delta update: the files contain only the changes to be applied to each partition and can be quite small in size (MB rather than GB).
Since a delta update only contains changes, it is imperative that the update process check that the current partition contains the expected data that will be updated. The update_engine will check that the current partition hash is what the update is expecting. If it isn't, the update will fail.
If a partition has been modified (you have installed Magisk which changes the boot partition, or installed TWRP which changes the recovery partition), then you will have to restore the changed partition back to their original stock version before starting the update process.
That's why it is best practice to take a copy of the stock partition before you modify it.
"Good memories"The 8T came out originally with LPDDR4X memory, but OnePlus then decided to improve it by using LPDDR5 memory. As a result of this change, the xbl and xbl_config partitions now hold different data depending on the type of memory used in the phone. Note: you can find out what type of memory your phone has using:
on OOS 11: getprop ro.boot.ddr_type - 0 means LPDDR4X, 1 means LPDDR5.
on OOS 12 (and later): cat /proc/devinfo/ddr_type - you need to run this as root.
The way this is implemented is by including files for both LPDDR4X (files named xbl, xbl_config) and LPDDR5 (files named xbl_lp5, xbl_config_lp5) in updates/downloads. OnePlus had to make custom changes to update_engine to cater for this. It is only as of 2021-12-22 that a version of TWRP was produced that could handle these files correctly.
"Hitting the books"Google has some great documentation about AB devices. If you are using your phone to read this, make sure you use your browser in desktop mode so that you can see the Google documentation's navigation pane on the left hand side.
A/B (Seamless) System Updates: https://source.android.com/devices/tech/ota/ab
Dynamic Partitions: https://source.android.com/devices/tech/ota/dynamic_partitions
Fastbootd: https://source.android.com/devices/tech/ota/dynamic_partitions/implement#fastbootd and https://source.android.com/devices/bootloader/fastbootd
Virtual A/B Overview: this covers how the system partitions in super get updated and it's fairly complex https://source.android.com/devices/tech/ota/virtual_ab
Thanks Bill. Very helpful and that is why I'm still on OOS for now. I'm sure I am missing something but I have several questions.
1. How is the 8T different from the 8 or 8Pro as far as OOS is concerned? Is it a different OS architecture?
2. When you use another OS like LineageOS, how does it compare to OOS as far as the internals go (super partition, etc.). Is the OS completely different in the way it uses the hardware and the way updates occur?
3. When we refer to firmware what do we actually mean (code designed exactly for the specific harware interface or what)? Does the firmware stay the same for any OS that is used and if so how is that accomplished? Are there certain areas of the system that are not touched by any new OS for that phone except the OEM?
I'm trying to wrap my head around how this phone seems to be so different from even other OP phones.
Thanks John
zzjea said:
Thanks Bill. Very helpful and that is why I'm still on OOS for now. I'm sure I am missing something but I have several questions.
1. How is the 8T different from the 8 or 8Pro as far as OOS is concerned? Is it a different OS architecture?
2. When you use another OS like LineageOS, how does it compare to OOS as far as the internals go (super partition, etc.). Is the OS completely different in the way it uses the hardware and the way updates occur?
3. When we refer to firmware what do we actually mean (code designed exactly for the specific harware interface or what)? Does the firmware stay the same for any OS that is used and if so how is that accomplished? Are there certain areas of the system that are not touched by any new OS for that phone except the OEM?
I'm trying to wrap my head around how this phone seems to be so different from even other OP phones.
Thanks John
Click to expand...
Click to collapse
I am not Bill, but I will still attempt to answer your questions.
1. There are no real difference between OOS for 8T compared to the 8/8 Pro. They all use the same SOC (Snapdragon 865). For the last few OOS updates the changelog has been the same between 8/8Pro and 8T. Only thing that is different compared to the 8/8Pro is that the 8T device can have either LPDDR4X or LPDDR5 ram. While the 8 and 8 Pro only have either of them depending on the model. There are also plenty of unified custom kernels that work for all 3 devices as well.
2. I am no custom rom expert but I think they still handle the super partition and updates in the same way, but it is best to check the thread for the rom and read the update instructions there.
3. The FAQ in this thread should answer your questions. It also contain flashable firmware packages. These packages are extracted from the stock OOS rom and can be used to update firmware if you are on a custom rom https://forum.xda-developers.com/t/firmware-oneplus-8t-kebab-ddr0-ddr1-updated.4299231/
zzjea said:
Thanks Bill. Very helpful and that is why I'm still on OOS for now. I'm sure I am missing something but I have several questions.
1. How is the 8T different from the 8 or 8Pro as far as OOS is concerned? Is it a different OS architecture?
2. When you use another OS like LineageOS, how does it compare to OOS as far as the internals go (super partition, etc.). Is the OS completely different in the way it uses the hardware and the way updates occur?
3. When we refer to firmware what do we actually mean (code designed exactly for the specific harware interface or what)? Does the firmware stay the same for any OS that is used and if so how is that accomplished? Are there certain areas of the system that are not touched by any new OS for that phone except the OEM?
I'm trying to wrap my head around how this phone seems to be so different from even other OP phones.
Thanks John
Click to expand...
Click to collapse
1. I don't know anything about the other OP 8 devices. I'm only interested in the 8T because that's what I have.
2. The hardware determines how the OS must be structured. So all ROMs have to support the A/B structure and dynamic system partitions.
3. I think of Firmware as phone specific software/data related to the underlying vendor-specific hardware components/chip set. It's required by the OS to access the hardware, but is not included in custom ROMs. It's vendor-specific.
BillGoss said:
What it ain't: it's not a "how-to" manual. There are lots of threads out there that explain how to do things.
What it is: a fairly simple explanation of how things are on this phone written for for those who, like me, have come from a phone with no A/B partitions (a far simpler world).
"Toto, I've a feeling we're not in Kansas anymore"The OnePlus 8T is an AB device. This means that a large number (but not all) of its hardware partitions have an A and a B version. The A set of partitions are called slot a, the B set are slot b.
The reason for this is to support seamless over-the-air (OTA) updates. These are updates to the operating system (OS) that can be installed while the phone is being used! Once the update has been installed the phone is rebooted (it automatically switches slots) and comes up on the newly updated version of the OS. If the update fails, the phone will simply revert to the original slot.
To implement this a number of things have changed:
The AB partitions have a currently active/running version (called the active slot) and an inactive version (the inactive slot) where the updates can be written to.
An update module (update_engine) is included in the OS to process the updates. Previously this would have been handled by code running in the recovery partition.
To avoid doubling up on large system partitions (system, system_ext, odm, product, vendor) and to can cater for increases in these partions, these are now carved out dynamically from a large super partition. This allows more effective use of the hardware space.
This has some important implications:
While it looks like you could have two versions of the operating system installed on the phone (one on slot a, one on slot b), this is not in fact the case. And that's because the super partition isn't large enough to hold two sets of system partitions. Just like there's only one version of the data partition, so there's only one version of the super partition (containing the system partitions).
You can write to hardware partitions in bootloader/fastboot mode using fastboot flash <partition> <file>, but you can't use this mode to write a specific file within a partition. And, therefore, you can't use this mode to write to the system partitions because they are files within the super partition. For these, you need to use fastbootd which is part of recovery.
Flashing/installing a ROM using the update engine (as done by System update of OOS or a recovery from LineageOS or TWRP) will alwaysbe written to the inactive slot. So, if you are flashing a custom ROM and want it to use the latest OOS firmware installed on the phone, then you will have to either:
Copy the firmware from the currently active slot to the inactive one, or
Swap slots before you do the install so that it gets installed on what was the active slot containing the correct firmware.
If you are used to using TWRP to backup your system partitions, then the way to do it now is to backup the super partition and not the system, system_ext, odm, product, or vendor partitions.
"It's complicated""Delta variants"Updates (whether Over-the-air (OTA) or from the OnePlus download site) come in two flavours:
Full update: the files for each updated partition contain the full image. These are quite large, typically about 2.8GB.
Delta update: the files contain only the changes to be applied to each partition and can be quite small in size (MB rather than GB).
Since a delta update only contains changes, it is imperative that the update process check that the current partition contains the expected data that will be updated. The update_engine will check that the current partition hash is what the update is expecting. If it isn't, the update will fail.
If a partition has been modified (you have installed Magisk which changes the boot partition, or installed TWRP which changes the recovery partition), then you will have to restore the changed partition back to their original stock version before starting the update process.
That's why it is best practice to take a copy of the stock partition before you modify it.
"Good memories"The 8T came out originally with LPDDR4X memory, but OnePlus then decided to improve it by using LPDDR5 memory. As a result of this change, the xbl and xbl_config partitions now hold different data depending on the type of memory used in the phone. Note: you can find out what type of memory your phone has using getprop ro.boot.ddr_type - 0 means LPDDR4X, 1 means LPDDR5.
The way this is implemented is by including files for both LPDDR4X (files named xbl, xbl_config) and LPDDR5 (files named xbl_lp5, xbl_config_lp5) in updates/downloads. OnePlus had to make custom changes to update_engine to cater for this. It is only as of 2021-12-22 that a version of TWRP was produced that could handle these files correctly.
"Hitting the books"Google has some great documentation about AB devices. If you are using your phone to read this, make sure you use your browser in desktop mode so that you can see the Google documentation's navigation pane on the left hand side.
A/B (Seamless) System Updates: https://source.android.com/devices/tech/ota/ab
Dynamic Partitions: https://source.android.com/devices/tech/ota/dynamic_partitions
Fastbootd: https://source.android.com/devices/tech/ota/dynamic_partitions/implement#fastbootd and https://source.android.com/devices/bootloader/fastbootd
Virtual A/B Overview: this covers how the system partitions in super get updated and it's fairly complex https://source.android.com/devices/tech/ota/virtual_ab
Click to expand...
Click to collapse
Device OnePlus 8 Pro
OOS 11.0.10.10 IN11BA
TWRP 3.6
Root Magisk 23.0
Hello
Hello
I noted in your information above
“If you are used to using TWRP to backup your system partitions, then the way to do it now is to backup the super partition and not the system, system_ext, odm, product, or vendor partitions. »
It is precisely the use of TWRP that I took to back up my old LG or Samsung devices (S7, EDG or Tab 4 tablet)
Before the appearance of "dynamic partitions", there were no questions to ask to make a "Nandroid Backup" of your smartphone.
Now, since the arrival of OOS 10 and 11, things are different.
So here is my question for you:
If I check all the boxes by doing the backup and restore with TWRP (version 3.6.0), will the smartphone return to its general and precise state at the time of the backup? (See attached screenshots from TWRP)
If I understood correctly, TWRP performs a global image (super partition including A and B ) of all partitions at the time of backup, similar to an image of an SSD or HDD with several partitions… That's good that ?
I thank you in advance for your information and explanations and your instructions so that I can perform a "Nandroid Backup" and a possible restoration in complete safety.
Best regards
Jean-Noel
nadnan said:
Device OnePlus 8 Pro
OOS 11.0.10.10 IN11BA
TWRP 3.6
Root Magisk 23.0
Hello
Hello
I noted in your information above
“If you are used to using TWRP to backup your system partitions, then the way to do it now is to backup the super partition and not the system, system_ext, odm, product, or vendor partitions. »
It is precisely the use of TWRP that I took to back up my old LG or Samsung devices (S7, EDG or Tab 4 tablet)
Before the appearance of "dynamic partitions", there were no questions to ask to make a "Nandroid Backup" of your smartphone.
Now, since the arrival of OOS 10 and 11, things are different.
So here is my question for you:
If I check all the boxes by doing the backup and restore with TWRP (version 3.6.0), will the smartphone return to its general and precise state at the time of the backup? (See attached screenshots from TWRP)
If I understood correctly, TWRP performs a global image (super partition including A and B ) of all partitions at the time of backup, similar to an image of an SSD or HDD with several partitions… That's good that ?
I thank you in advance for your information and explanations and your instructions so that I can perform a "Nandroid Backup" and a possible restoration in complete safety.
Best regards
Jean-Noel
Click to expand...
Click to collapse
TWRP does image backups generally, but does file-based backups for data and some others (if I remember correctly, persist and EFS).
The "system" partitions on the OP8T are, as I mentioned, boot, dtbo, and super. This means that a "full" backup like in the "old days" is data plus the "system" partitions.
You could backup the other items in the TWRP backup list, but I'm going to ask you: Why do you want you do that?
BillGoss said:
TWRP does image backups generally, but does file-based backups for data and some others (if I remember correctly, persist and EFS).
The "system" partitions on the OP8T are, as I mentioned, boot, dtbo, and super. This means that a "full" backup like in the "old days" is data plus the "system" partitions.
You could backup the other items in the TWRP backup list, but I'm going to ask you: Why do you want you do that?
Click to expand...
Click to collapse
Hello
Thank you for your feedback.
I have taken note of the three system partitions you indicate.
With devices without a dynamic partition, I was "used" to saving all the data "as a precaution" on an external memory card and I was not limited in storage.
On the OnePlus 8 Pro, I have 256 GB of storage (without an external SD Card) and I could effectively limit the backup to the “Boot”, “DTBO” and “Super (System Syystem_ext product vendor)” partitions that you specify.
But I think that if I want to protect myself from any malfunction of the device after the restoration, it is better that I select all the partitions and then copy to PC the whole TWRP folder created by the " Nandroid”.
I could also buy a USB C / OTG adapter / SD card reader to store the backup…
Do you think I'm wrong?
Thanks again for your advice….
Best regards,
nadnan said:
Hello
Thank you for your feedback.
I have taken note of the three system partitions you indicate.
With devices without a dynamic partition, I was "used" to saving all the data "as a precaution" on an external memory card and I was not limited in storage.
On the OnePlus 8 Pro, I have 256 GB of storage (without an external SD Card) and I could effectively limit the backup to the “Boot”, “DTBO” and “Super (System Syystem_ext product vendor)” partitions that you specify.
But I think that if I want to protect myself from any malfunction of the device after the restoration, it is better that I select all the partitions and then copy to PC the whole TWRP folder created by the " Nandroid”.
I could also buy a USB C / OTG adapter / SD card reader to store the backup…
Do you think I'm wrong?
Thanks again for your advice….
Best regards,
Click to expand...
Click to collapse
Backing up partitions that you don't understand how they are used is rather pointless in my mind.
Restoring a partition that you don't understand how it's used is asking for trouble.
So I would never do that. But this is your phone and you can do whatever you want with it. Though learning more about how your device works and how the various partitions are used is a really good idea.
PS: you say you have an 8 Pro. You do realise that this is an 8T forum and that I'm writing about the 8T, not any other phone?
BillGoss said:
Backing up partitions that you don't understand how they are used is rather pointless in my mind.
Restoring a partition that you don't understand how it's used is asking for trouble.
So I would never do that. But this is your phone and you can do whatever you want with it. Though learning more about how your device works and how the various partitions are used is a really good idea.
PS: you say you have an 8 Pro. You do realise that this is an 8T forum and that I'm writing about the 8T, not any other phone?
Click to expand...
Click to collapse
Thank you for your remarks
Yes, I know about the 8T forum but I got here while researching the web and read that the OOS build is the same for both devices...
On the other hand, I have retained your words to know what each partition was used for and I will also direct my research on this subject.
Thanks again for your availability...
Sincerely...
Very intersting topic, and great explenation so far. I've came from old-school smartphone (Pocophone F1, without A/B partitions) and everything was so simple back then... I was about to switch from ROM to ROM on my brand new OP 8T , but I came into your topic and I realised that's something different. I have to search for some more info, because I'm looking forward to switch to colorOS (Or just other ROM in general. I just like switching and modifying my phone xD), but I'm wondering if, and how can I restore everything to stock, will I loose some widevine, mobile payment etc. I think everything is possible, I just have to make proper research. Anyway thank you again for that very interesting article!
Preface: After trail and error on installing Android GSI ROMs to my TB-X605F, I successfully made it after reading this thread written by @Yahoo Mike, which is also of great significance for my research. Generalizing it to the newer version Android-Installing and the other partition architectures, I finally drew a conclusion on how to install Android S GSI (System-As-Root) on on Smart Tab M10 (TB-X605F).
Credits:
@AndyYan, builder of the GSI images which was used in this project.
@erfanoabdi, developer of MakeMeSar patch.
@phhusson, developer of phh project treble ROMs.
@Yahoo Mike, illuminator of installing GSI on this device.
(Sorted alphabetically)
In this article, I'll introduce the way to install Android S GSI ROMs on the Lenovo Smart Tab M10 (I've only tested it on TB-X605F since I got one at hand. Theoretically, the other tablets in this series, such as TB-X605L should also work). Broadly speaking, this is a generalized method to install all System-As-Root GSI ROMs on this device, but I haven't tested it with the other kinds of ROMs. So, before we start, make a full backup of your device, which'll prevent you from lose all your important data after formatting your device. Also, you'd better to get knowledge of what you're doing and what you're going to do. This project is currently experimental, which means you may brick your device at any time, which is at your own risk.
Here are the steps.
1. Restoring Stock Android Pie Firmware with EDL.
1.1. Download the stock pie firmware from https://mirrors.lolinet.com/firmware/lenovo/Tab_M10/TB-X605F/.
1.2. Assume that you've backed your device up, if not, do it now. Then, reboot it into EDL mode. There're many ways to do it, power it off and press Vol+ and Vol-, connect it with the PC at the same time. If you have TWRP installed in it, you can also get your device into TWRP and press "Reboot->EDL". Or you can reboot it into fastboot mode and use this command:
fastboot reboot edl
Click to expand...
Click to collapse
If your device is unfortunately in "brick" status or your system cannot do such operations for certain reasons, you can open the back case, short these two test points shown in the picture. and connect it with your PC.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
1.3. Flash the firmware into your device via QPST or QComDLoader.
2. Installing TWRP.
2.1. Download the TWRP from https://twrp.me/lenovo/lenovo_X605F.html. Currently, I'm using ver 3.6.0.
2.2. Unlock the bootloader.
2.3. Reboot your device into fastboot, and
fastboot flash recovery path/to/twrp/img
Click to expand...
Click to collapse
2.4. Reboot into TWRP by pressing Vol+, Vol- and Power.
3. Getting Files Prepared.
3.1. We aim to install Android S GSIs on this device, @phhusson's GSIs are a good choice, you can find them at Project Treble GSI images. Currently, I use the LineageOS 19.0 built by @AndyYan as example. I got it here: https://sourceforge.net/projects/andyyan-gsi/files/lineage-19.x/.
IMPORTANT: As we all know, this device use A-only partition architecture and no System-As-Root support, which is originally not supported by Android S. As a result, we're going to patch it to run Android S. As a consequence, when you're chose ROMs, download the ROMs which're ARM64 A/B Vndklite (arm64_bvS-vndklite) to match the patched device.
3.2. Download the System-As-Root patch which makes the device support System-As-Root. This patch called MakeMeSar, made by @erfanoabdi. You can find it here: https://androidfilehost.com/?fid=4349826312261728344. This patch will rewrite your boot partition to support System-As-Root, as a result, all the changes you've applied to the boot partition (such as magisk root or supersu root) will be gone.
3.3. Download the Disable_Dm-Verity. This is a patch to get rid of dm-verity and to disable the Verified Boot, which'll disable force encrypt of userdata partition and prevent the TWRP from being raplaced with the stock recovery. Get it here: https://zackptg5.com/android.php#disverfe.
3.4. Download the modify_phh_gsi.sh made by @Yahoo Mike. On conscious that it has trouble in mounting system when the device was patched to support System-As-Root, I modified the script to support (only) System-As-Root. Get it here: https://github.com/JunASAKA/modify_phh_gsi_sar.
4. Flashing
4.1. Boot into TWRP.
4.2. Format userdata partition and transfer all related files into your device.
4.3. Flash MakeMeSar patch.
4.4. Flash Dm-Verity patch.
4.5. Flash Android GSI ROMs. You can also do this in fastboot mode:
fastboot flash system path/to/gsi/img
Click to expand...
Click to collapse
4.6. Reboot into TWRP again (Simply press Reboot->Recovery in TWRP).
4.7. Resize2fs system and run the modify_phh_gsi_sar.sh in terminal. Firstly, press "Wipe->Advanced Wipe->Select system->Repair or Change File System->Resize File System" in twrp before using the script. Tnen, in the terminal:
sh path/to/modify_phh_gsi_sar.sh
Click to expand...
Click to collapse
4.8. Format userdata partition again to clean up (You can skip this step if you commit no change to userdata partition).
4.9. Reboot to system (In TWRP, press Reboot->System).
5. Your device will boot into the System you flashed if everything goes well. Enjoy !
fin. Here are the screenshots of Lineage OS 19.0 installed.
ps. Known Issues.
1. The system may mistake the tablet for "emulated device".
2. Cannot decrypt userdata even if the Dm-Verity was installed.
Further research is on going.
For other things regarding the GSI ROMs, such as GAPPS and Magisk root, it's strongly recommend to read this thread written by @Yahoo Mike.
浅香ジュン said:
ps. Known Issues.
1. /system_root cannot be mount in TWRP.
2. Cannot decrypt userdata even if the Dm-Verity was installed.
Click to expand...
Click to collapse
Sounds like TWRP will need to be modified for SAR devices.
My first guess is that the fstab needs to be updated to add a mount for /system_root. And the BoardConfig.mk needs some extra entries for the A12 keymaster to work (PLATFORM_VERSION and PLATFORM_VERSION_LAST_STABLE).
If you DM me the fstab from your patched boot.img, I'll build you a modified twrp on the weekend.
Hopefully, we can use the same TWRP for SAR and non-SAR tablets.
After modifing to SAR, any problems using LMSA to restore the tablet back to stock ?
Yahoo Mike said:
Sounds like TWRP will need to be modified for SAR devices.
My first guess is that the fstab needs to be updated to add a mount for /system_root. And the BoardConfig.mk needs some extra entries for the A12 keymaster to work (PLATFORM_VERSION and PLATFORM_VERSION_LAST_STABLE).
If you DM me the fstab from your patched boot.img, I'll build you a modified twrp on the weekend.
Hopefully, we can use the same TWRP for SAR and non-SAR tablets.
Click to expand...
Click to collapse
Well, I think I found the solution to system-mounting. After flashing the system.img, before executing the modify_phh.sh, Go to ”Wipe->Advanced Wipe->Select system->Repair or Change File System->Resize File System”. And then execute the modify_phh.sh. This way, the system can be successfully mount. Just press “mount” in twrp and select system, the /system_root and /system will be mount automatically. Consequently, I think the fstab of TWRP version 3.6.0 is all set and needn’t to be modified, it can automatically detect whether the device is SAR or not.
Yahoo Mike said:
After modifing to SAR, any problems using LMSA to restore the tablet back to stock ?
Click to expand...
Click to collapse
As to restoration, I haven’t try LMSA yet, I always use EDL mode for restoration. But since the MakeMeSAR patch will only make differences to boot partition, I think LMSA should also work, but I haven’t tested it yet.
Additionally, there is another problem that there is “About Emulated Device“ shown in settings main page instead of “About Tablet”. I am wondering why the ROM mistake my tablet for a emulated device? I tried to add
ro.build.characteristics=tablet
Click to expand...
Click to collapse
to build.prop both in vendor and system partition, but it seems to be of no avail.
I am making further researches on that and data partition decryption.
Thanks for your help, I’ll update my post later.
浅香ジュン said:
Well, I think I found the solution to system-mounting. After flashing the system.img, before executing the modify_phh.sh, Go to ”Wipe->Advanced Wipe->Select system->Repair or Change File System->Resize File System”. And then execute the modify_phh.sh. This way, the system can be successfully mount.
Click to expand...
Click to collapse
Resizing in TWRP just runs resize2fs. The script does that. Maybe it's the order the commands are run in? Or maybe the command needs to be run against a different partition for SAR? The script currently only checks for /system.
浅香ジュン said:
Additionally, there is another problem that there is “About Emulated Device“ shown in settings main page instead of “About Tablet”. I am wondering why the ROM mistake my tablet for a emulated device?
Click to expand...
Click to collapse
Is that how MakeMeSAR works? I couldn't find any documentation about it. Unpacking the RAM cpio in MakeMeSAR might hold the answer.
You might also find a hint in the phh GSI or AOSP code. There will be a test that results in "Emulated Device". Whatever the conditions of that test are, they will point you in the right direction.
Yahoo Mike said:
Resizing in TWRP just runs resize2fs. The script does that. Maybe it's the order the commands are run in? Or maybe the command needs to be run against a different partition for SAR? The script currently only checks for /system.
Is that how MakeMeSAR works? I couldn't find any documentation about it. Unpacking the RAM cpio in MakeMeSAR might hold the answer.
You might also find a hint in the phh GSI or AOSP code. There will be a test that results in "Emulated Device". Whatever the conditions of that test are, they will point you in the right direction.
Click to expand...
Click to collapse
Yes, that may helpful to find out more information about SAR in this device, I’ll test the Phh GSI today.
Hi really impressed by the work being done here,always wanted to try out a12 doing it now btw can i use any pixel gsi with this or maybe anyway that the new android 12L gsi works on this tab as it is optimized for large screen devices
FrontMan69 said:
Hi really impressed by the work being done here,always wanted to try out a12 doing it now btw can i use any pixel gsi with this or maybe anyway that the new android 12L gsi works on this tab as it is optimized for large screen devices
Click to expand...
Click to collapse
I think most of the phh-gsi based ROMs, Pixel Experience included, should work fine. As to Android 12L, it’s worth a try!
浅香ジュン said:
I think most of the phh-gsi based ROMs, Pixel Experience included, should work fine. As to Android 12L, it’s worth a try!
Click to expand...
Click to collapse
Thanks! keep up the good work
浅香ジュン said:
I think most of the phh-gsi based ROMs, Pixel Experience included, should work fine. As to Android 12L, it’s worth a try!
Click to expand...
Click to collapse
hi tried the pixelexperience gsis they seem to not flash show not enough storage available
maybe its a device specific restriction
FrontMan69 said:
hi tried the pixelexperience gsis they seem to not flash show not enough storage available
maybe its a device specific restriction
Click to expand...
Click to collapse
Well, that’s because the system partition is not big enough to install pixel experience. But you could try to re-partition the tablet with the “parted”. Just delete the original system partition and create a new one bigger, I used to re-partition my Huawei mobile when installing custom GSIs.
浅香ジュン said:
Well, that’s because the system partition is not big enough to install pixel experience. But you could try to re-partition the tablet with the “parted”. Just delete the original system partition and create a new one bigger, I used to re-partition my Huawei mobile when installing custom GSIs.
Click to expand...
Click to collapse
hi sorry for the ping but i cannot install gapps with los nikgapps installs but play store doesnt show up and bitgapps doesnt install
Update: So far tried Pixel Experience , Octavi,ArrowOS and phh gsis out of all only lineage works no success at install gapps on lineage so far
FrontMan69 said:
Update: So far tried Pixel Experience , Octavi,ArrowOS and phh gsis out of all only lineage works no success at install gapps on lineage so far
Click to expand...
Click to collapse
I'm sorry for hearing that. And according to my experience installing gapps, that's may on account that there is no enough space left in system partition. The best way to solve it is to re-partition the device, which is testing by me. Btw, is there no original gapps installed in Pixel Experience?
浅香ジュン said:
I'm sorry for hearing that. And according to my experience installing gapps, that's may on account that there is no enough space left in system partition. The best way to solve it is to re-partition the device, which is testing by me. Btw, is there no original gapps installed in Pixel Experience?
Click to expand...
Click to collapse
pixel experience doesnt flash saying that there isnt any more storage left in the partition with octavi and arrow i get error 4 in twrp aosp cannot be resized and with los as i said gapps cannot be flashed
I followed the instructions and got vanilla A12 AOSP (squeak) loading.
After boot, is anyone else getting the error message: Android System: there's an internal problem with your device. Contact your manufacturer for details. ?
credstore crashes during init. So that might be causing the error message (?)
As for TWRP, keymaster is crashing. That's why there's no decryption. I'll strace it tomorrow to see if we can get around it.
And I can confirm LMSA restores stock ROM fine after using MakeMeSAR. (BTW, LMSA now uses QFil rather than QComDLoader.)
Yahoo Mike said:
I followed the instructions and got vanilla A12 AOSP (squeak) loading.
After boot, is anyone else getting the error message: Android System: there's an internal problem with your device. Contact your manufacturer for details. ?
credstore crashes during init. So that might be causing the error message (?)
As for TWRP, keymaster is crashing. That's why there's no decryption. I'll strace it tomorrow to see if we can get around it.
And I can confirm LMSA restores stock ROM fine after using MakeMeSAR. (BTW, LMSA now uses QFil rather than QComDLoader.)
Click to expand...
Click to collapse
i tried squeak with go gapps didnt flash also btw big fan mike any working a11 gsis ? also how can i repartition my tablet
Bad news on the TWRP front. There are two issues.
First, the Keymaster key data structure was changed in A12. I can patch TWRP to fix that. Easy!
But the second issue is massive. Keymaster is crashing with "Configure failed" after a KM_ERROR_INVALID_ARGUMENT (-38) error. This is pointing to a version mismatch.
There have been extensive modifications to the TWRP A11 git branch to patch that error. Those modifications have not been made in the A9 branch. Probably because not many people are putting A12 on devices originally released with A8.
We are stuck with stock keymaster blobs from A9. For compatibility reasons, I need to compile TWRP from the A9 branch. It might be possible to use keymaster blobs from a similar A10 device - assuming the kernel needs no modifications. If someone wants to put in the time to get this working, I'm happy to offer you some hints to get you started. You can PR the updates to my github repo. If it works, I'll push them to TWRP gerrit.
Yahoo Mike said:
Bad news on the TWRP front. There are two issues.
First, the Keymaster key data structure was changed in A12. I can patch TWRP to fix that. Easy!
But the second issue is massive. Keymaster is crashing with "Configure failed" after a KM_ERROR_INVALID_ARGUMENT (-38) error. This is pointing to a version mismatch.
There have been extensive modifications to the TWRP A11 git branch to patch that error. Those modifications have not been made in the A9 branch. Probably because not many people are putting A12 on devices originally released with A8.
We are stuck with stock keymaster blobs from A9. For compatibility reasons, I need to compile TWRP from the A9 branch. It might be possible to use keymaster blobs from a similar A10 device - assuming the kernel needs no modifications. If someone wants to put in the time to get this working, I'm happy to offer you some hints to get you started. You can PR the updates to my github repo. If it works, I'll push them to TWRP gerrit.
Click to expand...
Click to collapse
OK, I’ll check it. But I think it seems impossible for me to do that. Anyway, I’ll try my best.
Why can't I use the camera? The camera App stops running when it opens.