[KERNEL][MIUI] PWn3R-K3RN3L GLOBAL SafetyNet Bypass Updated: 3/17/2020 - Xiaomi Mi Mix 3 ROMs, Kernels, Recoveries, & Other

I started working on this almost 8 months ago. Originally (and possibly at some point in the future) my goal was to provide a slightly modified kernel from the source code Xiaomi releases on Github for MIUI that is modified to allow CN or other hardware to boot with the Global ROM and pass a SafetyNet check. Ultimately, I had given up on this endeavor because I was able to accomplish that using the Magisk module I created and posted here. Due to needing to have a device that was not rooted (running it for work with both personal and work SIM, and Airwatch detects Magisk no matter what I do), I came full circle.
Due to a design decision made by Google, I have found it is possible to make the androidboot.verifiedbootstate show up in a manner that is perceived by Google as "green" without triggering the bootloop code that is included in the system services that Xiaomi is running. To that end, I am posting an AnyKernel3 file here with the stock Global 10.3.2.0 ROM kernel, configured in such a manner as to bypass SafetyNet checks.
I only have one device to test this with, so hopefully it works for you too.
Edit: The patcher version should work on most versions of anything MIUI. It does not contain a kernel, it simply patches the CMDLINE to make it pass SafetyNet.
Standard Disclaimer: I have tested this, and it's a stock kernel, just with modifications to the kernel boot cmdline. I am not responsible if your device bursts into flames, fails to alarm clock and you are late for work, sends inflamatory SMS messages to Kim Jun Un, etc.
Patcher V2: Updated with AnyKernel3 changes:
Download V2
NOTE: I was not able to get my device to allow Google Pay with this. I believe Google is doing even more stringent checking now. If others want to test and report back, please do. This sets androidboot.verifiedbootstate=green now, and sets the ro.boot.hwc to GLOBAL and ro.boot.hwcountry to GLOBAL to avoid the bootloop in Xiaomi's services.
Generalized version:
Download Patcher
10.3.2.0 Specific:
Download
Edit: I was just messaged via Github by someone from Xiaomi that they are aware the source no longer works. They provided patches that *should* fix it. If that ends up working out, my intent is to provide a compiled from source version, possibly with some optimizations, and certainly using Linaro.

The patcher version linked above does not contain a kernel image. It just patches the cmdline and should work on all Xiaomi ROMS, atleast for the Mix 3. I have not tested it outside of the global ROM. I spent about 25 hours in the last two weeks working to try to backport the patches that were suggested as fixes to get the kernel to boot, but it is not done yet.

Updated Patcher above. I believe the new attestation api changes are stopping anything like this from working.

is it support miui 12 eu now ?
thx

Related

SRGX2 Rom for the Life One X2 Mini

SRGX2 for Life One X2 Mini​This Rom Is a Stripped down modified version of the Life One X2 Mini stock Rom.
NOTE: After installation give Launcer 3 notification permission and update Google Play Services (click on the notification).
(Please remember I do this in my free time and with my own money. If you like it please hit the thanks button)
Mods:
Malware removed
Build.prop Tweaks
Oreo Launcher
Camera app replaced by OpenCamera
File manager replaced by MiXplorer
To do list:
Build wifi drivers into the Kernel
Strip down rc scripts
What Works:
Boots
Calls
SMS
Data
GPS
Wifi
Bluetooth
Audio
Video Playback
Sensors
Led
Camera
Flash
Fingerprint
Not Working Yet:
(You tell me)
Downloads:
Current Build: https://www.androidfilehost.com/?fid=673956719939824825
Builds: https://www.androidfilehost.com/?w=files&flid=239712
Patches: https://www.androidfilehost.com/?w=files&flid=254440
TWRP: https://drive.google.com/file/d/0BzMHnGbQH3bhTERvcGxlSkZFa2M/view?usp=sharing
Kernel: https://github.com/vampirefo/android_kernel_blu_kernel_x2 (Special thanks to @vampirefo for the kernel source)
Screenshots: comming soon
Changelog
Version: Testing
Build: 01072018211020
Initial release
Version: rc1
Build: 01142018205847
switched to stock theme
Version: 1.1.0
Build: 02182018215948
rebuild off of the 01/04/2018 update
Version: 1.1.1
Build: 02242018165134
fixed mobile data bug
Version: 1.1.2
Build: 03032018224915
changed DPI to 441
added stock calendar app
added stock calculator app
add stock clock app
Troubleshooting
reserved
Does quick charge work?
Been running for a couple of days now without issue.
cyrusharding said:
Does quick charge work?
Click to expand...
Click to collapse
Yes it works, I've beeen using 2 QC3 chargers with no problems at all.
Awesome, works great so far. Here are a few things I noticed :
1- Keyboard didn't show up easily during setup, but eventually it became smooth
2- Following apps did not install (Package Helper error) : Fitbit & Spotify. Spotify was a known issue in stock rom but Fitbit was working fine in stock.
3- Netflix is not available. Previously I had LineageOS 13 and I was able to install Netflix. I know they banned uncertified devices, but I was still able to get it with that rom.
4- Fingerprint is not working 100%. I am able to unlock the device with it but apps are not able to use it properly. For example try Starbucks or any banking app. They will ask if you want to use fingerprint, you say yes and you put your finger, some apps crash, others will say fingerprint recognized, but then they don't actually store/use that fingerprint? Something must have gone wrong... LineageOS 13 also had this issue, but stock rom did not.
I would like to know if it's possible to not have the customizations you did for colors. Blue (pun not intended) hurts my eyes and transparency doesn't look great with some apps open. Also, if you go to device encryption, because you changed colors, some foreground and background colors are now identical and I wasn't able to read the options... I think that screen was the one for if I wanted to ask for password when the device boots.
Also do you have a git for the source tree? I'm learning to build Android and am hoping to see how you are doing things?
Thanks again and keep it up!
enduo said:
Awesome, works great so far. Here are a few things I noticed :
1- Keyboard didn't show up easily during setup, but eventually it became smooth
2- Following apps did not install (Package Helper error) : Fitbit & Spotify. Spotify was a known issue in stock rom but Fitbit was working fine in stock.
3- Netflix is not available. Previously I had LineageOS 13 and I was able to install Netflix. I know they banned uncertified devices, but I was still able to get it with that rom.
4- Fingerprint is not working 100%. I am able to unlock the device with it but apps are not able to use it properly. For example try Starbucks or any banking app. They will ask if you want to use fingerprint, you say yes and you put your finger, some apps crash, others will say fingerprint recognized, but then they don't actually store/use that fingerprint? Something must have gone wrong... LineageOS 13 also had this issue, but stock rom did not.
I would like to know if it's possible to not have the customizations you did for colors. Blue (pun not intended) hurts my eyes and transparency doesn't look great with some apps open. Also, if you go to device encryption, because you changed colors, some foreground and background colors are now identical and I wasn't able to read the options... I think that screen was the one for if I wanted to ask for password when the device boots.
Also do you have a git for the source tree? I'm learning to build Android and am hoping to see how you are doing things?
Thanks again and keep it up!
Click to expand...
Click to collapse
try "dogfood spotify" i had same issue and got that to work on the lineageos 13 blox2mini ROM.
cyrusharding said:
try "dogfood spotify" i had same issue and got that to work on the lineageos 13 blox2mini ROM.
Click to expand...
Click to collapse
Interesting, didn't know that exists. I currently just download off of http://download.spotify.com/android/SpotifyAndroid.apk
enduo said:
Awesome, works great so far. Here are a few things I noticed :
1- Keyboard didn't show up easily during setup, but eventually it became smooth
2- Following apps did not install (Package Helper error) : Fitbit & Spotify. Spotify was a known issue in stock rom but Fitbit was working fine in stock.
3- Netflix is not available. Previously I had LineageOS 13 and I was able to install Netflix. I know they banned uncertified devices, but I was still able to get it with that rom.
4- Fingerprint is not working 100%. I am able to unlock the device with it but apps are not able to use it properly. For example try Starbucks or any banking app. They will ask if you want to use fingerprint, you say yes and you put your finger, some apps crash, others will say fingerprint recognized, but then they don't actually store/use that fingerprint? Something must have gone wrong... LineageOS 13 also had this issue, but stock rom did not.
I would like to know if it's possible to not have the customizations you did for colors. Blue (pun not intended) hurts my eyes and transparency doesn't look great with some apps open. Also, if you go to device encryption, because you changed colors, some foreground and background colors are now identical and I wasn't able to read the options... I think that screen was the one for if I wanted to ask for password when the device boots.
Also do you have a git for the source tree? I'm learning to build Android and am hoping to see how you are doing things?
Thanks again and keep it up!
Click to expand...
Click to collapse
I'm doing my mods on the precompiled factory rom. If you go to the Lineage OS thread, Vampirefo has a link to the device and vendor tree he created for his rom. I am considering having two versions of my rom for the Mini. A light theme (stock) and dark theme the one that is out now. Right now the rom is only in testing stage. I enjoy seeing your interest in learning how to do what I am doing, the more developers the better.
Thanks for you feedback, here are some helpful links. I am a Linux user and my links may be geared toward Linux, some things can be done in Windows, but some require Linux.
Lineage OS for the Mini: https://forum.xda-developers.com/android/development/lineageos-13-life-one-x2-mini-t3692814 (has links to his device and vendor tree)
How to compile an Android kernel: https://forum.xda-developers.com/le-2/how-to/guide-compiling-64-bit-android-kernel-t3512749 (I'm still trying to locate the Mini kernel source)
Tool to unpack and repack a rom: https://forum.xda-developers.com/ap...dows-linux-superr-s-kitchen-v3-0-0-0-t3601702
tool for unpacking apks: https://ibotpeaches.github.io/Apktool/
I hope these help you and enjoy
srgrusso said:
I'm doing my mods on the precompiled factory rom. If you go to the Lineage OS thread, Vampirefo has a link to the device and vendor tree he created for his rom. I am considering having two versions of my rom for the Mini. A light theme (stock) and dark theme the one that is out now. Right now the rom is only in testing stage. I enjoy seeing your interest in learning how to do what I am doing, the more developers the better.
Thanks for you feedback, here are some helpful links. I am a Linux user and my links may be geared toward Linux, some things can be done in Windows, but some require Linux.
Lineage OS for the Mini: https://forum.xda-developers.com/android/development/lineageos-13-life-one-x2-mini-t3692814 (has links to his device and vendor tree)
How to compile an Android kernel: https://forum.xda-developers.com/le-2/how-to/guide-compiling-64-bit-android-kernel-t3512749 (I'm still trying to locate the Mini kernel source)
Tool to unpack and repack a rom: https://forum.xda-developers.com/ap...dows-linux-superr-s-kitchen-v3-0-0-0-t3601702
tool for unpacking apks: https://ibotpeaches.github.io/Apktool/
I hope these help you and enjoy
Click to expand...
Click to collapse
This is awesome thanks so much!! I use Windows on a daily basis but I do have a pretty good knowledge about Linux and have set up a build environment in for Android. These links should help me understand what I am missing. I am also happy to continue testing and give you feedback on this ROM as it is currently my daily driver.
New Rom out. It has the stock theme, other than that it is the same.. I haven't decided if I'm going to build two Roms or have the theme be a patch. Maintaining all the different variants of the Rom are getting to be very time and space consuming.
https://www.androidfilehost.com/?fid=889964283620778170
Strange question, but on the original stock rom, I started having issues with the Package Access Helper not working, while installing updates for Paypal, and just straight up trying to install Spotify, even the APK. I did a full factory reset, still did not work. I also installed the custom rom over at BLOX2.com, and the Package Access Helper still would stop working, even after clearing data/cache. I'm just curious if you know if your rom will fix that issue?
Requia77 said:
Strange question, but on the original stock rom, I started having issues with the Package Access Helper not working, while installing updates for Paypal, and just straight up trying to install Spotify, even the APK. I did a full factory reset, still did not work. I also installed the custom rom over at BLOX2.com, and the Package Access Helper still would stop working, even after clearing data/cache. I'm just curious if you know if your rom will fix that issue?
Click to expand...
Click to collapse
Is this without root? I don't know if my rom will fix that, I never used the Paypal app. Your welcome to try and let me know. Also there is LineageOS 13 for the mini which has been built from source.
https://forum.xda-developers.com/android/development/lineageos-13-life-one-x2-mini-t3692814
New rom rebuilt from the 01/04/2018 update.
v 1.1.0
There is a problem with the latest version of SRGX2. Mobile data doesn't work. I work on it this weekend and keep everyone updated.
Here is the fixed rom.
https://www.androidfilehost.com/?fid=818070582850494825
Good news I was able to get Android File Host to make the Life One X2 an official device. I have made a request for the Mini too. For now all the files will be under the Life One X2 device.
Updated rom: https://www.androidfilehost.com/?fid=673956719939824825
It includes the stock Calendar, Clock and Calculator apps. I changed the DPI to 441. Let me know if anyone has any problems with the Playstore. I know that there has been some requests for the stock Camera and file Manager apps. It's hard to please everybody so I added a patch section which may please some.

[call for dev] Any dev working on device specific support over GSI image?

As you all know GSI image alone not sufficient to get fully functional robust stable OS running on Lenovo p2. There are many flashable zip files which need to be flashed individually to get most of the features working. Which makes GSI image meaning less.
So post/discuss all the available GSI and device specific features for Lenovo P2 here.
It will be helpful for Devs and users.
** Requesting Devs to work on device specific feature support over GSI image. **
So far our Dev helped us getting up to this level. We need little more effort to make the GSI image successful on our device.
Expecting Users active support for Devs.
Edited: request only to make device specific features which lacks in GSI image.
Refer post #3.
What do you mean by device specific GSI? What's the point of doing this while GSI (Generic) means (for us) that you can actually flash it over multiple Treble devices out there?
If you recompile system image with device specific patches it will be basically device specific standard ROM (but with Treble which is basically not needed now) and not GSI anymore.
I don't get why are you people actually need "Treble" compatible ROM while existing standard ROMs are working great for now. Because they're Treble ROMs? What does it change? GSIs created using phhusson scripts are one big hack at the moment and their state is experimental. Of course they will work but they're lacking of device specific build.prop's.
Oreo one's are actually fully compatible with Lenovo P2 and stable because I tested them myself. Probably all of them (but all I tested) share the same device specific bugs. Even FP gestures works but this function needs to be activated by "setprop persist.sys.fp.navigation 1" after boot. The fix zip provided in P2 Mods subforum is actually copying script to system which will actually do that after every boot, nothing more. Google told on their AMA that they will make official documentation of making GSIs in the near future so I believe that will fix our current problems and device specific build.props could be generated and added to ROMs without touching system partition integrity state and recompiling them.
Until Android Pie ROMs will be stable as GSIs you will also not benefit too much from creating device specific system image because you will need to wait for Mike or someone else to create compatible vendor image and kernel (Probably Mike will be the first so you will need to wait for official release of LOS16).
Recompiling ROMs just for adding few fixes is a waste of resources. You need approx ~250GB of memory to compile and maitain one ROM, time (depending on memory you are using) and a lot of electricity.
In my personal opinion, creating Magisk module for P2 devices which will fix build.prop systemless-ly and add that command for activating FP gestures will be better alternative for now. I could personally look into it when I get some time.
If you still think that you need these device specific system images for every ROM at all costs, you could build them and maitain yourself or ask someone who will do this. Maybe Fullbustah will be eager to do some requests because he already built some popular ROMs on Mike's sources lately. You could also extract system.img's from his last builded ROM's and they will be device specific system images you are looking for . The only problem is that I don't think he is willing to maitain all of them at once.
I'm sorry if my previous post conveyed wrongly.
All we need is GSI images should be flashed directly. I didn't conveyed anywhere to build a sperate image from GSI.
May be I asked to maintain device specific vendor/system tweaks in a one place which will be flashed on top of any GSI image to get all the features working in our device.
Hope this helps!
MAILUS said:
I'm sorry if my previous post conveyed wrongly.
All we need is GSI images should be flashed directly. I didn't conveyed anywhere to build a sperate image from GSI.
May be I asked to maintain device specific vendor/system tweaks in a one place which will be flashed on top of any GSI image to get all the features working in our device.
Hope this helps!
Click to expand...
Click to collapse
Ah, okay. It changes a lot. I tested few Oreo GSIs about a month ago an everything was working fine and stable for me. The only tweak needed was FP gesture fix but it was messing with the system partition and I was too lazy to make to improve it so I just gave up using it. And another missing thing was build.prop because device is named "Phh's Treble ARM64" or something like that after installing GSI. Also build fingerprint is always messed up so I had problems passing SafetyNet even with Magisk.
Only these fixes are required for making Oreo GSI's working perfectly or almost perfectly (like official LOS) so I'm going to do Magisk module that will cumulate all of these fixes into one, easy to install solution. If I missed something just let me know.

[LENNY5][UNOFFICIAL][GSI]LineageOS 16 Treble with FLOSS, MicroG, Root, FakeStore

I DONT TAKE ANY WARRANTY WHATSOEVER IN ANY DAMAGE THAT MAY RESULT IN FOLLOWING THIS GUIDE OR USING THE SOFTWARE, ROM IN QUESTION, IN ANY WAY, MAY IT BE AS INTENDED OR NOT. IF YOU HAVE ANY FEELING YOU COULD END UP SUING ME FOR RISKS *YOU ALONE* ACCEPTED TO TAKE, YOU SHOULD IMMEDIATELY STEP BACK AND LEAVE THIS POST, ALL THE OTHERS: BE CAREFUL. YOU WILL LOSE ALL OF THE DATA ON YOUR PHONE'S USERDATA, CACHE AND SYSTEM PARTITION AND THE PHONE WILL BE FACTORY RESET!
STOCK FIRMWARE INSTALLER: https://support.wikomobile.com/maj/Lenny5_OPE_V34.zip <-- if you brick your device.
Hey folks
This is just a brief explanation on how i built this ROM, a complete guide to building the rom may be published at a later point in time. For the Downloads, go to the Links section. The flashing guide will be focused on Lenny 5, but the image may work on other treble-enabled devices, too, so feel free to try and report if your device works with this build.
Build variant: arm-aonly-floss-su-userdebug
If there's interest in other build variants (specifically with microg and floss - fdroid, moz-nlp, openweatherprovider - implemented), ask me, i will do my best.
Build description:
I have an old Wiko Lenny 5 around here and wanted to use it as a Kodi Remote etc. at home, but didn't want to use their stock ROM. Also i wanted some freedom in using my device, specifically a rooted device and microg implementation. After trying to build TWRP with no success and the Wiko Build information being massively outdated i then focused on Generic System Images, as Lenny 5 is Treble-enabled. Big thanks to @phhusson for the whole lot of effort he put into building AOSP GSI's (and also clues towards building LineageOS GSI's). After having AOSP9 installed on it for some time, i got bored and tried to compile LineageOS using the patch-and-build system provided on phhusson's github. That worked just great on AOSP9, but failed to build a bootable LOS16 in the first place. So after some recherche, i stumbled across @AndyYan's thread, containing some LineageOS GSI's prebuilt and ready to use. These worked great on my phone, but as stated above, i wanted to customize my LineageOS even further, so i manually patched my build-tree with AndyYan's Lineage-Treble-Patches by doing what this build script does, tested and it booted (i guess it's mainly related to the SELinux Policies not being correctly built for LOS with only phh's treble-patches). So far so good.
Additionally, i implemented the MicroG services by cloning these prebuilts on github to the respective folder in the build tree and before the build executed
Code:
export WITH_SU=true
to include LineageOS's root system in the build. I adapted the treble_arm_afS.mk device config to not use phh's su and the device/lineage/floss.mk file to include
FDroid
FDroidPrivilegedExtension (which is being built from treble sources)
MicroG services (use Play Store Apps)
FakeStore (use Play Store Apps)
MozillaNlpBackend (MicroG Network Location backend)
NominatimNlpBackend (MicroG Network Location backend)
OpenWeatherMapWeatherProvider (for LineageOS Weather Provider)
You are then free to use no Playstore at all or i.e. Yalp Store to download Play Store Apps.
After downloading the Image you may need to Unpack it via 7-zip or another tool.
Flash the device:
To install this custom ROM on the Wiko Lenny 5, in your stock ROM go to Settings->Developer Options->OEM unlock->Enable. Also, in the Developer Options, make sure, ADB Debugging is active and, on prompt, accept debugging connections from your computer.
On your computer, enter Command Prompt and issue the following commands:
Code:
adb reboot bootloader
*wait for device reboot*
fastboot oem unlock [COLOR="Red"]<-- this will factory reset the device!!![/COLOR]
*press vol up on the phone to allow unlocking the bootloader, and wait for the phone to return to fastboot mode*
fastboot erase userdata
fastboot format cache
fastboot format system
fastboot flash system <path-to-the-downloaded-gsi>
*wait for each process to finish*
fastboot reboot
now, wait for the phone to reboot, it should, after some time, show you the usual LineageOS startup screen. Take your time to set up your phone. To make MicroG and FakeStore work properly, you will have to Go to Settings->Apps&Notifications->App-Permissions->Spoof package signature->Menu->Show System Apps and allow FakeStore to spoof Signature. Go to Settings->System->Advanced->MicroG Settings and add your Google account. Activate Device Registration. Then activate Google Cloud Messaging and Google SafetyNet, if you want to take advantage of those services. Inside the UnifiedNlp Settings choose MozillaNlp in the first, and NominatimNlp in the second setting.
Go back and choose "Self check", if required, if required, grant MicroG GmsCore the permission to spoof signature, this should make most of the boxes go "checked". If Phonesky shows errors about signature spoofing, this should normally be gone after a reboot of the phone (given you allowed FakeStore sig spoofing). Disable battery optimization and then reboot the phone.
Check back in MicroG Settings->Self check, if all the boxes have been checked. If not, most mandatory points are self-explanatory.
This Lineage ROM will not allow you to update to a newer version. I cannot guarantee continuous updates, but encourage you to try building LineageOS treble with the way explained above, yourselves. If enough interest is around, i will consider doing updated builds from time to time.
Update:
Today i compiled a recent source tree containing the 5th of October patches. I will try to keep up with updating the Image whenever security fixes are released. The download links below have been updated to the newest version. To update your phone without deleting the data on it (make sure you have adb debugging enabled), you can simply do
Code:
adb reboot bootloader
fastboot flash system <system-image.img>
fastboot reboot
and then give your phone some time to "update". it should boot normally without erasing your data.
Links:
ROM .7z [~430MB]
ROM .img (~1.1GB)
(version was compiled at 19th of October '19, containing the October 5th security fixes.)
Let me know if this works for you, too!
Cheers
ivelischt
*reserved for additions/build guide*
Nice work
Nice work, I'll test the ROM later or tomorrow, also I like to see some development for this phone, also, It would be very nice to develop a custom recovery for it for better flashing experience and being able to flash gapps.
I have kinda workplace on my PC, I'm still wondering to build my first ROM but I think it will take lot of time.
Hanthonious said:
Nice work, I'll test the ROM later or tomorrow, also I like to see some development for this phone, also, It would be very nice to develop a custom recovery for it for better flashing experience and being able to flash gapps.
I have kinda workplace on my PC, I'm still wondering to build my first ROM but I think it will take lot of time.
Click to expand...
Click to collapse
Thanks. The custom recovery thing is a bit more difficult for treble devices, but i'd be happy to learn more from more experienced people.
I was not able to get TWRP running despite "successful" Custom recovery builds.
The build is quite straightforwards if you have some experience on compiling with linux. But you need around 200400Gigs of free space per build tree (lineage, aosp, ...). The most difficult thing for me was to alter the sources for inclusion of the packages i mentioned above, including microG. to build with opengapps, i expect, you'd use the same approach to include them in the build tree as with microG, just using the other packages and probably slightly customized CUSTOM_PACKAGES config. there is a k300 recovery out in the wild net. so there should be at least *some* possible way to port twrp for the k400, too.
about the time to build the rom: it took me about a day to sync sources and, using 2 cpus at 4gig's of java virtual memory, about 6 hours to compile the first round. after that, only compiling the changes made, it took me about another half an hour to recompile the changes. the editing process is marginal, if you know how to append to/remove from/patch the source files, the lineage4microg and treble rom-builder bash-scripts on github give you a pretty good insight in how to apply patches. also, from the dockerfiles you can get a list of all the dependencies your system needs to build the tree. i used these sorts of "tricks" to ensure my build runs well.
so far from me. i will try to find some free time in the future to put up some guide on how i built the rom as-is.
feel free to report if the rom works on your device!
best regards
edit: 400Gigs is better
ivelischt said:
Thanks. The custom recovery thing is a bit more difficult for treble devices, but i'd be happy to learn more from more experienced people.
I was not able to get TWRP running despite "successful" Custom recovery builds.
The build is quite straightforwards if you have some experience on compiling with linux. But you need around 200400Gigs of free space per build tree (lineage, aosp, ...). The most difficult thing for me was to alter the sources for inclusion of the packages i mentioned above, including microG. to build with opengapps, i expect, you'd use the same approach to include them in the build tree as with microG, just using the other packages and probably slightly customized CUSTOM_PACKAGES config. there is a k300 recovery out in the wild net. so there should be at least *some* possible way to port twrp for the k400, too.
about the time to build the rom: it took me about a day to sync sources and, using 2 cpus at 4gig's of java virtual memory, about 6 hours to compile the first round. after that, only compiling the changes made, it took me about another half an hour to recompile the changes. the editing process is marginal, if you know how to append to/remove from/patch the source files, the lineage4microg and treble rom-builder bash-scripts on github give you a pretty good insight in how to apply patches. also, from the dockerfiles you can get a list of all the dependencies your system needs to build the tree. i used these sorts of "tricks" to ensure my build runs well.
so far from me. i will try to find some free time in the future to put up some guide on how i built the rom as-is.
feel free to report if the rom works on your device!
best regards
edit: 400Gigs is better
Click to expand...
Click to collapse
The ROM works great but I'd like to see one like this with gapps to install on my device (freaking system image size), I've never used MicroG before and I don't know well how to use it.
Also, if you have the knowledge (I'm pretty sure you know more than me) we can investigate a way to create a TWRP version for K_400
Hanthonious said:
The ROM works great but I'd like to see one like this with gapps to install on my device (freaking system image size), I've never used MicroG before and I don't know well how to use it.
Also, if you have the knowledge (I'm pretty sure you know more than me) we can investigate a way to create a TWRP version for K_400
Click to expand...
Click to collapse
Hi Hanthonious
ivelischt said:
If there's interest in other build variants (specifically with microg and floss - fdroid, moz-nlp, openweatherprovider - implemented), ask me, i will do my best.
Click to expand...
Click to collapse
as the microG variant requires some "special sauce", namely the ability to spoof signature as well as other small fixes in the source code, my source tree is a bit different from the "vanilla/gapps" source tree. thus, to build variants not containing microg, you can simply sync the lineage source tree and apply the additional phh treble sources&patches. *edit: next to phh's patches, you will also need AndyYan's patches; you can find information about it in the OP. given, i write a guide (which i still intend to, but this takes some time), the patching step will be explained more clearly* basically, it's one step less than compiling it with microg. at the moment i cannot afford enough disk space to create another work tree, which is why i "can't promise" other build variants, until this issue is gone. which may be tomorrow or in a year. maybe you can find a gapps-version of treble-lineage 16 here in the xda boards. otherwise you will have to wait, or try to build it yourself. also, you might be interested in @AndyYan's lineage version, which is vanilla (no gapps or microg).
i would guess that the system image will not grow excessive just by including opengapps, but i may be wrong. i think that you'd possibly would have to choose a "non-complete" opengapps-package, to make it fit.
to quickly summarize what microg does is, that it spoofs its signature to make your phone think that you have the real Google Services Framework, Google Cloud Messaging, etc. services installed. this makes apps, which depend on these services, work even though you don't really "have" them. additionally, microg establishes an "essential" communication between itself and the real google services to allow you to use google services despite having all their bloatware.
to round this up, you have fakestore which spoofs existence of Google Play Store for those apps and games, which specifically check for GPS's existence (Phonesky app).
i think this should quite generally point out, what microg is for (an api which connects you to google, whilst only handing out information, which is crucial to keep a specific connection alive)
you can then use i.e. Aurora Store to download and update your preferred playstore apps. i tell you this specifically, as i hope that, using it right, microg might be able to give you a "fully stocked" phone experience, whilst keeping most of your data secure and your phone unbloated by google's app-hoard.
if you follow the instructions in the OP on how to fully enable microG, this might be a very handy solution for you, too, so maybe, you want to give it a chance.
to point out my issues with twrp (as far as i can tell using my little experience): twrp is device specific. which means, you need a vendor tree and you need to include it whilst building, so twrp can compile against it. now, treble is a way of excluding your device specific vendor tree from the build altogether (your system image basically doesnt contain the vendor files in a "folder" (/vendor), but in a seperate partition. this partition is "simply" beeing symlinked to from your system partition. this way you will never need to build vendor-specific sources but android builds against standardised "api's" which are being "serviced" by treble-enabled phone's vendor-files (lying at the vendor-partition). this makes building aosp and/or lineage, etc. easier as you can build one variant per architecture, which fits all treble enabled phones of that architecture (arm/64/binder32/64,a/ab,...). this is, very basically said, what is called a HAL (hardware abstraction layer) on a desktop computer.
but at the same time it's much more difficult to find vendor sources for those phones, as there is no more need at all for manufacturers to make these sources publich (as far as i understand it). as a matter of fact, you may not need these vendor sources for modern aosp (8.1+), which really is a grace!! but twrp doesn't seem to work when compiled against treble trees.
i even managed to compile a kernel which is mentioned at the wikogeek site for the lenny 5. i tried to include that kernel when compiling the recovery image but even that did not work out. as i am no experienced programmer (especially not in the high languages), i will not be the person to ask when it comes to finding out what bugs and how to circumvent it.
there is a little light at the end of the tunnel, though. as far as i understand it, treble-phones come with mostly generic kernels, which *could* make it easier to find a way to build a kernel/boot/recovery image in a similar fashion we build the gsi (generic system image) with. additionally, if there is some effort on it, i imagine, that it would be possible to generally modify twrp in a way so it's able to build against treble source trees with missing vendor source. this would enable twrp to run on virtually any phone which is treble enabled and there would be few to no need to port it for each device, specifically. maybe there would then be versions as in the treble gsi's (arm/64,a/b,...) as well as build variants for alternative display sizes etc.
but i wouldn't even know where to start...
i hope i was able to answer your questions. if you decide to stick with the variant in the OP, you should consider downloading and installing the most recent updated build.
best regards
Problems I found in the rom and if there is a way to solve them
Yo,
I wanted to point out the problems I found in the rom and if there is a way to solve
These are the problems I encountered:
1: *THE MOST IMPORTANT*
I can't pass the safetynet test, I researched a lot and I still couldn't solve
When I try to pass the safetynet test on magisk it gives "safetynet API Error"
When I try to do the test with the "SafetyNet Helper Sample" app it gives "SafetyNet request: success
Response validation: fail
Error Msg:
ApException [17]: API: SafetyNet .API is not
available on this device. Connection failed with:
ConnectionResult {statusCode = SERVICE_INVALID,
resolution = null, message = null}
And the "SafetyNet Test" app gives me "fail (Google Play services not available)"
I am aware of the new problem with the safetynet:
(sometimes people are still able to pass the test probably because it is still in maintenance or something)
https :// www . androidpolice . com /2020/03/11/safetynet-improvements-kill-magisk-hide
https :// twitter . com /topjohnwu/status/1237656703929180160
https :// twitter . com /topjohnwu/status/1238514375150850048
https :// twitter . com /topjohnwu/status/1237830555523149824
But even so I should be able to run the test even if it give both negative should run instead of showing those errors
2: The contacts I had on the SIM card and Google account do not appear in the contacts.
So I went on WhatsApp to save the ones I wanted to save, but after a few days and a few restarts the contacts are still saved, but on WhatsApp it shows that they are not saved even appearing in the contacts, to appear again saved on WhatsApp, I have to save them all again
3: Cant login in Clash Royale with google play games account, can i flash the rom and gapps to work or the microg and google play services will create some conflict, is there a way to unninstall microg completly and reflash the rom without microg and flash gapps?
4: Error when login in pokemon go: unable to authenticate, I researched it and it seems to be because the safetynet is negative but I can't even run the test (only after I became aware of the new safetynet problem) even with this new problem I would like to try to run the test to see if it passed since some people still are successfully passing the test
5: in the microg settings in self-check an option is not checked in the box "UnifiedNlp do not have location to test geocoder" I already researched to see if it solved something but I couldn't
edit: I solved it using the "Apple WI-FI" backend instead of the "Déjà Vu Location Service"
BUT NOW ITS GIVE ME AN UNCHECKED BOX
"Network-based location enabled:
you either disabled network-based location
(in system settings) or the system is not
supported"
6: some times in the time widget just appear "loading widget..."
and these are all the problems that I encountered, pls help me
solving these problems, thx!:good:
sorry for some mistakes i translated from portuguese to english with google translator and my knowledge of english
CooperTUGA, thanks for writing. And I want to apologize for letting you wait for so long. In fact, at the moment i do not actively develop this ROM (due to data loss on my virtual machine).
Anyways, i will try to address your issues as good as i can, though i must admit, none of these issues happened on my device.
ad 1: The only thing that comes to my mind is, that something went wrong when registering your device with the Android-ID. (see OP activation instructions). The SafetyNet-API itself should be working, atleast I had no similar issues (after Registering the device it takes some time - around 5 minutes - for Android to reflect the registered state).
But if someone happened to have this issue and knows another solution, you are welcome to tell!
ad 2: Does it help when you try to import the Files from the SIM card? As for Google contacts, it is - from my POV - stringent, that, if the SafetyNet API doesn't work properly, you will be unable to access Google Services (as Google Contacts) which would explain the missing Google Contacts.
ad 3: GApps and microG are two different things. GApps install a version (open-source fork, contains proprietary binaries) of the Official Google Apps, that is, they provide full functionality towards google services, provided you registered your device correctly.
microG is a pure Open Source fork of that, providing but the Framework with which Google Apps can be run. It does not provide Google Apps (like PlayStore etc.) by itself but merely allows them to run, given the configuration is right. This microG-ROM is not built to work with GoogleApps like PlayStore, but instead relies on the microG Services to get Apps, providing same or similar services, running (like Aurora Store etc.). To address your question, it is possible, to change the source code which was used to build this ROM, so it builds with Gapps or completely free of any such services, in fact it would mean to exclude certain patches, but such projects (Treble-enabled) are covered by others and because of above stated reasons i will not be able to provide such in near future.
Short but clear: No, there is no way to "uninstall" microG as it is built together with the ROM and the source used was especially prepared to use microG. But if configured right, you should be able to use your Google-Account in combination with Google-Services-Apps or Games despite using microG.
ad 4: See above. If everything's configured right, you should be able to play Pokemon GO, although i don't use any of these Apps (Clash Royale, Pokemon GO, WhatsApp). I never encountered any Problems along using Google Apps with this ROM.
ad 5: Well, the error says it all. I have Mozilla Location Service installed, which works like a charm. Maybe try this one? You can get it from FDroid, search for "MozillaNlpBackend" and see if it helps to sort this out? This works for me, after all.
ad6: as this is very unspecific, i cannot really tell what's the problem, but i would guess it has to do with the SafetyNet API not doing what it should or even the Location Backend not reporting position in time...
Did you clean your cache and data partitions while installing this ROM? I really am not sure what could create the behaviour you describe. Maybe there was a change in the SafetyNet/Device Certification process since this ROM-Build, maybe theres someone in those boards who could answer this, but i unfortunately can't...
I'm sorry that i cant give you more positive news, but hopefully it helps you in orienting what some common problems could be caused by.
Let me know about your success in trying to get the ROM working.
Best regards and greetings to portugal!
ivelischt
additionally: if you are interested in porting the Lineage Source for GSI/Lenny 5, you might be interested in this Thread: https://forum.xda-developers.com/android/help/how-to-root-wiko-lenny-5-t3819469
specifically, i wrote a guide there on how to build Android/Lineage Source for Treble devices. Maybe this helps you in getting your own build environment, enabling you to build to your disguise.
Images are not available anymore. Anyone here?

[ROM][UNOFFICIAL][SUNFISH][A11] LineageOS 18.1

I'm not a fan of Android 12's Material You, i.e. dull color schemes, ginormous headers and copious amounts of whitespace. Screens got bigger over time, but information density is getting lower and lower. It's crazy. Anyway, I'll spare you the rant.
As the LineageOS project stopped publishing builds for LineageOS 18.1, but they continue to patch their 18.1-branch with Android's monthly security updates, I decided to start building it myself following the instructions here.
You can download the builds here:
LineageOS 18.1 for Pixel 4a (sunfish) - Browse Files at SourceForge.net
Unofficial builds for those who wish to stay on 18.1 a bit longer.
sourceforge.net
I usually publish an update every month.
Additional tweaks​
Default maximum lockscreen password length of 64 characters (instead of 16) [more info]
Firmware​It's probably best to run the latest Android 11 firmware, since this is Android 11. You can download the last official Android 11 factory image from Google and flash it from fastboot mode (your data will be erased).
Clean install​
Download the latest lineage-18.1-xxxxxxxx-UNOFFICIAL-sunfish-boot.img and lineage-18.1-xxxxxxxx-UNOFFICIAL-sunfish.zip from aforementioned link
Boot to bootloader a.k.a. fastboot
Flash the boot image with this command (replace filename with actual filename):
fastboot flash boot lineage-18.1-xxxxxxxx-UNOFFICIAL-sunfish-boot.img
Boot to recovery
Factory reset > Format data/factory reset > confirm (your data will be erased)
Apply update > Apply from ADB
Sideload the ROM with this command (replace filename with actual filename):
adb sideload lineage-18.1-xxxxxxxx-UNOFFICIAL-sunfish.zip
(If it asks "Signature verification failed. Install anyway?" answer Yes)
Optionally flash Gapps or anything else:
Advanced > Reboot to recovery
Run adb sideload with your zip
Reboot system now
Updating​Updates are delivered through the built-in updater (Settings > System > Updater).
If you use Magisk, deny the Updater's request to reboot at the end of the update process, open Magisk, tap Install and then "Install to Inactive Slot (After OTA)". Tap reboot after the process completes.
Migrating from last official LineageOS 18.1 build​So it turns out builds are signed with a secret cryptographic key and when you install an update it has to have the same cryptographic signature or bad things will happen. This means you can't directly update from the last official build (signed by the LineageOS team) to my build (signed by me).
The solution: build and install (as an update a.k.a. dirty flash) a so called "migration build", which "resets the keys on all packages at every boot." I guess after booting into this build once, you can just update to the regular build using the updater (the LineageOS wiki is very concise on this topic and doesn't explain much).
You can download the migration build and boot image from the aforementioned link, they are marked MIGRATION instead of UNOFFICIAL. Don't run this build any longer than necessary, it's a security risk by its very nature.
When I tried this migration, my system wouldn't boot (stuck on boot logo). ADB worked and I could see in dmesg or logcat that, among other errors, SystemUI failed to start. Was it because I didn't reflash Gapps? But I never reflashed Gapps when using LineageOS' builtin updater...
Later I did some testing. I did a clean install of the latest official build, then my migration build, then my normal build, all was fine. Then I did a clean install of the latest official build WITH Gapps, then flashed the migration build WITHOUT Gapps, and the system booted up just fine. Huh? Then I flashed my normal build DIRECTLY over the latest official build, without migration build in between, and all was STILL FINE! So uhm... what's happening, how does this signing work and when does it become a problem? I have no clue.
If you decide to try the migration route, make sure to backup any data you don't want to lose and let us know how it went!
Acknowledgements​Thanks to the original maintainers PeterCxy, cdesai and mikeioannina for bringing LineageOS 18.1 to the Pixel 4a!
Source code​
LineageOS
A free and open-source operating system for various devices, based on the Android mobile platform. This is a mirror of https://review.lineageos.org/ - LineageOS
github.com
Gcam​You can just install it from the Play Store. There are a few bugs:
In photo mode, slide up to record video doesn't work
Motion Photos doesn't work
It doesn't scan QR codes without Google Lens
App versions without Material You​If, like me, you try to avoid Material You like the plague, here's a list of the last versions of Google apps that I use(d) that don't have Material You. Note that LineageOS includes its own versions of some of them and all of them are optional anyway. You can find them on e.g. APKMirror.
Calculator 7.8
Calendar 2021.35.3
Camera 8.2.400
Clock 6.4.1
Contacts 3.49.2
Gboard 10.8.05
Maps 10.80.1
Phone 68.0.3
Photos 5.58.0
Translate 6.24.0.02
Is it wise to run older software? You decide. In an ideal world security updates and bug fixes would be separate from UI and "we decided you don't need this functionality so we removed it" updates. I've long ago stopped regularly updating my apps (i.e. turned off automatic updates) because I like to be able to trust my device will look & work the same tomorrow as it did today.
P.S. After you've installed the regular 20220815 build, the updater will keep showing an August 16 update which is actually the build you're already running. This is because I had to move the timestamp one day forward in order to enable updating from the MIGRATION build, which was also build on 20220815 and wouldn't see the regular 20220815 build as an update otherwise. This will be remedied with the next update I publish.
The September update is now live.
Does banking app works?
My bank's app has always worked fine on LineageOS. Your bank's hasn't?
icantlogin said:
My bank's app has always worked fine on LineageOS. Your bank's hasn't?
Click to expand...
Click to collapse
I had never tried this rom want to try if bank apps works out of box
icantlogin said:
The September update is now live.
Click to expand...
Click to collapse
Been using this for several days now without a hiccup , fast ,,smooth, and google proofed, Thanks!!
Thanks for keeping LOS 18.1 alive with these security updates. I recently upgraded to 19.1 to try it out for a few months but I just couldn't get used to or appreciate the new UI. With every app update they also make it more like A12 and it just wasn't working for me.
Just installed your September update and all is well so far.
The October update is live!
A little background: I'm building this ROM on a Google Cloud Compute Engine instance, which is a virtual computer (also called virtual machine or VM) running in a Google data center. To keep the VM around is very costly, as it uses 300 GB of SSD storage which doesn't come cheap. So I create a new VM every month and dismantle it afterwards. This means I have to set up the build environment from scratch every time, which consists of a lot of steps. So from the beginning, I've put most of those steps in a Bash shell script (the VM runs Ubuntu 20.04) to speed things up drastically.
Last week I added some code that generates the updater.json file (that's read by your phone when it checks for updates) which I had been creating by hand before. I also added code to automatically upload the build to SourceForge. So yesterday all I had to do was create the VM, upload the script and run it. Six hours later, your phone was able to download the update without any further intervention on my part.
What can I say, the geek in me is very happy
Hi, I thank you for your work. Would you know if I can install microg without magisk, maybe via nanodroid or similar while maintaining OTA updates?
I have no experience with that. I assume you would have to apply the signature spoofing patch and install microG before booting from the updated system partition. So after installing the OTA update boot into recovery and do this?
Hello ! How to you push the google apps on this one ?
I'd like to get a pico gapp installed to get some game running
It's in the instructions in the first post, after flashing the ROM:
Optionally flash Gapps or anything else:
Advanced > Reboot to recovery
Run adb sideload with your zip
I'm using NikGapps Core myself.
This only works if you do it before first boot by the way, as far as I know you can't put Gapps on an installation you're already using.
Hi! Do you know if this will retain microg if I dirty-flash it on top of a lineage.microg.org build (the last official release) using your MIGRATION build? If you're not sure I'll back up my stuff and give it a shot and report back Thanks a lot for your your work!
Well... I don't think that would work, since this ROM doesn't include microg and the needed signature spoofing, so my guess would be you'll just loose that—if the migration works at all. Let me know what your findings are though!
icantlogin said:
Well... I don't think that would work, since this ROM doesn't include microg and the needed signature spoofing, so my guess would be you'll just loose that—if the migration works at all. Let me know what your findings are though!
Click to expand...
Click to collapse
Here is what I found, in case it helps someone: flashing the migrate ROM and then the latest proper ROM works perfectly, however I did lose microg, system f-droid, etc, and anything which is in the lineage.microg.org build but not in this one.
Now since you are building monthly ROMs, would you consider applying the signature spoofing patch to your builds? This would make it easy for those who want to run microg instead of google play framework/gapps. As far as I understand it you just need to apply this patch with `cd android_frameworks_base; patch -p1 -i /path/to/android_frameworks_base-R.patch`. Thanks again for your efforts
I'm open to consider this, but as I somewhat but not fully grasp the security implications of enabling signature spoofing, and not everyone might want to have this enabled by default, it would have to be a toggle in Developer Options and disabled by default, or I would produce a separate build with the patch applied.
If you could find a patch for me that implements the toggle in Developer Options, that would be great. As I researched it a bit I read that some ROMs have this.
Interesting that the migration worked, by the way!
Some more thoughts on this: it seems with signature spoofing enabled on the ROM, an app still has to ask for the permission to spoof its signature, so for advanced users like us who know what we're doing, I guess that's good enough. I'll have to read up on this a bit more though. I know the LineageOS devs are against implementing it but most everyone else says it's actually not that big of a security risk.
I just reply to show you my gratitude for maintain LoS 18. I updated to 19 two weeks ago and I was literally suffering with the system theme. IDK what they were thinking but it was terrible. Also for me, on 4a, was having lag: An example is when I shuffle songs on Musicolet, they take a good while to update the information (song name, basically) while with 18 it updates as soon as I press next.
BTW, can you recommend me a good KERNEL? Thanks!

Android Security Update spoofing for Teams app

Hi All,
I'm opening this thread because I didn't find any info about my problem...
I have a couple of negative feelings with LineageOS 20 on my OP6 (okay, most of them are Android 13 specific not LOS20) and I decided to go back to the Stock OOS 11.
Unfortunately I have problem with the Stock ROM also because OP released the last Android Security Update for OP6 in 2021-NOV-1 and I want to use the Teams app on my phone but it needs Android Security Update from 2022-APR-15 and because of the outdated patch I'm not able to use it at all...
I was thinking on that maybe Magisk can help me in it to hide the real date of the security patch and "emulating/spoofing" a newer one to Teams app OR Android Faker trough LSposed/XPosed OR any other trick?
//Do you guys have any idea? (I've already tried to edit the " ro.build.version.security_patch" in build.prop but it didn't help and my phone went to bootloop (I'm absolute newby in editing the build.prop).)
Thank you in advance.
Best regards,
Peter
I don't know if build.prop spoofing is the way to go (these are just resulting infos, source is somewhere else, probably hard coded) but you must not modify build.prop because of dm-verity. better use magisk tools or magisk module
[MODULE] [DEPRECATED] MagiskHide Props Config - SafetyNet, prop edits, and more - v6.1.2
MagiskHide Props Config v6.1.2 Note: This project is dead, and has been for some time. I have not been involved in the Android modding scene for some time and I no longer have the energy to take it up again. If anyone feels like taking over...
forum.xda-developers.com

Categories

Resources