OnePlus 8, backup important partitions - OnePlus 8 Questions & Answers

Dear members,
Which partitions have to copy to save backup related to IMEI number, data of modem, bluetooth, fingerprint, and other important system partitions on OnePlus 8 phone? I mean safety before flashing custom ROMs and possibly returning to the factory system Oxygen OS 11 in case of failure.
I am asking for your possible suggestions,
thank you.

OnePlus 8 Pro 256GB Device
OOS 11.0.10.10
TWRP 3.6 installed
Magisk 23.0 installed
Hello
To try to help you, I can tell you what information I was able to recover about backups before flashing roms other than OOS provided OTA by OnePlus.
It is necessary to back up, at least, the following partitions:
- Boot
- DTBO
- Recovery
- Super System (system_ext product vendor system)
These four partitions seem to be essential to operate the device if the custom rom is not suitable.
If you perform a "Nandroid" backup with TWRP, you can, as a precautionary measure, backup all partitions and restore them together as well and you will have an exact reproduction of all files, presentations, settings, apps and their data , etc
It is advisable to remove any password or unlock pattern to unlock the device before performing the backup.
Finally, I found a site that explains the different partitions for Android 11 but the names of these partitions seem not to be quite the same for OOS 11
Overview | Android Open Source Project
source.android.com
I don't know if my information will be useful to you.
I will be interested in what you can learn about this subject of safeguarding.
Best regards,

Thank you for the response and your help.
I have the same device.
It seems that there is also an issue such as the persistent partition, the loss of which may cause problems with the fingerprint unlock function. In the same forum section, users requests this partition after losing it after using the MSM tool.
It is not entirely clear to me which partitions in OnePlus 8 contain the IMEI number, modem data, bluetooth, etc. I found a hint after installing the Partitions Backup by wanam app, where the essential partitions for the backup copies are marked in color.
These are:
- MDM1M9KEFS1, MDM1M9KEFS2, MDM1M9KEFS3, MDM1M9KEFSC, MODEM_A, MODEM_B, MODEMDUMP, MODEMST1, MODEMST2
However, when it comes to a copy of Nandroid from TWRP, they are listed there:
metadata, Data (excl. storage), Boot, EFS, Modem, Persist, Recovery, VBmeta and Super.
There are 2 questions: 1. Which of these partitions to include in the OOS backup 2. What is safer to use: fastboot mode or TWRP?
Best regards

Hello
I am happy to share with you my "meager" knowledge regarding the OnePlus 8 Pro device and TWRP
With my old devices (LG G3, Samsung S7, Edge), I used LineageOS roms a lot because it was a way to have the latest versions of Android, up to the equivalent of Oreo (Android 8)
To perform the backups with TWRP, I selected all the partitions and I also restored all the partitions: I then had a strictly operational and identical device at the time of the backup.
Since buying the OnePlus 8 Pro, in the fall of 2020, I have only installed Magisk, which gives access to the Root of the device and all OTA versions of OxygenOS, up to the current one: 11.0. 10.10
I have available Magisk installation links for rooting and lossless OTA update installations of Magisk.
I hadn't used TWRP because the latest versions weren't suitable for OnePlus 8 and Pro or T series beyond OxygenOS 9.
On the official TWRP website, the links for version 3.6 do not bring a file.
You have to use the XDA link
[TWRP][3.7.0-13][instantnoodle]TWRP for OnePlus 8/8Pro ][OFFICIAL][BETA 3]
TWRP for OnePlus 8 and 8 Pro TWRP is an open source, community project. TWRP development is done by a large support community with many people who are willing to answer questions and help people with their devices either through our IRC...
forum.xda-developers.com
To get to the TWRP file download link in version 3.6
OP8/8PRO TWRP - Browse /beta_builds at SourceForge.net
sourceforge.net
For my part, I downloaded the "twrp-op8-3.6.0_11-infected-b5.img" file which has since been updated to version twrp-op8-3.6.0_11-infected-b7.img ago 10 a.m. as of this writing.
I installed the file as indicated on the thread:
fastboot flash recovery_a twrpname .img
fastboot flash recovery_b twrpname.img
Then, I was able to restart the OnePlus 8 Pro in Recovery mode (rather slow loading) and I then performed my first full “Nandroid” backups by selecting all the boxes (see screenshots)
For the moment, I stopped there: I did not dare to restore these backups, to find out if the device worked in a completely identical way, before launching a custom rom other than the original roms provided by OnePlus: I was unable to find any threads relating to "Nandroid" backups of the OnePlus 8 series.
On the other hand, I never used the MSM tool and I always did the backup/restore with TWRP which I was used to, I never did with fastboot commands, except for installing TWRP 3.6.
Above all, I have never tried to modify the partitions of the devices, old or current. My knowledge is nil in this area, especially with the new “dynamic” scores!!
I've tried app backups with "adb" commands but haven't been able to restore app-related data like I can with the "Swiftbackup" app discussed below.
Finally, so far on the rooted OnePlus 8 Pro, for my app backups, I use the "Swiftbackup" app.
Swift Backup - Apps on Google Play
A simple, fast and smart backup solution for Android smartphones
play.google.com
which works perfectly identical to "Titanium Backup"): this last application has been obsolete for several years and is no longer updated for the latest versions of Android (9 and beyond)
This "Swiftbackup" app performs a backup / restore of all installed apps WITH their data, locally and / or on the cloud, with or without system settings and apps on the condition of having a rooted device.
For my SMS, MMS and call log backups, I use the SMS Backup and Restore application: https://play.google.com/store/apps/details?id=com.riteshsahu.SMSBackupRestore
To tell the truth, I don't really need TWRP but I'm curious and I wanted to see the possibilities brought by TWRP 3.6, only suitable for OxygenOS 11.
This is where my knowledge is that I share with you.
The version of OOS 12 should arrive during the 1st quarter (already released in India) but it will be necessary to wait for the version of TWRP which will be adapted to the latest OS from OnePlus.
I remain of course at your disposal to continue to exchange about TWRP, within the limits of my knowledge!!
Best regards,

Thanks for your message. However, I'm afraid that is not exactly what this thread was about.
Regards

I have an in2017 running on 10.5.22in55cb. Any idea how to root? I tried twrp and that failed. Have not been able to find a boot.img either. Thanks.

Related

[Recovery] Official TWRP for the OnePlus 3 & 3T

Team Win Recovery Project 3.0.4-1 (unreleased)
Notice #1: Please don't wipe your data partition if TWRP cannot decrypt it. Instead, make an effort to gather logs to help solve the issue!
Notice #2: Themes from 3.0.0 to 3.0.3 are incompatible with 3.0.4. Sorry! (small theme engine changes regarding backlight control)
This is a unified build for both the OnePlus 3 and the OnePlus 3T!
WARNING: The OnePlus 3 & 3T stock boot image has dm-verity, which prevents you from booting if you swipe to enable system modifications!
SOLUTION: Follow the full rooting steps below, in order, to allow system modifications without the risk of a boot loop!
WHAT IS TWRP?
Oh come on, you know what it is - don't try to fool me!
In case you're serious, though...
Team Win Recovery Project is a custom recovery for Android devices.
It allows you to back up and restore your data, flash custom ROMs to your device, repair broken file systems, and root your device.
Read more about TWRP here: https://twrp.me/about/
DOWNLOAD
You can find the device page here:
http://teamw.in/devices/oneplusthree.html
Use 3.0.4-1 for now, rather than the builds on twrp.me until an official release happens. You will have problems with 3.0.3 on Nougat!
For now, please download the build from:
https://build.nethunter.com/twrp/oneplus/twrp-3.0.4-1-oneplus3.img
Officially 3.0.4 has not been released yet, but it has critical fixes for this device on Nougat, so please be patient.
There is a download link there, as well as instructions on how to flash it.
You can find up to date fastboot & adb binaries here!
FULL STEPS FOR OBTAINING ROOT
Follow these instructions until someone nice comes along and makes a video from them (without ads):
Extract/install adb & fastboot to your computer.
{
"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"
}
Download TWRP for OnePlus 3 & 3T (oneplus3).
In your ROM, go to Settings -> About device. Tap 7 times on Build number to enable Developer options.
Now go to Settings -> Developer options. (above About device)
You need to enable OEM unlock, otherwise you might end up with boot problems or be unable to flash later on.
Reboot your device into fastboot mode. To do this, select reboot from the power menu and hold the [Volume Up] + [Power] buttons while your device reboots or boots from power off.
Once you're in fastboot mode, you need to unlock your bootloader. To do this, run the command:
fastboot oem unlock
WARNING: Unlocking your bootloader will erase all userdata on the device! Your device will be completely reset to factory defaults!
Once your bootloader is unlocked, you're ready to flash TWRP. To do this, run the command (replacing twrp.img with the actual image name):
fastboot flash recovery twrp.img
Once the image is flashed, you should use your volume keys to navigate to RECOVERY and the press the power key to select it.
At this point, you will reach the screen asking you if you want to allow system modifications.
By swiping right, you will trigger dm-verity, and if you don't follow the next step you will be unable to boot!
If you are going to root your device and follow the rest of these steps, then it is safe to swipe right and enable modifications.
If your device asks for a password to mount internal storage, and your password doesn't work or you haven't set one, see below under known issues for a fix!
If you want to be rooted with SuperSU:
Download the latest SuperSU Stable by Chainfire.
Without exiting TWRP, transfer the SuperSU zip to your device over MTP* and flash it using [Install] in TWRP.
---or (not both) ---
If you want to be rooted with something else or just want a bootable system:
Download the latest dm-verity and forced encryption disabler zip.
Without exiting TWRP, transfer the no-verity-opt-encrypt zip to your device over MTP* and flash it using [Install] in TWRP.
This will also allow you to use [Format Data] to completely disable your encryption if desired.
Go to [Reboot] -> [System].
Wait 2-5 minutes for your device to finish setting itself up. (SuperSU will reboot you a few times)
* MTP, known as Media Transfer Protocol, is the same way you transfer files from your PC to your device when booted into system.
UPDATING TWRP
To update TWRP, simply download the new twrp.img on your phone, then boot into your current TWRP and flash it.
To flash a twrp.img, navigate to [Install] -> [Flash Image] -> select your twrp.img -> [x] Recovery -> Flash!
After that, just use [Reboot] -> [Recovery] to reboot into the updated TWRP.
CHANGES
v3.0.4-1 (build.nethunter.com) - Fix crash when trying to reboot that resulted in TWRP restarting, CAF kernel updates
v3.0.4-0 (build.nethunter.com) - Capability restoration for Nougat, F2FS backport support, EXT4 decryption support
v3.0.3-0 (twrp.me) - Same as 3.0.3-1-rc2. In sync with the OnePlus 3T device tree (3.0.3-1).
v3.0.3-1-rc2 (build.nethunter.com) - Redo the device tree for OOS 4.0, including dynamic encryption support (pull libs from ROM)
FEATURES
MTP support
USB OTG storage support
Hardware Qualcomm-based full-disk encryption support
f2fs file system support (read, write, format, backup & restore)
exFAT file system support (read, write, format)
NTFS file system support (read, write, format)
ADB root
Full SELinux support
Built in android 6.0 tree
Allows OnePlus full OTA flashing
KNOWN ISSUES
F2FS takes a long time to boot, see below.
If your device is taking more than 10 minutes to boot, you probably have a misc flag enabled that disables passing cmdline, see below.
Reboot buttons don't work in TWRP (restarts TWRP) - disable Ask to install TWRP App on settings page, fix on the way. - fixed in 3.0.4-1
WHY AM I STUCK ON THE TWRP SPLASH SCREEN FOR 8 HOURS?
Be patient, wait another 8 hours.
Just kidding, try this while stuck on the loading screen:
adb shell wipe_misc; adb shell reboot recovery
Some devices might somehow get a flag set in misc that tells the bootloader to ignore the android boot image command line.
This results in the kernel not receiving the hardware name (qcom), which then confuses recovery and causes it to wait forever. FOREVER.
Personally, I'd have tried this after 15 minutes.
WHY DOES F2FS MAKE TWRP SO SLOW?
When TWRP boots up or wipes partitions and a few other scenarios, it checks each partition to see how much disk space is used. Ext4 handles disk usage calls quite efficiently and will finish this very fast. F2FS on the other hand is very slow when it comes to checking disk usage. We're unsure why this is. Every file on the F2FS formatted partition adds a little more time, and a device that is 30 GB full could take up to 10 minutes to boot TWRP!
I suggest switching your data partition to ext4 - all the f2fs hype is merely from benchmarks that don't actually represent real world use (ie. you're not writing thousands of files per second)
For someone who doesn't do lots of write access to their data partition, ext4 can actually be advantageous (it has faster access times and reads!)
WHY WON'T MY DATA DECRYPT / WHY IS MY PASSWORD INVALID IN TWRP?
In order for encryption to work in TWRP, it must pull the encryption libraries from your current ROM. It does this during TWRP boot logo. If you have no ROM installed, then it will fall back to the default OxygenOS 4.0.2 encryption libraries included in the TWRP image.
The crypto daemon in recovery will not be able to decrypt unless the version of the encryption key matches the version of the libraries. This is an unusual restriction that was added by OnePlus.
You can usually fix this by simply booting into your ROM and changing your boot up password. You can change it back or remove it if you want immediately after. This will generate a new crypto key which should be compatible when you next enter TWRP.
HOW DO I GET LOGS SO WHEN I COMPLAIN I'M NOT COMPLETELY IGNORED OR SHAMED BY OTHER USERS?
To get logs while in TWRP, you should connect your device to your PC and use adb.
adb pull /tmp/recovery.log
adb exec-out dmesg > dmesg.log
This will create 2 files in the directory your shell is currently in, recovery.log and dmesg.log. You will need to upload these somewhere such as a pastebin or Google Drive. You can also attach it to your XDA post (recommended!)
If you are having an operating system boot issue, you should gather a ramoops log instead. Do this while in TWRP after the failed boot:
adb exec-out "tar c /sys/fs/pstore 2>/dev/null" > pstore.tar
CONTACT & SUPPORT
You can find us on IRC at #twrp on chat.freenode.net.
You can also post in this thread and I will attempt to answer any questions you may have.
SOURCE CODE
TWRP: https://github.com/omnirom/android_bootable_recovery (android-7.1)
Device tree: https://github.com/TeamWin/android_device_oneplus_oneplus3 (android-6.0)
Kernel: https://github.com/jcadduono/android_kernel_oneplus_msm8996 (twrp-7.0)
CONTRIBUTIONS
Gerrit for TWRP: http://gerrit.omnirom.org/
Gerrit for officially supported devices: http://gerrit.twrp.me/
XDA:DevDB Information
Team Win Recovery Project for the OnePlus 3 & 3T, Tool/Utility for the OnePlus 3
Contributors
jcadduono, Team Win
Source Code: https://github.com/jcadduono/android_device_oneplus_oneplus3
Version Information
Status: Stable
Current Stable Version: 3.0.4-1
Stable Release Date: 2017-01-21
Created 2017-01-23
Last Updated 2017-02-07
Reserved
ONEPLUS FULL OTA ZIPS
You can flash these zips in TWRP to update your device or save yourself from a broken or soft-bricked state.
They are official zips distributed by OnePlus.
For the OnePlus 3 only:
OxygenOS 3.2.8: http://s3.amazonaws.com/oxygenos.on...6_OTA_017_all_1611182000_fbe1471194d64b3e.zip
OxygenOS 4.0.0: http://otafsc.h2os.com/patch/amazon...en_16_OTA_035_all_1612310359_e10cadfb2af7.zip
OxygenOS 4.0.1: http://otafsc.h2os.com/patch/amazon...n_16_OTA_037_all_1701041839_aa64b084a40a4.zip
OxygenOS 4.0.2: http://otafsc.h2os.com/patch/amazon...16_OTA_039_all_1701140133_89fcc9baba94e4c.zip
OxygenOS 4.0.3: http://otafsc.h2os.com/patch/amazon...ygen_16_OTA_041_all_1702081756_0f1e56a75f.zip
For the OnePlus 3T only:
OxygenOS 3.5.3: https://s3.amazonaws.com/oxygenos.o...8_OTA_027_all_1611222319_884473ff95304c30.zip
OxygenOS 3.5.4: http://oxygenos.oneplus.net.s3.amaz...8_OTA_029_all_1612131737_17e7161d2b234949.zip
OxygenOS 4.0.0: http://otafsc.h2os.com/patch/amazon...s3TOxygen_28_OTA_035_all_1612310259_2dc0c.zip
OxygenOS 4.0.1: http://otafsc.h2os.com/patch/amazon...ygen_28_OTA_037_all_1701041831_a2ba632ce9.zip
OxygenOS 4.0.2: http://otafsc.h2os.com/patch/amazon...s3TOxygen_28_OTA_039_all_1701140132_400a7.zip
OxygenOS 4.0.3: http://otafsc.h2os.com/patch/amazon...3TOxygen_28_OTA_041_all_1702081824_e3a712.zip
Warning: Do not flash partial update OTAs (under 1 GB) on a modified device! If you want to use partial OTAs, you must first flash a full OTA that it applies to, and then flash the partial OTA from stock recovery. Flashing partial OTAs from TWRP will either fail or soft brick your device. You can return to a usable state by flashing one of the above full OTA zips in recovery.
jcadduono said:
Team Win Recovery Project 3.0.4-0 (unreleased)
Click to expand...
Click to collapse
Nice mate as always.
Pm: you might need yo check the format of the first post, everything is written 3 times. :laugh:
peshellas said:
Nice mate as always.
Pm: you might need yo check the format of the first post, everything is written 3 times. :laugh:
Click to expand...
Click to collapse
Never quote full op, this is spamming.
For 3 times same content, open xda in browser, it's xda app bug.
RohanAJoshi said:
Never quote full op, this is spamming.
For 3 times same content, open xda in browser, it's xda app bug.
Click to expand...
Click to collapse
You re Right mate, i know, i have been here since the very old days, I thought i had deleted ot, and continued, apparently not. Thanks for the tip, didn't know about the bug.
ext4 decrypted fine on OnePlus 3 OOS 4.0.2.
Is flashing twrp-data-fstype-swap-x.x.zip still necessary when switching between f2fs and ext4?
The instructions and the link are not stated in OP anymore.
fbf2201 said:
Is flashing twrp-data-fstype-swap-x.x.zip still necessary when switching between f2fs and ext4?
The instructions and the link are not stated in OP anymore.
Click to expand...
Click to collapse
Both EXT4 and F2FS should work out of the box now.
No flashing needed.
Hello and thanx for the hard job.
I wanted to try a clean install starting from stock, hoping to correct my issue with twrp black screen.
I need your help. Here is what I've done :
- Restore stock with the unbrick tool
- Update to Nougat 7.0 and OOS4.0.2 via oneplus update
- Unlock bootloader
- Flash twrp 3.0.4-0 via fastboot
- Flash no-verity-opt-encrypt-5.0
- Flash RR rom
- Wipe data and Dalvik
- Reboot.
This is the first time it made it to me. It ask me a password when it boot. I saw a lot of post about that, but I can't understand how to solve it.
Can someone help me please ? My phone is OP3T
Hello, thanks for the super-useful tool. TWRP has been my goto recovery for as long as I have been rooting (days of htc-hd2). I am experiencing the following issues with v3.0.2-1 (all my checkpoint backups are in that version).
* Device = op3
* If it helps, this was a OOS 4.0.1 backup. I was trying to restore it because of a 4.0.2 upgrade failure attempt
* restore hangs at 100% after the backup is complete.
* After waiting for nearly 15 mins, I used the power down to restart the phone - i had lost recovery
* tried to re-install recovery. but when twrp boots - it doesn't get to main menu
* Oddly enough op recovery installs and boots into fine. Which is what I am on.
I am currently on stock recovery without root unable to restore backup ups in twrp and in titanium backup
any thoughts?
Is the 3.0.4 version from this link https://build.nethunter.com/twrp/oneplus/twrp-3.0.4-0-oneplus3.img a unified 3/3T version ? or 3 only ?
ScratMan38 said:
Is the 3.0.4 version from this link https://build.nethunter.com/twrp/oneplus/twrp-3.0.4-0-oneplus3.img a unified 3/3T version ? or 3 only ?
Click to expand...
Click to collapse
Its a unified version
ScratMan38 said:
Is the 3.0.4 version from this link https://build.nethunter.com/twrp/oneplus/twrp-3.0.4-0-oneplus3.img a unified 3/3T version ? or 3 only ?
Click to expand...
Click to collapse
I've also download it...But I'm afraid to install because it's not really clear...My device IS OP3T.
cultofluna said:
I've also download it...But I'm afraid to install because it's not really clear...My device IS OP3T.
Click to expand...
Click to collapse
Why don't your read the OP? It clearly says it is so either you can't read or you should stick to stock OOS and never flash anything
cultofluna said:
I've also download it...But I'm afraid to install because it's not really clear...My device IS OP3T.
Click to expand...
Click to collapse
it's unified. even if it says op3 it will work for the 3t. read the op. a lot of 3t stuff baked in. works fine. only issue now is the black screen with LED light when booting into recovery. at least for me
Renosh said:
Why don't your read the OP? It clearly says it is so either you can't read or you should stick to stock OOS and never flash anything
Click to expand...
Click to collapse
Thanks your reply was really helpful:laugh:
the 3.0.4.0 is recommend version or have some problem must need? for now i'm use 3.0.3.1 is good with f2fs data partition, OS version is RR-N-v5.8.0-20170117-oneplus3t-Official, i want to dirty flash update to RR-N-v5.8.0-20170122-oneplus3t-Official, i need update TWRP to 3.0.4.0 first? or i can keep use 3.0.3.1?
Renosh said:
Why don't your read the OP? It clearly says it is so either you can't read or you should stick to stock OOS and never flash anything
Click to expand...
Click to collapse
Abaddon said:
it's unified. even if it says op3 it will work for the 3t. read the op. a lot of 3t stuff baked in. works fine. only issue now is the black screen with LED light when booting into recovery. at least for me
Click to expand...
Click to collapse
There was two links in the OP, one for 3.0.3-1 mentioning "unified", and one for 3.0.4 with only "oneplus3".
As I knew the dev was working on both version and still supplies 3.0.3-1 test releases in Op3T thread that were newer than the 3.0.4 he built ; and as the changelog did not mention the unification for 3.0.4, for sure, OP was not clear at all.
Is this 3.0.3.x or 3.0.4.0 backward compatible with Marshmallow ROMs?
chancex said:
the 3.0.4.0 is recommend version or have some problem must need? for now i'm use 3.0.3.1 is good with f2fs data partition, OS version is RR-N-v5.8.0-20170117-oneplus3t-Official, i want to dirty flash update to RR-N-v5.8.0-20170122-oneplus3t-Official, i need update TWRP to 3.0.4.0 first? or i can keep use 3.0.3.1?
Click to expand...
Click to collapse
You want to update a custom rom which by definition has no issue with dm-integrity (only present in stock boot image), so if you don't have any issue keep your recovery.
It seems though that latest version has a minimized risk of issues with f2fs so why not updating it?
cultofluna said:
Thanks your reply was really helpful[emoji23]
Click to expand...
Click to collapse
He was right, the thread's title says clearly 3 and 3T.

[ROM][UNOFFICIAL][instantnoodle][11] LineageOS 18.1

⚠ This project is no longer maintained. See below. ⚠
You are encouraged to migrate to the official nightly builds (huge thanks to @anishpratheepan and to the LOS team for bringing that up). If you update from an unofficial build, it is highly recommended that you opt-in for build signature check after the flash:
Open Settings
Privacy => Trust
Check "Build signature" at the very bottom
Note that you should be able to update from unofficial to official builds seamlessly, without wiping anything.
-----
{
"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"
}
LineageOS is a free, community built, aftermarket firmware distribution of Android 10, which is designed to increase performance and reliability over stock Android for your device.
LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for LineageOS is available in the LineageOS Github repo. And if you would like to contribute to LineageOS, please visit out Gerrit Code Review. You can also view the Changelog for a full list of changes & features.
Instructions:
Unlock your bootloader
Backup everything, especially the "persist" partition
Make sure you're on a recent version of OxygenOS.
Download the latest build
Run the following commands:
Code:
adb reboot bootloader
fastboot flash recovery recovery.img
fastboot reboot fastboot
fastboot flash boot boot.img
fastboot flash dtbo dtbo.img
fastboot flash odm odm.img
fastboot flash product product.img
fastboot flash system system.img
fastboot flash system_ext system_ext.img
fastboot flash vbmeta vbmeta.img
fastboot flash vbmeta_system vbmeta_system.img
fastboot flash vendor vendor.img
fastboot reboot recovery
Wipe all data from recovery.
(Optional) If you need GApps, NikGApps Core are known to work ("Apply update" => "Update from ADB", and then run adb sideload <NikGapps-xxx-arm64-11-yyy.zip>). Note that other variants than Core can crash.
Reboot.
Downloads:
https://drive.google.com/drive/folders/1V17qsn_wMpwPgJHMhCjfYYmZEPGzPvP2
Known issues:
Displays "Charging slowly" when it's actually not
Build signed with public keys for now
Reporting Bugs:
Make sure the bug you want to report isn't already known
DO NOT Report bugs if you're running a custom kernel or you installed Xposed
Grab a logcat right after the problem has occurred. (Please include at least a few pages of the log, not just the last few lines, unless you know what you're doing.)
If it is a random reboot, grab /proc/last_kmsg. (Do not bother getting a logcat unless you can get it just before the reboot. A logcat after a reboot is useless)
If the problem disappears after running "setenforce 0" from a root shell, grab /data/misc/audit/audit.log
Remember to provide as much info as possible. The more info you provide, the more likely that the bug will be solved. Please also do not report known issues. Any bug not reported in the bug report format below may be ignored.
Code:
What is your--
LineageOS version:
LineageOS Download url:
Gapps version:
Did you--
wipe:
restore with titanium backup:
reboot after having the issue:
Are you using--
a task killer:
a non-stock kernel:
other modifications:
Provide any additional information (observations/frequency of problem/last version it worked on/etc) as needed:
XDA:DevDB Information
[ROM][UNOFFICIAL][instantnoodle][11] LineageOS 18.1, ROM for the OnePlus 8
Contributors
KennyG9, LuK1337
Source Code:
Since February 2021 (based on the official LineageOS device tree):
Device tree: https://github.com/LineageOS/android_device_oneplus_instantnoodle
Kernel: https://github.com/LineageOS/android_kernel_oneplus_sm8250
Proprietary blobs: https://github.com/TheMuppets/proprietary_vendor_oneplus
Before February 2021 (based on LuK1337's work on instantnoodlep with minor adjustments to the device tree):
Device tree: https://gitlab.com/nlr/android_device_oneplus_instantnoodle
Kernel: https://github.com/luk1337/android_kernel_oneplus_sm8250
Proprietary blobs: https://github.com/luk1337/proprietary_vendor_oneplus
ROM OS Version: Android 11
ROM Kernel: Linux 4.x
Version Information
Status: Testing
Created 2021-01-07
Last Updated 2021-02-10
Very cool. Stoked. Can you add link for gapps as I know lineage needs to work properly.
mattie_49 said:
Very cool. Stoked. Can you add link for gapps as I know lineage needs to work properly.
Click to expand...
Click to collapse
I don't have GApps myself and I don't want to flash them on my personal device. I'm fine with adding a link in the original post provided that one or two person can confirm it works and provide instructions. I think NikGApps are the best candidate.
KennyG9 said:
I don't have GApps myself and I don't want to flash them on my personal device. I'm fine with adding a link in the original post provided that one or two person can confirm it works and provide instructions. I think NiksGApps are the best candidate.
Click to expand...
Click to collapse
Fair enough. Thank you for bringing this to the op8 community.
I made an attempt to bundle OpenGApps into the build: https://drive.google.com/file/d/1edechrEwpX5L5SjE6OlsAjRckT-UF69t/view (using https://github.com/opengapps/aosp_build). It bootlooped on my device but I suspect that's because it requires a factory reset which I didn't want to do. Flashing instructions are identical, just make sure you have flashed OOS 11 at some point. If that happens to work for some of you, I'll try to publish both flavors with every release.
KennyG9 said:
I made an attempt to bundle OpenGApps into the build: https://drive.google.com/file/d/1edechrEwpX5L5SjE6OlsAjRckT-UF69t/view (using https://github.com/opengapps/aosp_build). It bootlooped on my device but I suspect that's because it requires a factory reset which I didn't want to do. Flashing instructions are identical, just make sure you have flashed OOS 11 at some point. If that happens to work for some of you, I'll try to publish both flavors with every release.
Click to expand...
Click to collapse
"Flash OOS 11 at some point"
What about upgrading from 17.1 ?
Also - Why no OOS 10 - 18.1?
mobile_sensei said:
"Flash OOS 11 at some point"
What about upgrading from 17.1 ?
Also - Why no OOS 10 - 18.1?
Click to expand...
Click to collapse
LOS builds only contain a few subset of all the partitions that exist on the OP8 (system, boot, product, dtbo, and some others). The OP8 also contains a lot of other proprietary partitions (ABL, AOP, bluetooth, modem, etc…) that only the manufacturer is able to provide updates for. As far as I understand, those blobs must also be updated to be able to run Android 11 without issues. If you don't update them, it'll likely bootloop or refuse to boot and it's not recommended anyways.
I'm not sure upgrading from 17.1 to 18.1 without wiping is even possible, but if you want to give it a shot, I think your best bet is to extract all the proprietary images from a recent OOS build, then flash them and flash LOS 18.1 over that. You may avoid the annoying MSM step, but my bet is that you'll have to wipe anyways if you want to boot, so I strongly advise that your backup all your data and apps before. In deeper details, you need to :
- get a recent and official OOS 11 build from here : https://www.oneplus.com/support/softwareupgrade/details?code=PM1586920535300
- extract the payload.bin from the image using a tool like this one : https://github.com/LineageOS/scripts/blob/master/update-payload-extractor/extract.py
- reboot to bootloader (adb reboot bootloader)
- flash the stock recovery you just extracted (fastboot flash recovery recovery.img)
- reboot into stock fastboot (fastboot reboot fastboot)
- flash all the blobs you just extracted (fastboot flash abl abl.img && fastboot flash aop aop.img && fastboot flash bluetooth bluetooth.img && ………)
- follow LOS 18.1 flashing instructions from the first post
mobile_sensei said:
"Flash OOS 11 at some point"
What about upgrading from 17.1 ?
Also - Why no OOS 10 - 18.1?
Click to expand...
Click to collapse
Yes I agree here.
I and need step by step exact instructions how to flash any rom here.
I am not even gonna try to flash this rom because I know my device is gonna end up at the Qualcomm dump mode.
I can't get anything booted if I flash anything coming from OOS11, don't ask because I have no idea why.
The only way to get my device booting stock rom at this point is to flash stock rom in EDL mode with the msm tool
[OP8][OOS 21AA/BA/DA] Unbrick tool to restore your device to OxygenOS
Disclaimer: By attempting any of the processes listed in this thread you accept full responsibility for your actions. I will not be held responsible if your device stops working, catches fire, or turns into a hipster and claims to have been...
forum.xda-developers.com
My device is OnePlus 8 5G - 12GB/256GB Interstellar Glow- Firmware : Firmware: OxygenOS - GE / EN / FR / ES
IN2010
Inspected 2020.06.18
As TWRP isn't working completely is there way to do the equivalent full system backup with all partitions without TWRP perhaps via fastboot? Because I know I'm not gonna be able to flash a rom its gonna be the same story over and over again setting up the same stock rom over again ..it gets old.
Because custom software for OnePlus 8 is not at the stage of flash and forget I think a unified toolkit in a zip is needed.
It can be separate or bundled with each rom release and regularly updated that I can extract and cd into, and run the fastboot commands from to help making flashing roms and debug as accurate as we possibly can starting with all of us using the same exact toolkit to begin with.
Driver used
Developer framework ie fastboot, adb executable
Payload dumper
Readme File
Bat/sh file for automation
perhaps payload/img files
bundled with rom Gapps with dev, flavor and release because this seem to be subject to not booting
This would make sure everyone is 100% following the same exact instructions making debugging much easier, in this case it seem like gapps one piece of the puzzle possibly preventing rom from booting, in my case I'm can't even make it to square one getting stuck at Qualcomm dump mode..
Spoiler
KennyG9 said:
LOS builds only contain a few subset of all the partitions that exist on the OP8 (system, boot, product, dtbo, and some others). The OP8 also contains a lot of other proprietary partitions (ABL, AOP, bluetooth, modem, etc…) that only the manufacturer is able to provide updates for. As far as I understand, those blobs must also be updated to be able to run Android 11 without issues. If you don't update them, it'll likely bootloop or refuse to boot and it's not recommended anyways. I'm not sure upgrading from 17.1 to 18.1 without wiping is even possible, but if you want to give it a shot, I think your best bet is to extract all the proprietary images from a recent OOS build, then flash them and flash LOS 18.1 over that. You may avoid the annoying MSM step, but my bet is that you'll have to wipe anyways if you want to boot, so I strongly advise that your backup all your data and apps before. In deeper details, you need to : - get a recent and official OOS 11 build from here : https://www.oneplus.com/support/softwareupgrade/details?code=PM1586920535300 - extract the payload.bin from the image using a tool like this one : https://github.com/LineageOS/scripts/blob/master/update-payload-extractor/extract.py - reboot to bootloader (adb reboot bootloader) - flash the stock recovery you just extracted (fastboot flash recovery recovery.img) - reboot into stock fastboot (fastboot reboot fastboot) - flash all the blobs you just extracted (fastboot flash abl abl.img && fastboot flash aop aop.img && fastboot flash bluetooth bluetooth.img && ………) - follow LOS 18.1 flashing instructions from the first post
Click to expand...
Click to collapse
Good information, I didn't finish my reply during breakfast and noticed you wrote one more.
The only thing I am not comfortable with is that there are links to tools that I have to download from the internet.
Its one factor subject to being sourced from random google searches.
Like the fastboot binary from xda although old doesn't work on op8, I found out the hard way and I am now downloading this directly from Android developer page.
But a lot of headache could be eliminated trying to figure out where and which binaries should be used, what work and what does not.
Is fastboot/adb bundle too old or driver not installed?
Did all of us follow the exact same installation steps in detail the rom developer did?
I hope you understand.
This device has been the most problematic I've ever dealt with
SUPERUSER said:
Yes I agree here.
I and need step by step exact instructions how to flash any rom here.
I am not even gonna try to flash this rom because I know my device is gonna end up at the Qualcomm dump mode.
I can't get anything booted if I flash anything coming from OOS11, don't ask because I have no idea why.
The only way to get my device booting stock rom at this point is to flash stock rom in EDL mode with the msm tool
[OP8][OOS 21AA/BA/DA] Unbrick tool to restore your device to OxygenOS
Disclaimer: By attempting any of the processes listed in this thread you accept full responsibility for your actions. I will not be held responsible if your device stops working, catches fire, or turns into a hipster and claims to have been...
forum.xda-developers.com
My device is OnePlus 8 5G - 12GB/256GB Interstellar Glow- Firmware : Firmware: OxygenOS - GE / EN / FR / ES
IN2010
Inspected 2020.06.18
As TWRP isn't working completely is there way to do the equivalent full system backup with all partitions without TWRP perhaps via fastboot? Because I know I'm not gonna be able to flash a rom its gonna be the same story over and over again setting up the same stock rom over again ..it gets old.
Because custom software for OnePlus 8 is not at the stage of flash and forget I think a unified toolkit in a zip is needed.
It can be separate or bundled with each rom release and regularly updated that I can extract and cd into, and run the fastboot commands from to help making flashing roms and debug as accurate as we possibly can starting with all of us using the same exact toolkit to begin with.
Driver used
Developer framework ie fastboot, adb executable
Payload dumper
Readme File
Bat/sh file for automation
perhaps payload/img files
bundled with rom Gapps with dev, flavor and release because this seem to be subject to not booting
This would make sure everyone is 100% following the same exact instructions making debugging much easier, in this case it seem like gapps one piece of the puzzle possibly preventing rom from booting, in my case I'm can't even make it to square one getting stuck at Qualcomm dump mode..
Good information, I didn't finish my reply during breakfast and noticed you wrote one more.
The only thing I am not comfortable with is that there are links to tools that I have to download from the internet.
Its one factor subject to being sourced from random google searches.
Like the fastboot binary from xda although old doesn't work on op8, I found out the hard way and I am now downloading this directly from Android developer page.
But a lot of headache could be eliminated trying to figure out where and which binaries should be used, what work and what does not.
Is fastboot/adb bundle too old or driver not installed?
Did all of us follow the exact same installation steps in detail the rom developer did?
I hope you understand.
This device has been the most problematic I've ever dealt with
Click to expand...
Click to collapse
I don't have a definitive answer to everything, but here are some remarks:
- Not sure what exactly your problems were and I'm unaware of any way to backup partitions using fastboot unfortunately. As far as I know, it was not possible to restore nandroid backups using mauronofrio's TWRP on Android 10 either. I think the best you can achieve for now is software and data backup (using "adb pull" and "OAndBackup+" or something else). I can also attest that I had way more weird partitioning issues when using TWRP than LOS' fastboot. Since I stopped using TWRP, I never had to use MSM again.
- What you may attempt to reduce the risk of bricking your device is to take advantage of the A/B partitioning. You can flash everything on the unused slot and switch back to the working slot if anything goes wrong. This can be done by running "fastboot getvar current-slot" to get the current slot, then "fastboot --set-active=a" to switch to slot a (or "fastboot --set-active=b" to switch to slot b, depending on which slot was active).
- I second your reluctance on using tools coming from untrusted sources. Please, don't get fastboot/adb from XDA, use the official Android builds. I can't help you regarding the drivers as I use Linux which ships with drivers, but if you use Windows try to get those drivers from either Microsoft, OnePlus or Qualcomm directly. My instructions to avoid flashing Android 11 with MSM makes you use an official image from OnePlus (which you have to trust anyways) + an open-source tool that's made by LOS developers (which you have to trust anyways). At this point, I think the weakest point of trust if you don't want to build LOS yourself is me.
- Regardless of what you attempt, always make sure you have backups of your valuable data, apps and persist partition. Especially given how capricious this device is .
working great so far. any way to re-enable the 90Hz refresh rate?
edit: found it in display options!
LuK1337 said:
OP8 is no longer supported so RIP.
Click to expand...
Click to collapse
New flash method for both 8p and 8t does not allow to use it on instantnoodle, migrated yesterday from there to this build and it's working perfect with NikGapps-core and Magisk, great job @KennyG9
any way to get the OP camera app working? tried several versions available on APKMirror, but all seem to crash. maybe there are some dependencies?
Does OnePlus 8 tmobile version work with dual sim on this rom?
veridiam said:
any way to get the OP camera app working? tried several versions available on APKMirror, but all seem to crash. maybe there are some dependencies?
Click to expand...
Click to collapse
There's a lot of proprietary software/firmware (apart from the camera apk itself) that its not included in LOS. There have been some ports in the past (e.g. OnePlus6 OOS Camera port or oxy-ify) but all of them seem dead, maybe because google camera port working out of the box.
Creating a magisk module should be doable, but you need to start the app, let it crash and add the missing dep N times until you have all of them
@LuK1337 , please accept pull request: https://github.com/luk1337/android_kernel_oneplus_sm8250/pull/1
Running great. I would mention that only nikgapps core works. The rest for me ended in a crash whilst setting up.
passion8059 said:
Running great. I would mention that only nikgapps core works. The rest for me ended in a crash whilst setting up.
Click to expand...
Click to collapse
Thanks, just updated first post to mention that.
KennyG9 said:
Thanks, just updated first post to mention that.
Click to expand...
Click to collapse
Would you be able to look into face unlock? Handy feature for me especially at work.
passion8059 said:
Would you be able to look into face unlock? Handy feature for me especially at work.
Click to expand...
Click to collapse
Face unlock is an OxygenOS feature and I don't think AOSP or LineageOS supports something like that officially as it's quite terrible security-wise. GApps also dropped support for face unlock in Android 10 because of security concerns. So unless I'm missing something it probably won't happen anytime soon unless through some third-party module, sorry. It's not just about porting some blobs, it's a whole new OS feature.
Is WiFi calling and LTE calling working?

Android Terminology You Must Know Before Toying with Your Android

Firmware & ROM​Firmware is the skeleton of ROM, kinda tells ROM what to do, when to do, how to do. So, they refer to the firmware of the phone as ROM, because in theory you, as a normal user, can't alter the area where the firmware is (it's in the Read Only Memory). On older phone, this was true, it wasn't easy to alter a phone software without special equipment. In nowadays, the firmware is not stored in real ROM, it's stored in the internal flash memory of the phone, which is not Read Only, so you can flash another firmware. The 2 terms are interchangeable. In general, people refer to modified firmware's as ROMs.
Again the ROM on the phone contains the phone's firmware. By replacing the firmware, the ROM of the phone is useless and if you flash a new firmware, the new firmware has complete control over it, which is why the two terms are seen as synonymous.
DRM & WIDEVINE SECURITY:​DRM = Digital Rights Management, googles security for paid streaming service, divided into L1,L2,L3 SECURITY LEVEL. If your device has widevine security level L1, you can stream netflix, amazon tv etc in full HD, if L3, you can only in 480p or 540p.
Widevine CDM (content decryption module)
Widevine Media Optimizer (typically when Widevine is both the protection and content player)
if you want to check widevine security of your phone, download DRM INFO APP.
WHERE WIDEVINE SECURITY IS STORED:
PERSIST.IMG contains widevine security information. Once widevine L1 security is lost, there is little possibility of getting it back. You might get it back if you have taken your persist.img backup, that's why, in my MIUI Unlocking Bootloader, Flashing Recovery & Rooting Process thread, I put utter importance taking the persist.img partition backup. Persist also contains your sensor information, like bluetooth, wifi etc.
How do you loose it: By rolling back your android version. Never do it. If you do it, you may break your sensors, in that case, you may fix them by flashing the persist.img of your device, hope you took the backup of it, if you don't , you may flash the persist.img of same device model of other person's device but you will loose your WIDEVINE SECURITY LEVEL L1 forever. My suggestion, never roll back.
TERMINOLOGIES:​gApps = Google Apps
SuperSU = another rooting app like Magisk. With simpler interface & no root hiding opportunity.
DTO = Device Tree Overlays (DTOs)
OEM = Original Equipment Manufacturer. (such as, MIUI is a OEM skin/ROM)
OEM Skin = like MIUI luncher, notification toggle like this. Custom OEM skin: customizing them using others skin.
Slot Services = it refers to partition related services in recovery mood.
Treble ROM = Treble supported rom supports ota(over the air) (in simple terms : System Updates)
non-Treble ROM = While non treble roms doesnt support ota.
BB = most probably BASEBAND
GMS, API, AOSP & PRE-LOADED APPS:​GOOGLE MOBILE SERVICES (GMS) is a collection of proprietary applications and APPLICATION PROGRAMMING INTERFACES (APIs) services from Google. GMS is used by manufacturers of Android devices, such as smartphones, tablets, and smart TVs. GMS are the Android Applications developed by Google for manufacturers of Android that often come pre−installed on Android devices. GMS is not a part of the ANDROID OPEN SOURCE PROJECT(AOSP), which means an Android manufacturer needs to obtain a license from Google in order to legally pre−install GMS on an Android device. This license is provided by Google without any license fees. GMS consists of two parts; a popular bundle package and an other bundle package. In order to gain a license for GMS, the popular bundle package needs to be pre−installed by Android device manufactures, which are usually called PRE-LOADED APPS.
What is force encryption?​Encryption is the process of encoding all user data on an Android device using symmetric encryption keys. Encryption ensures that even if an unauthorized party tries to access the data, they won't be able to read it. Android has two methods for device encryption: file-based encryption and full-disk encryption.
What is Dmverify?​Android verified boot: As dm-verity is a kernel feature, in order for the integrity protection it provides to be effective, the kernel which the device boots needs to be trusted. On Android, this means verifying the boot partition, which also includes the root file system RAM disk and the verity public key.
What is DM-Verity?​Android 4.4 and higher supports Verified Boot through the optional DEVICE-MAPPER-VERITY (dm-verity) kernel feature, which provides transparent integrity checking of block devices. dm-verity helps prevent persistent rootkits that can hold onto root privileges and compromise devices.
What is DM-verity and force encryption disabler?​Many Android ROMs have become more and more secure. Many devices have been equipped with new system security mechanism to protect any advanced modification to the system itself. One of the known mechanism is Device Mapper Verity, also known as dm-verity. This security mechanism is basically developed to help prevent persistent rootkits that can hold onto root privileges and compromise devices. Most of the recent Android devices need to do a verified boot through the optional dm-verity kernel. This is sure can prevent malware to hide from detection programs and otherwise mask themselves. Unfortunately, for advanced Android users, it can be troublesome to a certain extent because it prevents the device to boot properly once custom recovery like TWRP is flashed. Previously, in order to flash TWRP on a device protected with dm-verity feature, you’ll need to first cook your own ROM modifying original ROM to disable dm-verity in its kernel. This could be so arduous for novice users. Luckily, there is a patch-like package allows you to disable dm-verity and forced encryption feature. Download the package from the link below and flash it from TWRP. (Force disabler may not be different for every phone, maybe same) Article Link
What does Vbmeta do?
The vbmeta image is cryptographically signed and contains verification data (e.g. cryptographic digests) for verifying boot. The vbmeta image can also contain references to other partitions where verification data is stored as well as a public key indicating who should sign the verification data. Also Check this link you are interested.
Dirty flashing v/s clean flashing | What's the difference, also what is OTA Update: (CLEAN FLASH AFTER ERROR)​Almost every android geek has heard about "flashing" a custom ROM on their device. And digging a bit deeper reveals that flashing also has two types. "clean" flashing and "dirty flashing" But what's the difference and which one should you choose? To find out, read ahead.
The difference
A clean flash is what you do when, you install a ROM after wiping all your device partitions (System, data, ART/Davlik, and cache)
A dirty flash is done when you flash a ROM over an existing one, without erasing the system partition. (at times, only the ART partition is erased). A dirty flash keeps system data from the previous ROM. If the ROMs are not compatible with each other, you'll run into problems. A flash of rom over existing rom without wipe is known as dirty flash, generally followed for nightly or daily builds. You also need a set of gapps with backup script to survive dirty flash.
Dirty Flash = Flashing over current ROM
Clean Flash = Wiping EVERYTHING to make way for a new ROM.
Dirty flash - wipe cache and dalvik, flash ROM and gapps
Clean flash - wipe cache, dalvik, data and system, flash ROM and gapps
What should you choose?
It isn't quite difficult to choose. It depends on the similarity between the ROM you have and the ROM you want to install. If you're installing a completely different one than the one you have (like Touchwiz to Cyanogenmod or Lineage to AOSP) you better go for a clean flash.If you're updating your ROM (from the source provided by the developer of the original ROM), a dirty flash would work, although you should check what the developers says about changing and updating.
Risks
Although flashing comes with it's own risks, going dirty is a lot more unsafe than doing a clean flash. A clean flash removes everything giving the ROM enough room to be installed, minimizing chances of bricking. Whereas, a dirty flash is a lot more likely to brick your device, and if it gets hard bricked.. you don't have any option other than going to the nearest authorized service center and getting your phone fixed. Basically, if you do a clean flash where you can go dirty, nothing will go wrong. But if you go dirty where you're supposed to do a clean flash, you'll end up with a non functional device.
OTA UPDATE:
OTA = OVER THE AIR UPDATE. For example, you are updating from eu rom 12.5 to 12.6. It may not require clean flash, you just dirty flash the rom because it's basically a version update of the same ROM. Your phones auto update or MIUI update is an OTA update. An over-the-air (OTA) update is the wireless delivery of new software, firmware, or other data to mobile devices. Wireless carriers and original equipment manufacturers (OEMs) typically use over-the-air updates to deploy firmware and configure phones for use on their networks over Wi-Fi or mobile broadband. The initialization of a newly purchased phone, for example, requires an over-the-air update. With the rise of smartphones, tablets and internet of things (IoT) devices, carriers and manufacturers have turned to different over-the-air update architecture methods for deploying new operating systems (OSes) to these devices.
Clean Flash : if your device has problem, is not booting, rom is not opening, passward is asking but after entering password, it's not working, all this problem has this clean flash solution. Go to wipe, do a "Fomat Data". advance wipe of system & others is not necessary. Then , flash your new rom. (may use backup rom of your previous working/stable rom).
Disk Quota:​A disk quota is a limit set by a system administrator that restricts certain aspects of file system usage on modern operating systems. The function of using disk quotas is to allocate limited disk space in a reasonable way. "This quota feature also improves system stability by preventing any single app from using more than 90% of disk space or 50% of inodes."
fstab:​In Android 9 and lower, devices can specify fstab entries for early mounted partitions using device tree overlays (DTOs). In Android 10 and higher, devices must specify fstab entries for early mounted partitions using an fstab file in the first stage ramdisk. logical indicates that this is a dynamic partition.
STILL THIRSTY? WANT TO KNOW MORE ? READ THIS THREAD IN XDA​
My Other Threads according to "how should you read them" serial:
1. MIUI 12.5 Chinese ROM Google PlayStore Stopped Working
2. MIUI Unlocking Bootloader, Flashing Recovery & Rooting Process
3. Android Terminology You Must Know Before Toying with Your Android (This Thread)
4. ROM Naming & CUSTOM ROM, AOSP ROM, TREBLE ROM, GSI ROM, PORTED ROM
@shafi1885 Thanks very much for your great terminology guide that is really appreciated. However, I've removed the link to Telegram from your OP.
As an excemption from the last bullet of rule no. 5 of the XDA Forum Rules, we grant only developers the privilege to provide links to their social media in their own development threads. These conditions obviously don't apply to you or your thread.
Stay safe and stay healthy!
Regards
Oswald Boelcke
Senior Moderator

Development [Experimental] Unofficial TWRP for Lenovo TB-Q706F (P12/Xiaoxin Pad Pro 12.6)

C:
#include <std/disclaimer.h>
/*
* I am not responsible for bricked devices, dead SD cards, thermonuclear
* war, or the current economic crisis caused by you following these
* directions. YOU are choosing to make these modifications, and
* if you point your finger at me for messing up your device, I will
* laugh at you.
*/
This is mostly based on Ungeskriptet's work on TB-J716F. Many thanks to his work. Additionally thanks to the devs of twrpdtgen utility which is very useful for obtaining some very helpful information about the device from a stock recovery image.
The recovery is currently flashable and functional. You may refer to the flashing guide for J716F to flash the recovery on this device as the procedure is the same.
The following stuffs were tested working: Decryption (A11 only), Backup, Wiping, Touch, Fastbootd, MicroSD card.
Other functionalities should behave similar to TB-J716F TWRP.
Not working stuffs: Vibration, busybox (haven't really checked but should be similar to TB-J716F).
Device tree: twrp_device_lenovo_Q706F
UPDATE (Jan 14, 2023): Updated builds of TWRP 3.7.0 for Android 11 (A11) and 12 (A12).
twrp-Q706F-A11-3.7.0-r2: This is for Android 11 GSIs. Can only reliably decrypt Android 11 /data partitions.
twrp-Q706F-A12-3.7.0-r2: This is for Android 12 GSIs. CANNOT decrypt Android 11 /data partitions. Need further testing for Android 12 /data partitions.
Neither build can decrypt Android 13 /data at the moment. If security is not a concern for your use case, you may consider using a tool such as DFE-NEO to disable force encryption of /data. This will enable TWRP to access your /data partition under all circumstances and will save you the hassle of having to back up the entire /data partition when going back and forth between different GSIs.
The updated build contains many more options that can be backed up in case needed. Additionally, some parameters necessary for decrypting A12 /data has been added. Unfortunately, from current feedbacks, it seems decryption is only possible if not using any lock (PIN, Pattern, or Password). Also, with these parameters, it is now possible to make A12 TWRP determine the lock type of A11 /data partition, but it cannot be decrypted even with the correct credential provided.
EXPERIMENTAL: I've added a nuclear option for /data backup, the "Data Image" option. This will back up your /data partition as a whole regardless of its content. You need a large enough external SD card for this option to work, as TWRP's "Enable Compression" doesn't appear to do anything for emmc backups.
!! WARNING !! - Before backing up the entire /data partition, BE SURE TO REMOVE ANY SCREEN LOCK, as after restore, while your system will boot, YOUR CREDENTIALS MAY NOT BE ACCEPTED ANYMORE! YOU WILL LOSE ACCESS TO YOUR USER FILES.
The resulted backup would depend on the size of your internal storage. In my case, the data partition was about 230GB in size, and the whole backup process as well as digest creation took about 2.5 hours in total.
Backing up of the entire /data partition is still experimental, and make sure to check that you're backing up to an external storage if you checked the "Data Image" option!
Spoiler: Old Changelogs
Apr 9, 2022: A second version has been uploaded, using blobs from TB-Q706Z_S212073_220222_ROW. The recovery's decryption mechanism appears to work okay. Haven't tested other stuffs but I don't think there would be too much difference compared to the initial build, which was based on PRC blobs.
Still using the Q706F product name. Not sure if the same recovery can be used as-is on a Q706Z (5G variant).
UPDATE (Jul 7, 2022): I'm uploading two new builds. Both builds can now mount the MicroSD card.
UPDATE (Dec 3, 2022): I've made two builds of TWRP 3.7.0 for Android 11 (A11) and 12 (A12).
twrp-recovery-Q706F-A11-3.7.0-r1: This is for Android 11 GSIs. Can decrypt Android 11 /data partitions. Decryption of Android 12 /data is unlikely.
twrp-recovery-Q706F-A12-3.7.0-r1: This is for Android 12 GSIs. CANNOT decrypt Android 11 /data partitions.
TESTING NEEDED (A12): As of TWRP 3.7.0, support for decryption of Android 12 /data is considered formal and should in theory work in most cases. I'm still using Android 11 GSI so I cannot test this myself, so users who are on Android 12 GSIs can test whether it's possible to decrypt your Android 12 /data partitions with the A12 build.
Spoiler: Development Notes
The recovery kernel and the vendor libraries I used for the device tree were dumped from my own device when I first started experimenting with phh-AOSP GSI, though I think files from the ROW image should also work on all devices. My device was on ZUI 13.0.437_211106 PRC at that time, but I'm using ROW kernel and vendor now since they work correctly on GSI.
Some main issues encountered during porting:
- Touchscreen input was rotated by default, that I have to add some configuration parameters to correct it.
- Decryption didn't work initially. Apparently Q706F used some different parameters compared to J716F according to fstab.qcom from my device's vendor image.
In overall, Q706F is not too much different from J716F as they use the same SoC and most of the internal configurations are identical between the two (so very few changes were made to the configuration files during porting).
I currently don't use MicroSD card on this device at the moment, but from what I saw in the recovery, it doesn't appear to expose /dev/block/mmcblk* like most devices, even after I inserted one. I'm not sure where I should use to access the SD card device.
UPDATE (Jul 7, 2022): It seems the tablet does expose the MicroSD card as /dev/block/mmcblk0p1, and I could already mount it via command line using default options to begin with. As a result, adding formal MicroSD card support turned out to be easier than I thought.
UPDATE (Jan 14, 2023): Everyone has been very helpful. Looks like twrp.flags is the right place to add partitions meant to be backed up. In order to make backups as complete as possible, a lot of partitions have been added thanks to everyone's effort.
Great to see some development many thanks.
I tried to flash gapps_full_11.0 downloaded from https://opengapps.org/,but it says partition space is insufficient , and I have already build a full aosp11_r48 system.img along with allocating about 4000M capacity to system partition. Weird
ZTE AXON 7 said:
I tried to flash gapps_full_11.0 downloaded from https://opengapps.org/,but it says partition space is insufficient , and I have already build a full aosp11_r48 system.img along with allocating about 4000M capacity to system partition. Weird
Click to expand...
Click to collapse
Are you using a non-vndklite GSI? It's not trivial to mount system r/w with such GSI. You need vndklite GSI for that, or simply grab a bgN variant (g denotes gapps included).
Wait... which ROM are you using exactly? AOSP11 r48? I don't recall seeing any ROM development for this tablet.
Actually I built aosp for my lenovo tablet p12 pro
{
"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"
}
ZTE AXON 7 said:
Actually I built aosp for my lenovo tablet p12 pro View attachment 5504739
Click to expand...
Click to collapse
Will you be publicly releasing this ones it's all working?
Dang I just stumbled onto this, didn't realize someone had already put in the work to get twrp, but I have already updated my p12 to the latest build. Any chance of updating decryption to the most current build? I assume this will be the last android 11 build while they work on 12L. I personally won't ever be updating this device to 12 due to the major stepbackwards in ui google is taking so having a final twrp on the last 11 build would be great.
DaConcho said:
Dang I just stumbled onto this, didn't realize someone had already put in the work to get twrp, but I have already updated my p12 to the latest build. Any chance of updating decryption to the most current build? I assume this will be the last android 11 build while they work on 12L. I personally won't ever be updating this device to 12 due to the major stepbackwards in ui google is taking so having a final twrp on the last 11 build would be great.
Click to expand...
Click to collapse
Sorry for a late response. Which build are you currently on?
I'm not sure how decryption works with updates but things are indeed more complicated after taking encrypted /data into consideration.
Maybe I can consider tailoring the TWRP tree against a newer ROW build when I have time, but I won't be able to do in-depth tests myself as the current build configuration on my device is quite stable that I don't want to change it in the near future.
A second version has been released using TB-Q706Z_S212073_220222_ROW blobs.
It decrypts my /data just fine, as I'm currently using Android 11 GSI. Looks like the vendor or other components don't really matter for decryption as long as the system is still on Android 11.
Simply put, until TWRP formally supports Android 12, it's not possible for TWRP to decrypt /data partitions created by Android 12.
I am actually still on TB-Q706F_S212017_211231_ROW. OTA doesn't play nice after rooting so haven't had a chance to update yet but I will so I can give it a spin.
LSS4181 said:
A second version has been released using TB-Q706Z_S212073_220222_ROW blobs.
It decrypts my /data just fine, as I'm currently using Android 11 GSI. Looks like the vendor or other components don't really matter for decryption as long as the system is still on Android 11.
Simply put, until TWRP formally supports Android 12, it's not possible for TWRP to decrypt /data partitions created by Android 12.
Click to expand...
Click to collapse
Just curious how does the stylus play with a GSI? does all the pen funcionality work ok?
DaConcho said:
Just curious how does the stylus play with a GSI? does all the pen funcionality work ok?
Click to expand...
Click to collapse
You can just pair the Precision Pen through Bluetooth.
I'm not sure about vendor-specific features, but basic functionality (as a pointer device) should work okay.
LSS4181 said:
A second version has been released using TB-Q706Z_S212073_220222_ROW blobs.
It decrypts my /data just fine, as I'm currently using Android 11 GSI. Looks like the vendor or other components don't really matter for decryption as long as the system is still on Android 11.
Simply put, until TWRP formally supports Android 12, it's not possible for TWRP to decrypt /data partitions created by Android 12.
Click to expand...
Click to collapse
Just updated to the latest build and flashed the V2 of twrp. I am getting stuck on the TWRP splash screen after booting to recovery
Disregard, just reflashed Magisk and gave it a minute and its solid now. Thanks for building!
Worked great on the US version of the P12 Pro. To unlock the bootloader on the US version all that was needed was "fastboot flashing unlock" which brought up the unlock bootloader prompt. Flashed magisk without issue.
Worked great on the XiaoXin Pad with ZUI.
What I did:
Full backup (all part-s)
Full restore
Restore only super.
Flashing modified RW super (due to unsucceful flashing modified RW super via fastboot) via Install -- Install img
Full backup using OTG USB disk.
All this working beautiful. Many thanks to creator!
Added two new builds. One for Android 11, the other is a testing one for Android 12. SD card should be working now.
I only tested the Android 12 one briefly without flashing. It seems the Android 12 build cannot decrypt my Android 11 /data partition, and is a bit bigger in size compared to the Android 11 one. Only the Android 11 build decrypts my /data at the moment, and I've successfully flashed it into my device.
Need someone who's on Android 12 GSI to test whether it's possible to decrypt Android 12 /data. However, according to the README of the minimal TWRP manifest's A12.1 branch, that decryption is still WIP and may only work when screen locks (password/PIN/pattern) are disabled.
TWRP v3 for A11 works with SD cards, tested on ZUI.
SD card has exFAT file system.
Many thanks to the author from me.
TWRP for A12 is not working with A12 Global firmware (TB-Q706F_USR_S410033_2208041209_Q00050_ROW)
The tablet stuck on Lenovo logo.
Can you try to fix this ?
Works for rooting Lenovo P12 Pro with magisk
Android: 12
Model: TB-Q706F
Build #: TB-Q706F_S410033_220804_ROW
Software Version: TB-Q706F_RF01_220804
Decryption of /data doesn't work, SD card mounting doesn't work in TWRP, works fine once booted.
Edit:
make sure to disable automatic software updates in the updates section and disable applying updates on reboot in the developer settings. Otherwise you might end up semi-bricked (black screen on boot) if it tries to update on it's own, and the only way to fix it is to restore the stock recovery and factory reset and start over.
A late update. I've put up two TWRP 3.7.0 builds. One for Android 11 and the other for Android 12.
Added some more partitions that could be backed up. Many thanks to @f1tm0t for the changes.
I also updated the vendor blobs in the Android 12 build to TB-Q706F_USR_S410033_2208041209_Q00050_ROW just in case, but from the looks of it the vendor of this more recent stock FW still says Android 11, despite the system image is indeed Android 12, so this change may not be immediately necessary.
Need Android 12 users to test whether decryption works now, as since TWRP 3.7.0 support for decrypting Android 12 /data partitions is now formal.

How To Guide [OUTDATED - PLEASE USE UNOFFICIAL LINEAGEOS INSTEAD] Installing a GSI on Samsung M12/A12.

I am deleting this guide since M12 will soon recieve an unofficial build of LineageOS 19.1. Don't ask when, as I'm not the lead developer but I helped with it
Update 1: I figured out how to make script run on boot. Instructions revised. If you followed earlier check them again
Update 2: Magisk 24.1 is now stable. Instructions revised.
Update 3: I contacted phh and he implemented the script inside his trebleapp. Instructions revised and modified trebleapp is attached. NOTE: GSIs newer than 7/Feb/2022 will include this workaround by default.
Update 4: This guide is now unnecessary now that unofficial LineageOS is very close to release
Achievement unlocked: flashed GSI with FBE enabled! ​
{
"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"
}
In short, I've successfully done flashing of @phhusson's latest version of Android 12 GSI (which is v402 as of today). To do this, I needed to modify the multidisabler script so it won't disable FBE, format the userdata using the stock recovery, flash TWRP, resize tmpfs to proper size, push GSI image into tmpfs and flash it using TWRP. I used the securized image with vndklite variant, since there was no securized images for regular vndk releases (but it seemed that vndk was working better for me, at least I have no USB connection anymore where with VNDK I was able to have USB debugging). Maybe I'll try re-flashing it once I'll patch the regular images and securize them (since I'm on *nix, I can just mount them and modify their contents) and take an approach of finding how Samsung ROMs are working OK. For now, I need to take a break from all bootloops I had in the process of FBE flashing .
Anyway, the goal of this experiment was to use GSI ROMs as a daily driver and having FBE disabled could otherwise cause a serious problem on device loss.
So, onto the list what's been tested (that wasn't noted before):
Screen locking – it seems that the workaround for the screen is not applied before unlocking the phone, probably because the app is not running yet. This might work with the script used as postfs module.
EDIT: I've found some notes in the Magisk documentation that both post-fs data and late_start services are run after data is decrypted, which basically means applying this workaround using Magisk seems to be pointless for now (maybe not after PPH app will stop providing the workaround)... Probably the best option would be patching the ROM itself, either with flashable ZIPs or directly before flashing it (most GSIs can be mounted under Linux and tweaked).
Adaptive brightness – not working, since all virtual sensors are not working for now. Might be easy to fix through as I've found some stuff in the official ROM that I had an idea to experiment with putting them into GSIs (as a Magisk module, to avoid a breakage).
USB – as I said, a data transfer via USB is not working for me for some reason. It worked for me once I had VNDK Android 12 GSI installed (same version).
Booting with stock kernel – I had some successful attempts doing that, but it further was a cause of a bootloop, at least once I had installed Magisk. Therefore, I'll recommend patching the Magisk the way as in tutorial (after patching the kernel) to have everything working for now.
For people who wants to play with stock images but don't know how: you can use simg2img, lpunpack and Linux to extract and mount the official ROM image in approach of finding there some tips like in initrc services why some stuff is working fine on Samsung while it doesn't on GSIs. Maybe I would tinker with it a bit, trying to export a few services and libraries in an approach to create a Magisk module with all stuff needed to have a fully functional GSI, but I'm tired of modding for now, especially when this is my first Samsung phone I had to deal with.
Edit: Typo fixes, added additional text formatting.
Amazing work. If you need testers feel free to PM me. As a sidenote, poking in sysfs led me to believe that android is sending the info needed to read the proximity but the kernel is sending garbage which gets interpreted as the sensor not being triggered. Also phh should have added the workaround into his trebleapp starting from phh AOSP 12 v401, so aside from installing magisk no post install workarounds should be needed.
Attached is a photo of what cmd_result reads when a whatsapp voice message is played which reads proximity to play the message in the earpiece and turn screen off when proximity is triggered
ap4ss3rby said:
Also phh should have added the workaround into his trebleapp starting from phh AOSP 12 v401, so aside from installing magisk no post install workarounds should be needed.
Click to expand...
Click to collapse
Unfortunately, the commit was reverted as of master branch, so we should prepare for it to stop to work unless phh will work on it before releasing an another version. Also I wrote that the workaround didn't seem to apply itself before unlocking the phone (FBE encrypted) the first time and therefore decrypting sensitive data after boot. For now this makes it an requirement when using PHH app to unlock the phone before it sleeps so the touch is going to be responsive.
Anyway, it seems that even Magisk (v24.1) is not capable of running the services before data is decrypted, so now I have no idea how to bypass that in other way than patching the ROM itself and creating the `initrc` service... Anyway, this is also a hint that what samsung is doing starts before basically everything, so no APK file nor script is going to really fix it since they are meant to start after data is decrypted...
SB3P said:
Unfortunately, the commit was reverted as of master repo, so we should prepare for it to stop to work unless phh will work on it before releasing an another version. Also I wrote that the workaround didn't seem to apply itself before unlocking the phone (FBE encrypted) the first time and therefore decrypting sensitive data after boot. For now this makes it an requirement when using PHH app to unlock the phone before it sleeps so the touch is going to be responsive.
Anyway, it seems that even Magisk (v24.1) is not capable of running the services before data is decrypted, so now I have no idea how to bypass that in other way than patching the ROM itself and creating the `initrc` service... Anyway, this is also a hint that what samsung is doing starts before basically everything, so no APK file nor script is going to really fix it since they are meant to start after data is decrypted...
Click to expand...
Click to collapse
I guess for now we have two options:
A: Build custom kernel/vendor specifically for GSIs that correctly reports sensors as GSIs expect them to
B: Fix GSI issues through Magisk services implementing various workarounds in scripts. (an example is the touchscreen sleep/wake issue)
ap4ss3rby said:
Attached is a photo of what cmd_result reads when a whatsapp voice message is played which reads proximity to play the message in the earpiece and turn screen off when proximity is triggered
Click to expand...
Click to collapse
Also that's interesting those virtual sensors are still present, I personally thought that Samsung made it the way there's an virtual device create as on Linux and there's their proprietary software running somewhere in the system that uses the camera as an input and calculates it to provide the data... On the other hand, when I think about that logic, even some (if not all) virtual devices on Linux (e.g. v4l2loopback) needs to have their module loaded with the kernel to work. I'm glad at least there's no need to reinvent the wheel and no one really needs to recreate the entire algorithm for it if it's going to be in the kernel sources...
ap4ss3rby said:
I guess for now we have two options (...)
Click to expand...
Click to collapse
I feel like the B option is worse than patching the GSI ROMs, either via flashable ZIPs or on your own... This is because I couldn't find anything in docs that would let me run services before /data is going to be decrypted... Personally, I've made myself a such service using the statically-compiled Linux ARM binary (non-NDK, using GNU libs – yes, it is still runnable on Android as well) – it applies the workaround for now both when screen is turned on and off (I had no idea on which event it should really run, so I made it to run on both just to be safe) by watching the file changes based on (AFAIK) filesystem events – so it has a major advantage over your script, as it won't run in endless loop, yet watch the file responsible for brightness to change and then do its job. But even with that, TSP doesn't seem to make touch available immediately and it is still expected to be revived after 1-2 seconds.
Also, as of the methods of applying these workarounds, the other way could be modifying the ramdisk (maybe with the help of Magisk, which I believe has documented how it's actually doing it itself and how others could modify the root and init as Magisk does to load files before the OS will properly initalize itself. Yet I don't like an idea of messing myself with the boot partition, at least for now...
Debug info: I tried flashing stock to grab logs from the touchscreen driver. The logs attached here do not appear at all on an unpatched GSI (I.E flashing the GSI as is without any touch workaround).
ap4ss3rby said:
Hi, I installed LineageOS 18.1 GSI on my M127F. I want to share my guide to installing this GSI.
Code:
DISCLAIMER:
By following this guide you accept that you
may do irreversible damage to your phone.
If something breaks the responsibility is
yours only. If you want stable software that
is guaranteed to work 100% don't follow
this guide.
I assume you are running a fully stock system and and locked bootloader and firmware U3/U4.
Installing TWRP and custom kernel
Enable Developer Options by tapping on software information > build number 7 times
Enter developer options then toggle OEM Unlocking on.
Power off your phone.
Hold Vol Up + Vol Down then plug in your phone to enter download mode
THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY. Follow on screen instructions to unlock your bootloader. THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY
After this you want to download and install attached Orangefox recovery using odin. After odin is done flashing enter recovery
Format data (not wipe) in recovery
Enter terminal and type multidisabler twice
Reboot to system and verify that under security encryption is disabled
Download TWRP and custom kernel for your phone
Reboot into recovery and locate the downloaded twrp image
Select recovery.
Reboot into recovery
Install kernel, then wipe cache and reboot. You should now see that it is complaining about some internal issue. This is normal.
Installing the GSI
Download your favorite ROM from the list provided below. You want to install an arm64 a/b image.
Extract the image file
Reboot to recovery.
Select install then install image
Locate the GSI image
Select install system
After that is done return to recovery and select factory reset.
Reboot then do setup (if applicable) then download attached magisk and phh trebleapp. If your phone is stuck on bootanimation check under to fix it.
IMPORTANT: DO NOT LET THE SCREEN TURN OFF OR YOU WILL HAVE TO REBOOT TO MAKE TOUCH WORK AGAIN.
Install attached magisk
Open magisk and click on install then direct install
Download and install the attached phh-treble app apk.
Touch should now work. Enjoy your GSI.
Extras
Magisk 24.1
Open Magisk
Go to settings
Update Magisk Manager app to version 24.1
Relaunch Magisk then install magisk
Choose direct instal
Migrating to patched trebleapp
Download and install attached trebleapp
Open your root file manager
go to /data/adb/service.d
Delete the script you added earlier
Tips in case things don't work
In case after rebooting to the GSI the phone bootloops:
Download stock image from wherever you download your firmware (I use a python program called samloader)
Extract the AP of the downloaded firmware
Find userdata.img.lz4 and create a .tar archive only containing this file
Reboot to download mode
In odin select AP then locate the newly created .tar archive Then click on flash
Reboot
Continue from step 7 under the "Installing the GSI" portion of the guide
To revive the touchscreen using ADB:
In case you didn't grant adb root access but installed magisk, run adb shell then su. A root access for the app shell will appear. Grant root permission
Plug in phone to a computer with ADB
adb shell
su
cat /sys/class/sec/tsp/cmd_result
echo check_connection > /sys/class/sec/tsp/cmd
What works:
Boots
RIL
Fingerprint
Main rear camera
Front camera
Sleep/Wake (workaround in steps above, may need to sleep wake several times before it works)
WiFi
Flashlight
Rotation
Magisk 24
90Hz (M12 only. A12 doesn't have 90Hz refresh rate)
LineageOS 18.1
LineageOS 19
CAOS (GApps variant available)
phh AOSP 11 v313
phh AOSP 12 v400h
Untested
GPS
Flashing GApps. (I use fdroid and aurora store on LineageOS and CAOS has built in GApps)
USB-OTG
A127F
M127G
If I didn't list it under broken or working I didn't try it or forgot to test it.
Broken
Double tap to wake. Touchscreen turns off and I have no idea how to keep it alive while lcd is off
MTP
Virtual Proximity. Screen will stay on in phone calls and WhatsApp will always play voice messages through speaker
Flashlight brightness. Flashlight will always stay on weakest brightness with no way to adjust.
Adaptive refresh. The framerate you set in phh addons is what you get. Be prepared for slightly reduced battery.
You tell me (even though I probably don't have the solution)
Bugs
You may need to wait a little bit before touchscreen responds or sleep/wake several times before screen responds after turning the screen off
Credits
@physwizz for kernel, TWRP and orangefox
@phhusson for implementing workaround in trebleapp as well as GSI list
me for touch workaround
Links
Kernels and recoveries: https://t.me/a127f_res/113
GSIs: https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-list
Click to expand...
Click to collapse
Great guide.
Well done
Thanks for the great guide. Unfortunately, I don't know how to resize tmpfs. Can anybody tell me how to do that? I only have 4 GB or less on my Samsung Galaxy A12 with 64 GB of Storage (it should have, it only shows something like 3 or 4 gigabytes like I mentioned)
matahbeyz said:
Thanks for the great guide. Unfortunately, I don't know how to resize tmpfs. Can anybody tell me how to do that? I only have 4 GB or less on my Samsung Galaxy A12 with 64 GB of Storage (it should have, it only shows something like 3 or 4 gigabytes like I mentioned)
Click to expand...
Click to collapse
You don't have to resize TMPFS if you don't want to have FBE encryption or have the external SD card (you can use microSD for flashing, which might be a better choice if you need to flash a larger devices). Also you can't resize TMPFS to 64 GB, it uses your RAM to store regular data instead of storage (this is basically the concept of TMPFS). What I was mentioning is that /data won't work under FBE and custom recoveries for now, so you need to use your RAM instead if you don't have any external storage device to save images somewhere via ADB.
As of resizing the TMPFS, you should be able to find some Linux tutorial how to do that, on Android this is works basically the same (even on both Linux and Android you have /tmp directory with TMPFS by default).
Anyway, I've decided to share some stuff that you may need for that. Here's the multidisabler script I was using for flashing GSIs with FBE encryption preserved. I was also working on the native binary that would work as the workaround for the touchscreen so it can be used instead of the script. The advantages are that it actually listens to filesystem events and therefore does not need to read file in loop in order to get the information if brightness has changed. Maybe I'll share it with you once I find it to be ready, right now I'll just share my multidisabler script with patches.
BTW, I've tested LineageOS GSIs (both 11 and 12) and noticed they behave completely different, no matter of variant (the USB actually uses some driver, which is not fully compatible with M12 but close enough to provide basic communication through ADB). I guess pphusson just changed something and now these drivers aren't applied by default, yet I think I've noticed the issues with Bluetooth's HSP/HFP profiles which as I remember was not the case with latest stable pphusson's vanilla Android 12 GSIs. Now I just hope these problems are going to be resolved in the next builds of Android's GSIs with phhusson's patches and with the knowledge that MTP just worked fine on TWRP I used, there's a little hope that we will gain the proper combination of drivers/firmware to have both USB and Bluetooth functional at the same time someday.
I've also approached patching the kernel under newer kernel base 4.19.112, yet I gave up on properly resolving its conflicts. I may work on that as well in order to patch some vulnerabilities, with a hope that I'll succeed updating kernel as closest to the latest patch as possible. The 4.19.112 is going to be just a test if Samsung is capable of actually booting from it and if I may be able to use git with common human logic and my limited programming skills to actually patch it the way it would do so (without much understanding about the code itself, yet basic knowledge about C syntax). For now I've only succeed reproducing the upstream Linux kernel commit structure from 4.19.111, with a single additional commit for Samsung changes and another one for physwizz ones.
can anyone guide me how to unlock bootloader on Samsung Galaxy M12G ?
@SB3P Thanks so much. Sorry for my late reply, but thank you!
SB3P said:
Achievement unlocked: flashed GSI with FBE enabled! ​View attachment 5533799​In short, I've successfully done flashing of @phhusson's latest version of Android 12 GSI (which is v402 as of today). To do this, I needed to modify the multidisabler script so it won't disable FBE, format the userdata using the stock recovery, flash TWRP, resize tmpfs to proper size, push GSI image into tmpfs and flash it using TWRP. I used the securized image with vndklite variant, since there was no securized images for regular vndk releases (but it seemed that vndk was working better for me, at least I have no USB connection anymore where with VNDK I was able to have USB debugging). Maybe I'll try re-flashing it once I'll patch the regular images and securize them (since I'm on *nix, I can just mount them and modify their contents) and take an approach of finding how Samsung ROMs are working OK. For now, I need to take a break from all bootloops I had in the process of FBE flashing .
Anyway, the goal of this experiment was to use GSI ROMs as a daily driver and having FBE disabled could otherwise cause a serious problem on device loss.
So, onto the list what's been tested (that wasn't noted before):
Screen locking – it seems that the workaround for the screen is not applied before unlocking the phone, probably because the app is not running yet. This might work with the script used as postfs module.
EDIT: I've found some notes in the Magisk documentation that both post-fs data and late_start services are run after data is decrypted, which basically means applying this workaround using Magisk seems to be pointless for now (maybe not after PPH app will stop providing the workaround)... Probably the best option would be patching the ROM itself, either with flashable ZIPs or directly before flashing it (most GSIs can be mounted under Linux and tweaked).
Adaptive brightness – not working, since all virtual sensors are not working for now. Might be easy to fix through as I've found some stuff in the official ROM that I had an idea to experiment with putting them into GSIs (as a Magisk module, to avoid a breakage).
USB – as I said, a data transfer via USB is not working for me for some reason. It worked for me once I had VNDK Android 12 GSI installed (same version).
Booting with stock kernel – I had some successful attempts doing that, but it further was a cause of a bootloop, at least once I had installed Magisk. Therefore, I'll recommend patching the Magisk the way as in tutorial (after patching the kernel) to have everything working for now.
For people who wants to play with stock images but don't know how: you can use simg2img, lpunpack and Linux to extract and mount the official ROM image in approach of finding there some tips like in initrc services why some stuff is working fine on Samsung while it doesn't on GSIs. Maybe I would tinker with it a bit, trying to export a few services and libraries in an approach to create a Magisk module with all stuff needed to have a fully functional GSI, but I'm tired of modding for now, especially when this is my first Samsung phone I had to deal with.
Edit: Typo fixes, added additional text formatting.
Click to expand...
Click to collapse
Could you explain how you done this.... i mean please explain step by step... i am using Galaxy M12G Varient....thanks in advance
milindbhaliwade said:
Could you explain how you done this.... i mean please explain step by step... i am using Galaxy M12G Varient....thanks in advance
Click to expand...
Click to collapse
If you would see the *untested* section at the initial post of this thread, it is unknown whetever this works or not for M127G phones (if it bootloops it might not work at all). Anyway, here's how I did it on M127F (at least how I remember this):
1. I did steps from 1-6, I believe I skipped 7 since I was aware it will mess something up with the data partition.
2. I modified the multidisabler script and pushed it to my phone via the ADB (to TMPFS). You can find this script pushed as xz compressed file. Before executing multidisabler script I have done a backup of the recovery and system partitions (using dd tool) which I am going to reflash later.
3. I rebooted to download mode and flashed TWRP image.
4. After TWRP ended flashing, I booted into the recovery. I flashed the physwizz kernel and then my own GSI image as it was described in the instructions at the initial post. Just remember that /data partition is not functional with FBE and TWRP so you need to push your images somewhere else like microSD card or TMPFS partition. OTG might work here as well, this is something I haven't tested yet through...
5. Once you are done with flashing you need to restore the original recovery partition via the download mode. TWRP won't boot the GSIs with FBE encryption enabled actually it does boot now for me, yet I still recommend switching to stock recovery if your phone bootloops or you need to format/wipe userdata partition. You can then safely format your /data partition with the stock recovery.
ap4ss3rby said:
Hi, I installed LineageOS 18.1 GSI on my M127F. I want to share my guide to installing this GSI.
Code:
DISCLAIMER:
By following this guide you accept that you
may do irreversible damage to your phone.
If something breaks the responsibility is
yours only. If you want stable software that
is guaranteed to work 100% don't follow
this guide.
I assume you are running a fully stock system and and locked bootloader and firmware U3/U4.
Installing TWRP and custom kernel
Enable Developer Options by tapping on software information > build number 7 times
Enter developer options then toggle OEM Unlocking on.
Power off your phone.
Hold Vol Up + Vol Down then plug in your phone to enter download mode
THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY. Follow on screen instructions to unlock your bootloader. THIS WILL ERASE ALL YOUR DATA AND VOID YOUR WARRANTY
After this you want to download and install attached Orangefox recovery using odin. After odin is done flashing enter recovery
Format data (not wipe) in recovery
Enter terminal and type multidisabler twice
Reboot to system and verify that under security encryption is disabled
Download TWRP and custom kernel for your phone
Reboot into recovery and locate the downloaded twrp image
Select recovery.
Reboot into recovery
Install kernel, then wipe cache and reboot. You should now see that it is complaining about some internal issue. This is normal.
Installing the GSI
Download your favorite ROM from the list provided below. You want to install an arm64 a/b image.
Extract the image file
Reboot to recovery.
Select install then install image
Locate the GSI image
Select install system
After that is done return to recovery and select factory reset.
Reboot then do setup (if applicable) then download attached magisk and phh trebleapp. If your phone is stuck on bootanimation check under to fix it.
IMPORTANT: DO NOT LET THE SCREEN TURN OFF OR YOU WILL HAVE TO REBOOT TO MAKE TOUCH WORK AGAIN.
Install attached magisk
Open magisk and click on install then direct install
Download and install the attached phh-treble app apk.
Touch should now work. Enjoy your GSI.
Extras
Magisk 24.1
Open Magisk
Go to settings
Update Magisk Manager app to version 24.1
Relaunch Magisk then install magisk
Choose direct instal
Migrating to patched trebleapp
Download and install attached trebleapp
Open your root file manager
go to /data/adb/service.d
Delete the script you added earlier
Tips in case things don't work
In case after rebooting to the GSI the phone bootloops:
Download stock image from wherever you download your firmware (I use a python program called samloader)
Extract the AP of the downloaded firmware
Find userdata.img.lz4 and create a .tar archive only containing this file
Reboot to download mode
In odin select AP then locate the newly created .tar archive Then click on flash
Reboot
Continue from step 7 under the "Installing the GSI" portion of the guide
To revive the touchscreen using ADB:
In case you didn't grant adb root access but installed magisk, run adb shell then su. A root access for the app shell will appear. Grant root permission
Plug in phone to a computer with ADB
adb shell
su
cat /sys/class/sec/tsp/cmd_result
echo check_connection > /sys/class/sec/tsp/cmd
What works:
Boots
RIL
Fingerprint
Main rear camera
Front camera
Sleep/Wake (workaround in steps above, may need to sleep wake several times before it works)
WiFi
Flashlight
Rotation
Magisk 24
90Hz (M12 only. A12 doesn't have 90Hz refresh rate)
LineageOS 18.1
LineageOS 19
CAOS (GApps variant available)
phh AOSP 11 v313
phh AOSP 12 v400h
Untested
GPS
Flashing GApps. (I use fdroid and aurora store on LineageOS and CAOS has built in GApps)
USB-OTG
A127F
M127G
If I didn't list it under broken or working I didn't try it or forgot to test it.
Broken
Double tap to wake. Touchscreen turns off and I have no idea how to keep it alive while lcd is off
MTP
Virtual Proximity. Screen will stay on in phone calls and WhatsApp will always play voice messages through speaker
Flashlight brightness. Flashlight will always stay on weakest brightness with no way to adjust.
Adaptive refresh. The framerate you set in phh addons is what you get. Be prepared for slightly reduced battery.
You tell me (even though I probably don't have the solution)
Bugs
You may need to wait a little bit before touchscreen responds or sleep/wake several times before screen responds after turning the screen off
Credits
@physwizz for kernel, TWRP and orangefox
@phhusson for implementing workaround in trebleapp as well as GSI list
me for touch workaround
Links
Kernels and recoveries: https://t.me/a127f_res/113
GSIs: https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-list
Click to expand...
Click to collapse
try to install @phhusson (system-squeak-arm64-ab-vndklite-gapps-secure.img) GSI using above method on Samsung Galaxy M12G (SM-M127G) BUT failed to boot up
facing following issue:
1) unable to boot in OrangeFox Recovery
2) boot in TWRP Recovery but not detected MicroSD Card
3) samehow manage to push Kernal.zip, SystemGSI.img by adb push file_name_with_extension /sdcard BUT not flash properly as TWRP reboot again and again in 2-3 minutes
so friends, don't try this method on Samsung Galaxy M12G (SM-M127G) unless Senior member come up with this specific model
For anyone who has starred this thread, I and other devs have released a proper build of LineageOS with /vendor. Aside from VoLTE (which I don't think worked in GSIs anyways) everything should work. Moderators, please close this thread
ap4ss3rby said:
For anyone who has starred this thread, I and other devs have released a proper build of LineageOS with /vendor. Aside from VoLTE (which I don't think worked in GSIs anyways) everything should work. Moderators, please close this thread
Click to expand...
Click to collapse
LineageOS is not only GSI available, I think someone might still find it useful if they want to flash another ROMs. Also Phhuson's GSI also contains some features that unofficial GSI release don't have (i.e. flashlight control in Phhusson's app), so they still might be useful for someone.
This is why I think it is better to not close this thread and maybe revive original guide.
SB3P said:
LineageOS is not only GSI available, I think someone might still find it useful if they want to flash another ROMs. Also Phhuson's GSI also contains some features that unofficial GSI release don't have (i.e. flashlight control in Phhusson's app), so they still might be useful for someone.
This is why I think it is better to not close this thread and maybe revive original guide.
Click to expand...
Click to collapse
Our rom is built completely from source, not a GSI, and it is more or less a complete replacement of stock firmware. If you want you can use a GSI over that instead, and it should function much better than just replacing stock firmware
ap4ss3rby said:
Our rom is built completely from source, not a GSI, and it is more or less a complete replacement of stock firmware. If you want you can use a GSI over that instead, and it should function much better than just replacing stock firmware
Click to expand...
Click to collapse
I haven't said GSI are better, I personally use this unofficial LineageOS build. But what I've said, GSI brings much more variety of picking the OS you can install. Even Linux can be installed on phones nowadays using GSI with only Halium-patched kernel as an requirement. This is why I think leaving this tutorial archived (no updates, interest on fixing bugs etc.) is better than removing it.

Categories

Resources