Android Terminology You Must Know Before Toying with Your Android - General Topics

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

Related

New to all of this

What's the difference between flashing and rooting? Thinking of android after 3 years of apple
to quote sado1 from:
http://androidforums.com/i7500-all-things-root/31737-difference-between-flashing-rooting.html
Rooting - process that enables superuser account (root) on your Android device, which gives you more control over the system. It's a bit similar to jailbreaking: you get write access to all of the system files.
Flashing - it could refer to flashing your phone with firmware - then it means that you install another (usually newer) version of software provided by producer for your phone.
Flashing could also mean flashing a non-official/custom ROM - then it means installing non-official ROM (modified system files package) to achieve better performance, more features etc.
When you flash your phone with custom ROM you usually get root automatically. Flashing with custom ROM will affect directly what you see/feel from a user's perspective. Root is about underlying system changes.

[ROM][Stock] Stock Android 7.1.1 ROM for Moto E4 (xt1766) SPerry - Root, BusyBox

•••• Qualcomm Moto E4 (xt1766) SPerry Only ••••
DISCLAIMER:
By proceeding further, you are assuming sole responsibility for the integrity and functionality of your device. Although this ROM has been thoroughly tested on my own device, I take no responsibility for bricked or otherwise inoperable devices incurred as a result of this thread. Follow the instructions carefully, and things should go smoothly and without negative results.
SPECIFICATIONS:
• Moto E4 (XT1766) SPerry
• Sprint, Virgin Mobile, Boost Mobile
• Android Version: 7.1.1 Nougat
• Build No. NCQS26.69-64-10
• System Version: 26.231.8.sperry_sprint.en.US
• Radio Version: M8920_15000.280.06.58.05R
• Kernel Version: Linux 3.18.31-perf
• Security Patch Level: September 1, 2018
FEATURES:
• Stock Configuration
• Systemless Root - Magisk v17.1 Stable
• SafetyNet Pass (ctsProfile & basicIntegrity)
• Zipaligned /system/app & /framework
• Optimized RAM efficiency
• Disabled AVB & dm-verity
• Disabled Force Encryption (Opt-Encrypt)
• BusyBox v1.29.2 (Static Binaries)
• TWRP Flashable Installer
PREREQUISITES:
An unlocked bootloader and TWRP custom recovery are required to install this ROM. IMPORTANT: Use @squid2's TWRP v3.2.1-r1 or older for installation https://forum.xda-developers.com/devdb/project/dl/?id=27958 Newer builds will cause a conflict with the /vendor & /oem partitions when installing my partition updater zip. After installation, you may update TWRP to a newer or current version.
The conflict is due to the partition scheme of my updater-script, and is not due to any fault in @squid2's current TWRP builds. Here is a link to @squid2's TWRP thread for the Qualcomm Moto E4. https://forum.xda-developers.com/mo...velopment/twrp-twrp-moto-g4-qualcomm-t3655160 Please be sure and hit the thanks button on his thread if you use his work.
NOTES:
• If you have previously installed the 26.221.3 OTA to bring your build version up to NCQS26.69-64-10, you should have no need to install the partition updater zip prior to installing the ROM. However, if you are unsure of your present firmware build, or if you have not installed the latest OTA, the partition updater should be installed per the instructions below, in order for the ROM to work with the best results;
• As to force encryption, the kernel fstab has been modified to disable this OEM security feature. However, you may still manually encrypt your /userdata by fully charging your device, going to Settings>Security>Encrypt Phone, and following the on-screen prompts;
• This OTA update did not augment the baseband (radio firmware) version (M8920_15000.280.06.58.05R), which remains unchanged from NCQS26.69-64-8. While the radio firmware did receive a couple of minor patches, the changelog in this regard is insignificant, so I did not include these in either the partition updater or the ROM. If anybody wants these radio patches, leave a comment and I'll fix up a TWRP flashable installer.
INSTRUCTIONS:
• 1. Download the ROM and Partition Updater from the download link below and save them to your device's external storage (because the /usedata partition needs to be formatted to disable force encryption, saving the downloaded zips to internal storage would be futile);
• 2. Make a backup of any important files on your device;
• 3. Boot your device into TWRP recovery mode;
• 4. Select Wipe>Advanced Wipe and select System, Cache & Dalvik Cache. Swipe the action bar to commence the wipe;
• 5. Again select Wipe>Format Data, input the word "YES" when prompted, and swipe the action bar to commence the format. Reboot Recovery (often necessary to ensure proper mounting of /usedata after a format);
• 6. Select Install, navigate to the saved location of the Partition Updater zip, and swipe to commence install (this updates your /oem partition, /rpm primary bootloader, /tz trust zone partition, and /devcfg partition to Build No. NCQS26.69-64-10);
• 7. Select Install, navigate to the ROM zip, and swipe to commence install;
• 8. Reboot System.
Kernel Source Code (msm8920): https://github.com/MotorolaMobilityLLC/kernel-msm/releases/tag/MMI-NCQ26.69-48
THANKS & CREDITS:
•Thanks to the long-dedicated @squid2 for his TWRP builds for this and many other Motorola devices;
•Thanks to the great @SuperR. for his amazing Windows version SuperR's Kitchen;
• Thanks to the world famous @topjohnwu for his Magisk Universal Systemless Interface;
• Thanks to @madbat99 for his dedication to Motorola devices, and for taking the time to assist so many Motorola device owners;
• Thanks to @osm0sis for his static BusyBox installer and his Magisk Modules;
• Thanks to @Davey126 for his support of Motorola devices, and his dedication to helping other members on various device threads.
DOWNLOAD LINKS:
NCQS26.69-64-10 Partition Updater: https://drive.google.com/file/d/1VmOPXbYBQQkqB475iVzKip2JI_AO0YCM/view?usp=drivesdk
NCQS26.69-64-10 Stock Android 7.1.1 ROM: https://drive.google.com/file/d/1VRuKnSgVHNkewbk5juB7_WWeLm_ptmUP/view?usp=drivesdk
I have also made a debloated build of this ROM, with all Amazon, Sprint and OEM related apps removed from /system/app, /system/priv-app, /oem/app, etc. I will try and post this version this coming week for anybody interested.
I'm new bee kinda so flashing this os just the update so if I have everything up and running good them really don't need this update seems updates have me screwed from getting data on custom rom now so any advice
Bailey36375 said:
I'm new bee kinda so flashing this os just the update so if I have everything up and running good them really don't need this update seems updates have me screwed from getting data on custom rom now so any advice
Click to expand...
Click to collapse
If you have taken the OTA update and you are on Build No. NCQS26.69-64-10, and everything is running smoothly, you have no need to install anything here.
I'm not on 10 I'm on 8 but would like that debloted version
Bailey36375 said:
I'm not on 10 I'm on 8 but would like that debloted version
Click to expand...
Click to collapse
It'll be up in a couple of days. By the way, there is no danger in taking the OTA. No reported bugs, instabilities, etc. And you can still flash the debloated ROM when I post it.
Thanks for taking time to do this and keep support going for the E4. I'm planning on trying the debloat when you post it.
S o S just flashed and now it is only booting to TWRP it says its flawed but
Only boots to TWRP help after flash
---------- Post added at 05:34 AM ---------- Previous post was at 05:18 AM ----------
Really need help I have TWRP 3.2.1 r1 I did what the instructions said but now just goes to the TWRP what's the issue I'm sure it's something I'm doing help this is my only phone
---------- Post added at 05:52 AM ---------- Previous post was at 05:34 AM ----------
Got it woohoow
MotoJunkie01 said:
I have also made a debloated build of this ROM, with all Amazon, Sprint and OEM related apps removed from /system/app, /system/priv-app, /oem/app, etc. I will try and post this version this coming week for anybody interested.
Click to expand...
Click to collapse
Yayyyyyyy!!!!!! I,ll be waiting for that one. Thanks motojunkie01.
Does Radio work in Custom Roms.
EarthMan1 said:
Does Radio work in Custom Roms.
Click to expand...
Click to collapse
The radio was not updated with the new OTA. The Baseband Version remains the same as the previous build, M8920_15000.280.06.58.05R
That means the voice calls won't work on Custom ROMs.
EarthMan1 said:
That means the voice calls won't work on Custom ROMs.
Click to expand...
Click to collapse
Voice, MMS/SMS, and 4G/LTE data works on my device with LineageOS 14.1 on the 05R radio firmware. Although I am aware that an earlier OTA (NCQS26.69-64-8) did break the cell radio for some device owners running custom ROMs.
MotoJunkie01 said:
Voice, MMS/SMS, and 4G/LTE data works on my device with LineageOS 14.1 on the 05R radio firmware. Although I am aware that an earlier OTA (NCQS26.69-64-8) did break the cell radio for some device owners running custom ROMs.
Click to expand...
Click to collapse
So, if i want to update I have to wipe my data.
EarthMan1 said:
So, if i want to update I have to wipe my data.
Click to expand...
Click to collapse
No. But if you want to install this ROM, you will need to format /userdata in order to disable force encryption. If you want your data encrypted, you are not required to format /userdata.
No, I want only to install the partition updater.
EarthMan1 said:
No, I want only to install the partition updater.
Click to expand...
Click to collapse
Then formatting data is not necessary. Keep in mind that the partition updater does not change your radio firmware. You'll still have the 05R radio version after updating your partitions. The partition updater updates your bootloader, /devcfg and /oem partitions.
So if your radio didn't work on custom ROMs before, the partition updater likely will not change that.
Why this partition updater size is big compared to the NCQS26.69-56 one.
EarthMan1 said:
Why this partition updater size is big compared to the NCQS26.69-56 one.
Click to expand...
Click to collapse
Because the /oem partition is large (656 MB)
Why isn't it included in the 56 one

Android Encryption, SafetyNet, Verified Boot 2.0 and the Boot Process

I'm trying to understand the Android Boot Process and the new additional security measures/restrictions put in place by the device manufacturers.
So far I've read through these posts on XDA, Lineage OS Blog and some others. I've understood some and still confused about others.
[INFO] ANDROID DEVICE PARTITIONS and FILESYSTEMS
[INFO] BOOT PROCESS: ANDROID vs. LINUX
Qualcomm’s Chain of Trust
Android Boot and Recovery Images
Dissecting the Android OTA Update System
I've flashed custom ROM and TWRP on my old phone but it didn't have the new security measures in place and I didn't bother about encryption then (The entire files on the device is accessible from the recovery).
I have some doubts about the encryption and other stuff.
1) When we are running with the stock recoveries, user files are inaccessible(because those stock recoveries don't provide that function).
How can I keep my files safe while using TWRP or similar recoveries?
ie How does FDE work with the custom recoveries?
2) I've read about some users complain that FDE got triggered after firmware upgrade. In such cases what key does it use?
3) I've read on Google's website that it allows users to boot with custom keys. Is that enough for 'Certified Status' on Google Play.
4) What all modifications trigger SafetyNet?
I understand that modifying /system triggers it, so using custom kernels would trigger it Right?
Kindly help me out. I'm sorry for any mistakes.
Bump
Bump
Bumped

OnePlus 8, backup important partitions

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.

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