Themes / Apps / Mods Script to resign GrapheneOS with your keys and add ADB root and other changes - Google Pixel 6

I published a script that can automatically resign GrapheneOS OTAs with your own keys, and also optionally apply a few modifications like enabling ADB root (without turning on ro.debuggable), ignoring allowbackup and changing the update URL.
You can use it if you like GrapheneOS (I think it's the Android OS with the best engineering, security and privacy), but would also like to have full control of your device, by controlling the verified boot keys of your device and applying modifications that make the OS do what you want regardless of what upstream OS developers, app developers, or anyone else might want.
Note that, on the other hand, GrapheneOS follows the Google Android security model which says that the OS will not perform an action you want it to perform if it may result in something that "application developers, content producers, service providers, and employers" do not consent to (which means not letting you have root, or ignore app wishes regarding backups and other settings, or send arbitrary responses to app requests, etc.), while this script will let you do what you want with your own device regardless of whether it's in anyone else's interest or not, including things that this script does not itself support since you control the verified boot keys of the device and can thus sign anything; all this while still taking advantage of all the security and privacy features in GrapheneOS, including verified boot.
You can find it at https://github.com/chriswoope/resign-android-image
Currently it's intended for people with good technical knowledge, although once you set it up (if you run Qubes a lot of steps are automated) it should continue working with no or minimal intervention.

Thank you very much for this

Hi, do you still update your tools? I've changed quite some things while traing to get this running for a Pixel 7....
I had to adept quite some changes (e.g. for init_boot on A13 shipped device, incresed HeapSize for Java, as SmailPatcher crashes, problems while generating keys with signify-openbsd and also missing tools like zip and unzip on a fresh installed debian), but in the end I received a nice zip which I've flahsed to the device, but I ended up in a Bootloop (Google Logo, Graphene Logo, some seconds and then.. reboot).
So, did someone got this running with A13 (and at best also on a Pixel 7)?

pmatj said:
Hi, do you still update your tools? I've changed quite some things while traing to get this running for a Pixel 7....
I had to adept quite some changes (e.g. for init_boot on A13 shipped device, incresed HeapSize for Java, as SmailPatcher crashes, problems while generating keys with signify-openbsd and also missing tools like zip and unzip on a fresh installed debian), but in the end I received a nice zip which I've flahsed to the device, but I ended up in a Bootloop (Google Logo, Graphene Logo, some seconds and then.. reboot).
So, did someone got this running with A13 (and at best also on a Pixel 7)?
Click to expand...
Click to collapse
I was not able to get this working myself unfortunately
but using a different script called AVBRoot and using it on a self built build of GrapheneOS I am able to lock the bootloader with Magisk Root
I have created this guide to help people https://forum.xda-developers.com/t/...-using-rooted-grapheneos-magisk-root.4510295/

pmatj said:
Hi, do you still update your tools? I've changed quite some things while traing to get this running for a Pixel 7....
I had to adept quite some changes (e.g. for init_boot on A13 shipped device, incresed HeapSize for Java, as SmailPatcher crashes, problems while generating keys with signify-openbsd and also missing tools like zip and unzip on a fresh installed debian), but in the end I received a nice zip which I've flahsed to the device, but I ended up in a Bootloop (Google Logo, Graphene Logo, some seconds and then.. reboot).
So, did someone got this running with A13 (and at best also on a Pixel 7)?
Click to expand...
Click to collapse
Hey, did you ever get this working on Pixel 7?

User.Hemlock said:
Hey, did you ever get this working on Pixel 7?
Click to expand...
Click to collapse
You can use AVBRoot to patch and sign roms to get root with a locked boot loader using GrapheneOS
I wrote a guide here https://forum.xda-developers.com/t/...-using-rooted-grapheneos-magisk-root.4510295/

FireRattus said:
You can use AVBRoot to patch and sign roms
Click to expand...
Click to collapse
Thanks! Haven't had a chance to dig into AVBroot yet, but I'm guessing the patching capability would include things like ignoring allowbackup? (that was one of OP's features that I was interested in)

User.Hemlock said:
Thanks! Haven't had a chance to dig into AVBroot yet, but I'm guessing the patching capability would include things like ignoring allowbackup? (that was one of OP's features that I was interested in)
Click to expand...
Click to collapse
The main purpose of AVBRoot is to root and sign an image so that with pixel devices for example you can lock the bootloader and have root
With root you can achieve ignoring the allowbackup, I believe you could do this with xposed
I also just use root apps like Swift Backup to backup everything on my device

Related

[ROM][27Aug][GNU/Linux] Sailfish OS 1.1.6.27 (community port)

Announcing Sailfish for the Sony Xperia SP
This is not Android!
This should be thought of as a development experiment. It may be useful if you are a developer and want to write/port apps the the Sailfish operating system. It is not an end-user product, however, if you wish to experiment and try something different then feel free!
Please do not contact Jolla Care or Jolla Developer Care, as this is not the Jolla phone
Update 15 Feb 2016
I've uploaded a new version of SailfishOS 2.0.0.10 to the Mega folder, called sailfishos-huashan-release-2.0.0.10-1.zip. This is again based off CM-12.1, the same release as stated below. This release fixes a kernel bug which lets a lot of the Sailfish system crash. This also fixes the wlan connectivity, startup-wizard which sets the themes, on-screen keyboard not popping up, and SIM unlock never asked. I've got a fix for the backlight in the works.
Update 14 Feb 2016
A very experimental CM-12.1 based SailfishOS 2.0.0.10 build is uploaded to the Mega folder linked below.
This version is based off cm-12.1-20160212-NIGHTLY-huashan.zip. I want to stress that many things in this build are broken.
Update 05 Feb 2016
This port is heavily outdated. I do not have much spare time on my hands to continue porting but I will try to post a nightly version soon.
This version was based on Sailfish 1.1.6 and CM-11.0, but the world has moved on to Sailfish 2.0 and CM-12.1, and so must this port.
There's a photo up on imgur:
http://i.imgur.com/Vg3SZ6w.jpg
Special thanks to:
All Cyanogenmod devs, since SailfishOS uses drivers from Cyanogenmod to talk with the phone's hardware
Everyone from the SailfishOS team/community, sledges and mal- in particular.
Known issues:
Half the backlight doesnt work, this is clearly visible at the top of the screen
Bluetooth isn't turned on, cause i've put no effort in for that so far
Camera doesn't work, cause it's not hooked up to interface.
No recovery inside hybris bootimage (you need to flash manually to return to cm/use recovery)
Settings hangs for few seconds on first start (this seems to be related to bluetooth not being set up)
What works:
Texting, calling, data over mobile network (2g and 3g tested, 4g should work but is untested)
Wifi, GPS (does take a while to get a fix though), most of the sensors (proximity, lightsensor etc)
The half of the display backlight that does work is adjusted based on lightsensor input.
Charging, bottom ledbar basic functionality, audio works, audio via 3'5 jack also works.
Installation:
Insert default warranty void message here. Your warranty is now void
I have not tested this on locked bootloaders, but since I needed to modify the kernel, I guess that you need an unlocked bootloader.
Note this is not an offical Sailfish OS build, and the Xperia SP is not the Jolla phone, so please don't report bugs to Jolla. If you want to report a bug, search for it first on bit.ly/port-bugs, if your bug is not yet there, you can add it there or post it in this thread (I'll try to keep the xda thread and bugzilla in sync).
The Sailfish OS image does not provide recovery, and since the Xperia SP does not have a recovery partition, you need a seperate bootimage with only recovery on it to flash cm/stock/sailfishos upgrade.
The Sailfish OS image is based on a specific version of Cyanogenmod 11, which you will need to flash first.
You can find all the required files in a Mega folder: http://mega.nz/#F!7YhSTDIA!Akpjs8s3qT5_nEkN04fQ-Q
You can find a bootimage with only TWRP recovery in it called recoveryboot.img
This image can be flashed with fastboot (with phone turned off, hold vol up and plug in usb), then `fastboot flash boot recoveryboot.img`. After that reboot the phone (fastboot reboot), and it will boot into recovery. If you already have recovery from cm, then you can use that as well.
First do a full wipe (make a backup first if needed, TWRP can do this , then install CM11, the specific version you need is called: cm-11-20150712-NIGHTLY-huashan.zip
There is no need to reboot cause you wont use CM11 anyway, so just proceed and flash the Sailfish OS image, which is called: sailfishos-huashan-release-1.1.6.27-UNOFFICIAL-maikel-201508201214.zip
Flashing Sailfish OS is not as fast as flashing cm11, but it shouldn't take more than 10 minutes.
Then reboot. The first boot may take some time, during which the Sony logo is not displayed (WIP).
If the boot takes more than, lets say five minutes, try a reboot. You can power off the device by holding the power button until the LED bar turns red or the display brightness goes back to full, when the leds and display turn off the device is powered off.
If this doesn't work you can remove the back cover and press the little button in the little hole for 5 seconds, the device will vibrate thrice and the phone will be forced off.
If you want to return to your previous rom or restore a backup, use the recoveryboot.img using the commands stated at the top of this document, to boot into TWRP.
FAQ
You can find a FAQ which mentions most common user questions for SailfishOS here: http://forum.xda-developers.com/jolla-sailfish/general/qa-sailfish-n4-thread-devices-t2727330 . It's mainly aimed to the Nexus 4 and 5, but it's fairly applicable for all other ports as well.
Sources
In order to comply with the GPL, the kernel sources used for this port are available here:
CM-11.0 based port: https://github.com/maikelwever/android_kernel_sony_msm8x60
CM-12.1 based port: https://github.com/maikelwever/android_kernel_sony_msm8960t
edit: make links + sailfish 2.0 notice, kernel sources, 2.0 link
You rock! Very interesting project. Sailfish is an unknown world for me (and for most of us I think), I might try this ROM out sooner or later.
Why do we need to install CM11 first? Is it based on it?
Goob job bro!!!!
But I'll try this port later since it's kinda buggy
Hope you will fix those bugs.
Tomoms said:
Why do we need to install CM11 first? Is it based on it?
Click to expand...
Click to collapse
SailfishOS uses libhybris to communicate with the hardware, which in turn is talking to the Android HAL (like hwcomposer), to avoid having to write drivers for each phone, which would be pretty much impossible due to the proprietary blobs used on almost every phone.
The libhybris build included in this SailfishOS port is based on CM11, so that's why you need that.
CM12 based SailfishOS is currently experimental, when that gets more stable I will try to make a CM12 based build.
I tried the earliest version that was available on your git earlier this month, working great, just that it gets frustrating when Settings try to crash when you just opened and i just can't seem to install openrepos Warehouse from the command line...
boylush said:
I tried the earliest version that was available on your git earlier this month, working great, just that it gets frustrating when Settings try to crash when you just opened and i just can't seem to install openrepos Warehouse from the command line...
Click to expand...
Click to collapse
Installing packages from command line was fixed in the version linked in this thread. This had to do with some repositories that were unavailable (cause they pointed to local disk of buildmachine), causing zypper to hang on updating.
Those packages have been moved to the community buildserver, which hosts the packages online, thus fixing the hang you experienced while trying to install openrepos. If you still experience problems with the latest build: try a 'zypper rr adaptation0' before installing an app. If it complains about missing libsailfishapp, do a 'zypper ref' and try installing again.
Ninja edit: I'm considering bundling the openrepos warehouse with the zip, since I use it a lot myself as well, and we are in the process of enabling the official Jolla store (without Android support though), which should smooth out installing apps as well.
maikoool said:
Installing packages from command line was fixed in the version linked in this thread. This had to do with some repositories that were unavailable (cause they pointed to local disk of buildmachine), causing zypper to hang on updating.
Those packages have been moved to the community buildserver, which hosts the packages online, thus fixing the hang you experienced while trying to install openrepos. If you still experience problems with the latest build: try a 'zypper rr adaptation0' before installing an app. If it complains about missing libsailfishapp, do a 'zypper ref' and try installing again.
Ninja edit: I'm considering bundling the openrepos warehouse with the zip, since I use it a lot myself as well, and we are in the process of enabling the official Jolla store (without Android support though), which should smooth out installing apps as well.
Click to expand...
Click to collapse
OMG Sailfish uses zypper? I must try this thing ASAP!
Can we install Android apps in it somehow?
Tomoms said:
OMG Sailfish uses zypper? I must try this thing ASAP!
Can we install Android apps in it somehow?
Click to expand...
Click to collapse
Yes Sailfish uses zypper, and also has pkcon (from PackageKit) available as a frontend. Sailfish is based on Mer, which is it's own Linux distro, so don't expect the huge amount of packages that are available on desktop Linux systems that use zypper. Multiple community members provide repositories with builds of common unix tools that are not bundled by default (openrepos) though. As far as I know, Mer is closest to OpenSUSE with the package guidelines (I'm no expert on this though).
Android apps are supported on the official Jolla hardware using AlienDalvik. AlienDalvik is proprietary and not gratis software and thus not available for community ports like this one. I just added a link to a XDA thread with a Sailfish user FAQ to the startpost, which goes into this subject in more detail and provides anwers to other common questions.
There are multiple community projects going on to provide support for running Android apps, which I'll look into when all the Sailfish native stuff works properly.
There's apkenv, which is a very basic way to run some Android games on Sailfish ports.
There's some way to run full Android in a chroot and pipe the UI to a Sailfish app window.
And then there's shashlick, from the KDE team, which tries to map Android UI to QT.
I have not tested any of these three (yet), and there may be more options than this available.
maikoool said:
Yes Sailfish uses zypper, and also has pkcon (from PackageKit) available as a frontend. Sailfish is based on Mer, which is it's own Linux distro, so don't expect the huge amount of packages that are available on desktop Linux systems that use zypper. Multiple community members provide repositories with builds of common unix tools that are not bundled by default (openrepos) though. As far as I know, Mer is closest to OpenSUSE with the package guidelines (I'm no expert on this though).
Android apps are supported on the official Jolla hardware using AlienDalvik. AlienDalvik is proprietary and not gratis software and thus not available for community ports like this one. I just added a link to a XDA thread with a Sailfish user FAQ to the startpost, which goes into this subject in more detail and provides anwers to other common questions.
There are multiple community projects going on to provide support for running Android apps, which I'll look into when all the Sailfish native stuff works properly.
There's apkenv, which is a very basic way to run some Android games on Sailfish ports.
There's some way to run full Android in a chroot and pipe the UI to a Sailfish app window.
And then there's shashlick, from the KDE team, which tries to map Android UI to QT.
I have not tested any of these three (yet), and there may be more options than this available.
Click to expand...
Click to collapse
man i was waiting for this thing :fingers-crossed:
A small review of this OS:
The flashing process isn't very short, but in my case the OS booted in less than 30 seconds
There are only 10 - 12 installed apps: Settings, Contacts, Camera, Telephone etc.
The terminal emulator is fully-featured but it has got a bug: the screen orentation is the opposite of the real one (when the phone is horizontal, the terminal is vertical and vice versa). But as I've just said, it happens only in terminal.
WiFi doesn't seem to be working, but SIM card signal works (2G and 3G - no LTE); mobile data - I don't know.
The GUI is shiny and transparent and the whole OS is based on gestures. There's a little tutorial after the first boot thats help you understand how to use the phone fastly. I didn't open the Jolla store as I couldn't use mobile data at that moment.
During my 10-minute-long test, the screen randomly locked by itself; there is another bug: when the screen is locked, backlight doesn't turn off unfortunately.
A strange thing of Sailfish is that the app you're using is always fullscreen, there's no notification/status bar at all. The navbar also doesn't exist, as you can go back and to homescreen with gestures.
The developer mode is also interesting, it lets you connect to your phone remotely over the network.
Basically, this port of Sailfish at the moment is a very early alpha, but it's the dream of the geek: a full Linux experience with command-line package manager etc. I hope to see improvements in the future
will follow this thread closely...........
finally something new and different to use.
cheers
avi.singh9993 said:
will follow this thread closely...........
finally something new and different to use.
cheers
Click to expand...
Click to collapse
And now the Jolla Store should be enabled! \o/ Please try it out and tell us 
This looks really good, if it will ever be in daily driver state this will be my go to rom
sledges said:
And now the Jolla Store should be enabled! \o/ Please try it out and tell us 
Click to expand...
Click to collapse
yeah i would love to try, but i need my phone as a daily driver many important work related.
why don't you all post on official facebook page, i'm sure 90 percent people do not know about this and are willing to try and submit bug reports which in turn helps in faster development of this project.
avi.singh9993 said:
yeah i would love to try, but i need my phone as a daily driver many important work related.
why don't you all post on official facebook page, i'm sure 90 percent people do not know about this and are willing to try and submit bug reports which in turn helps in faster development of this project.
Click to expand...
Click to collapse
Why don't you post please? DIT - doing it together!
sledges said:
Why don't you post please? DIT - doing it together!
Click to expand...
Click to collapse
well i asked my friend to post it,
many people saw it but unfortunately not much of a positive feedback.
now it's onto developer and his hardwork to develop and make it atleast daily driver. then some people will be interested in trying it
Tomoms said:
A small review of this OS:
The flashing process isn't very short, but in my case the OS booted in less than 30 seconds
There are only 10 - 12 installed apps: Settings, Contacts, Camera, Telephone etc.
The terminal emulator is fully-featured but it has got a bug: the screen orentation is the opposite of the real one (when the phone is horizontal, the terminal is vertical and vice versa). But as I've just said, it happens only in terminal.
WiFi doesn't seem to be working, but SIM card signal works (2G and 3G - no LTE); mobile data - I don't know.
The GUI is shiny and transparent and the whole OS is based on gestures. There's a little tutorial after the first boot thats help you understand how to use the phone fastly. I didn't open the Jolla store as I couldn't use mobile data at that moment.
During my 10-minute-long test, the screen randomly locked by itself; there is another bug: when the screen is locked, backlight doesn't turn off unfortunately.
A strange thing of Sailfish is that the app you're using is always fullscreen, there's no notification/status bar at all. The navbar also doesn't exist, as you can go back and to homescreen with gestures.
The developer mode is also interesting, it lets you connect to your phone remotely over the network.
Basically, this port of Sailfish at the moment is a very early alpha, but it's the dream of the geek: a full Linux experience with command-line package manager etc. I hope to see improvements in the future
Click to expand...
Click to collapse
I agree totally that it's the dream of a geek. I've noted all your comments and will try to fix them. Thank you very much for taking the time to test!
Spasik said:
This looks really good, if it will ever be in daily driver state this will be my go to rom
Click to expand...
Click to collapse
That's what I'm aiming for too!
avi.singh9993 said:
yeah i would love to try, but i need my phone as a daily driver many important work related.
why don't you all post on official facebook page, i'm sure 90 percent people do not know about this and are willing to try and submit bug reports which in turn helps in faster development of this project.
Click to expand...
Click to collapse
Sorry, but I couldn't care less about Facebook. I'm pretty convinced that everyone that is willing to try something like this is already on XDA anyway. Hopefully the work related part will be better possible when Android app emulation or something similar finally makes it to community Sailfish builds.
PS: I've been a bit busy with other things lately, sorry for not responding that fast. I'll try to roll a build with fixes and the latest Sailfish (1.1.7.28) asap.
This has changed the mac of my device
can I ask how's the development going?
If someone could port the only rom i would like to be ported on the SP: ColourOS, it will be AMaZING

Some Hacking in Yoga Book

Hi folks.
I'm an Android firmware developer (you can see my posts here in xda) that got a yoga book yesterday. For me it works at it should (by now) but my hacker soul speak to me and said: "at least take a look to see what you can get from this device". I don't have many time, so I can't spend time doing roms or fixing things by myself, but I can share with you some info I get and help you with my knowledge if someone is interested in "play" with this device.
First of all, I'm not responsable of anything that you can break following these steps. Almost all of them are tested and with some common sense you will not break anything, and if you break anything I will try to help you to fix it (if you are polite), but this is a work in progress and hacking and the possibility of brick the device is always there.
I only have the Android version without LTE, so I only tested in my Book.
So, here we go:
1) Secret codes:
I get this codes decompiling EngineeringCode.apk with apktool. Be carefull with them:
####0000# - Display version info
####7599# - Display hardware info
####8375# - Display baseband info
####1111# - Factory test
####2222# - Display SN
####7777# - Factory Reset???
####5993# - Display internal frameWork version
####7642# - Cut the power off to reload the PMIC - This command shutdowns the device. Just press the power button to reboot.
####5236# - Display LCD name
####2834# - ES close test
####8899# - open the ums mode default for debug
####3333# - offline log
####3334# - offline modem log
####9527# - Mediaplayer setting
####78646# - RunIn test
####6020# - switch country code
####59930# - Display current country code
####8746# - Enter engineering mode
####4227# - Enter engineer test
####357# - DLP_TEST
To use these codes, open the contacts app, press the search button and enter the code in the search bar.
2) OTA Images
You can get OTA images directly from lenovo servers. Just open your browser and paste this url:
http://fus.lenovomm.com/firmware/3....WW06_BP_ROW&action=querynewfirmware&locale=en
Change device model if needed (LenovoYB1-X90F or LenovoYB1-X90L)
Change curfirmwarever to a valid OLD firmware, this way you will get the next one in age.
Change locale if needed.
With this url you will get a download url at the end of the result page. In this case: http://tabdl.ota.lenovomm.com/dls/v...S000426_1705080316_WW06_BP_ROW_WC80C2A0F2.zip
These images are not full ota images, they are diff versions. This means that we can't use them to mod the image, or recover a bricked device, but this is a first step
3) Custom images
We don't have real sources to build a custom image (the lenovo's open source files are useless), but this doesn't mean that we couldn't modify stock images to take out useless apks or get better performance.
We can get this using an Android Kitchen and a full update image for the device.
As Android kitchen you can use SuperR kitchen (https://forum.xda-developers.com/ap...chen-superr-s-kitchen-v1-1-50-v2-1-6-t3597434)
As full image, I only tested the one here (https://easy-firmware.com/index.php?a=browse&b=category&id=19521) because I can't download any newer one.
I tested uncompressing it, deodexing the apks and doing a new image. But I don't test it in the device because I need to install twrp to flash the new image and I don't have time to test. But this should work, I did it many times so if someone is interested I can give steps to do it and support for testing.
If someone can get the latest full images, send then to me and maybe I can get some time to do some tests.
PD: Probably we could use this as a base to get LineageOS 14.1 working: https://github.com/latte-dev/android_device_xiaomi_latte/tree/cm-14.1
So, if you are interested in some hacking with the Yoga Book, contact me and we could team to get the most of this device.
First of all thank you for your post, it´s really useful
if you could somehow manage to boot windows on this machine it´s by far the greatest war we have right now.
Il promise you a lunch or dinner on Lisbon whenevere you want!
joao1979 said:
First of all thank you for your post, it´s really useful
if you could somehow manage to boot windows on this machine it´s by far the greatest war we have right now.
Il promise you a lunch or dinner on Lisbon whenevere you want!
Click to expand...
Click to collapse
Sorry, my knowledge of Windows is only user level . Install it in personal computer to play games .
But I really don't know why people wants to run Windows there, it will go slowly than Android and its less touch oriented... but I suppose that this is a chat for another thread
corvus said:
Sorry, my knowledge of Windows is only user level . Install it in personal computer to play games .
But I really don't know why people wants to run Windows there, it will go slowly than Android and its less touch oriented... but I suppose that this is a chat for another thread
Click to expand...
Click to collapse
in my particular case, i´l admit that is for football manager the touch version
joao1979 said:
in my particular case, i´l admit that is for football manager the touch version
Click to expand...
Click to collapse
Have you tried running it through Crossover? It may be in its infancy but i have got a few apps running OK with it.
I have the full "YB1-X90F_USR_S000196_1611040312_WW06_BP_ROW" I can upload somewhere if anyone can suggest a good site to do so without signing up? The file is about 2.5gb
It will be great if we could get the latest version, because maybe these older versions have older files that we have updated in our tablets.
Mixing files could give unknown problems
The current TWRP is based on the new Yoga Tab 3
I am starting to think they do not do full roms for this in the same way they do for a lot of their other devices.
We know the otas are available from tabdl.ota.lenovomm.com/dls/v6/ and are named according to the 2 builds that it bridges. As easy-firmware had the december full rom under the file name B1-X90F_USR_S000196_1611040312_WW06_BP_ROW-flashfiles.zip I had hoped that I could work out the file path to pull it down.
There were some interesting ideas here, https://forum.xda-developers.com/android/help/how-download-stock-roms-lenovos-ota-t3109507 but it seems there is a difference between phonedl.ota and tabdl.ota
Queries to full roms that work for phones, don't seem to work for the yoga book.
Anyone with more web knowledge able to pick this up? I am not sure the files are there but I feel they should be.
Good luck
Update: the downloads seem to be hosted via CloudFront. An Amazon service, but I can not find out a way of listing the available files. The latest full rom would be
http://tabdl.ota.lenovomm.com/dls/v6/YB1-X90F_USR_S000426_1705080316_WW06_BP_ROW_WC80C2A0F2.zip
But the Last 8 chars are random and we do not know what they are.
So we have two hopes. First work out the right query to the link from fus.lenovomm.com or two find a way of listing files available in tabdl.ota.lenovomm.com/dls/v6
Not sure I have got much further but ill keep trying when I can.
Hey, I should mention that I have some files that you may find helpful; I got them from the easy firmware website. They're all the .img files for each partition in Android (ie. boot.img, cache.img, config.img, factory.img, recovery.img, system.img) as well as: biosupdate.fv, bootloader, firmware.bin and gpt.bin. However, these of course aren't in the normal "flashable .zip ROM" format. So unless you know how to take apart these .img files they aren't very useful. If you need any more help or have any other questions about how far we've come on our own, feel free to ask. danjac also has great knowledge of our efforts.
Yes, I know how to use them, unpack, modify, etc. But what I want is the latest version, no a old version (I hav these files too). If you have them I can do some changes, debloat, etc.
Anyway, I see little interest in custom roms in this forum ( probably because it's not a device with a lot of users or the users are not the techy kind), so I prefer to help others with info than do a custom rom that only 2 or 3 people will use. Doing custom roms is a time hungry task and probably it doesnt worth the effort. Anyway this device is not full of bloatware like samsung ones, so it useable as it is.
As I said in my first post if anyone is interested I can give some hints and support to modify the full image (but only the latest one).
It's so sad that there are only a few interested owners of this tab - it's such a nice device but i fear the day lenovo decides to end their support for it. There will be no custom roms to switch to and keep the device alive - it will be a soon to be bit of old tech garbage BTW. I still use my Asus Transformer Prime because of the nice community
@NiffStipples I fully agree. This device is so powerful and its a suprise that it is invisible to the "market". In my humple opinion the normal ROMs aren't that bad besides missing updates but I would love to see all the power served through a custom rom. unfortunately programming is not my business
Stefan
Broomfundel said:
Have you tried running it through Crossover? It may be in its infancy but i have got a few apps running OK with it.
Click to expand...
Click to collapse
Interesting - is Crossover good (and does it require factory reset)?
Hi, It works well with some things and not others. Often the why and where are not obvious. It is basically "wine" the layer that allows some windows apps to run on a linux install. Tweeked to work with android. Just an install to put crossover on. Then another install (Within crossover), to put you app on crossover. If it doesn't work out of the box, there windows libraries you can switch out and dependencies you can install. (Eg: directx , .net) Even if your not technical. I would say get on the beta program and give it a try.
Hi! what do you mean by "lenovo's open source files are useless"? do you refer to this packet on lenovo's suppport site? download.lenovo.com/consumer/open_source_code/lenovo_yb1_x90f_l_osc_201608.zip
I've entered the Android YogaBook's BIOS and noticed that VT-X is enabled by default! With Limbo x86 we could get a fully working virtualized Windows or Linux, if it wasn't for... KVM. It seems like it's not enabled in Lenovo's default kernel. Could we get to recompile the kernel with this option on? i'm not a big android/ROM expert but i surfed the open_source_code folder from Lenovo and it seemed, to me, that we could rebuild the Kernel at least.
This could really change things!
morrolinux said:
Hi! what do you mean by "lenovo's open source files are useless"? do you refer to this packet on lenovo's suppport site? download.lenovo.com/consumer/open_source_code/lenovo_yb1_x90f_l_osc_201608.zip
I've entered the Android YogaBook's BIOS and noticed that VT-X is enabled by default! With Limbo x86 we could get a fully working virtualized Windows or Linux, if it wasn't for... KVM. It seems like it's not enabled in Lenovo's default kernel. Could we get to recompile the kernel with this option on? i'm not a big android/ROM expert but i surfed the open_source_code folder from Lenovo and it seemed, to me, that we could rebuild the Kernel at least.
This could really change things!
Click to expand...
Click to collapse
How did you enter the bios? Can you boot from usb?
anyone managed to use swiftkey keyboard?

Exchange platform-signature in custom ROM

Hi there -
short prologue: I am working on my bachelor thesis and must develop a service that keeps a record of how often a user actively uses the application permission settings of Android 6 and above. The main goal is to have a custom ROM which can be deployed on several phones to conduct a survey.
I identified the file where these settings are stored:
Code:
/system/users/0/runtime-permissions.xml
I want to set up a service running a FileObserver to keep track of the changes in this file. The file is not accessible by normal applications (permission -rw-------) but the service has to run without superuser.
So I want to sign my application with the platform key to obtain system permissions. I am totally clear on the purpose of this security concept and I know that I cannot get the original key. The resulting ROM is not going to be public and is used only in a controlled group for research purposes.
My question is how to exchange the signature/key with what the system applications of my actual ROM are signed. So that I sign my own apk with the same key so it has the special permission. I found the answer to this exact question on stackoverflow but it is quite old and I did not succeed with this explanation.
Do you know if there is another, more current approach?
Thanks in advance!
Device is a Xiaomi Redmi 4X running stock MIUI 9 (Android 7.1.2)
Just have the app built as part of the rom. This will make sure they both have the same signature.
zelendel said:
Just have the app built as part of the rom. This will make sure they both have the same signature.
Click to expand...
Click to collapse
What do you mean by "built as part of the rom"? I cannot build the rom from aosp because the device should run the original MIUI firmware. I used SuperR's Kitchen to modify the rom. Is this not suitable?
That will not work no. Maybe you could try using their patch rom setup. As very little is done with miui here, you mugjt be better off asking in n their forums.
zelendel said:
That will not work no. Maybe you could try using their patch rom setup. As very little is done with miui here, you mugjt be better off asking in n their forums.
Click to expand...
Click to collapse
Can you explain, why this wont work? I supposed I just have to exchange all the signed apk files. When I re-sign them with apksigner then they also obtain the self-signed certificate containing the public key. So why is this not enough? Is there another instance in the OS which checks the app signature on boot?
The entire system partition uses the same signature. So I guess you could go through and recompile everything with the new key but I doubt it would work. Many oem system apps won't work without their oem signature.
Like I said. You maybe better off asking over in the miui forums as very little is done here for it.

[APP][R][XPOSED] GravityBox v11.0.5 for Android 11 [08/08/2021]

GravityBox - all-in-one tweak box - Xposed module for devices running Android 11
Version 11.0.5 [R]
Version for JellyBean is available in this thread: https://forum.xda-developers.com/showthread.php?t=2316070
Version for KitKat is available in this thread: https://forum.xda-developers.com/showthread.php?t=2554049
Version for Lollipop is available in this thread: https://forum.xda-developers.com/showthread.php?t=3037566
Version for Marshmallow is available in this thread: https://forum.xda-developers.com/showthread.php?t=3251148
Version for Nougat is available in this thread: https://forum.xda-developers.com/showthread.php?t=3653953
Version for Oreo is available in this thread: https://forum.xda-developers.com/showthread.php?t=3739929
Version for Pie is available in this thread: http://forum.xda-developers.com/showthread.php?t=3908768
Version for Q is available in this thread: http://forum.xda-developers.com/showthread.php?t=3974497
READ THIS POST CAREFULLY BEFORE PROCEEDING ANY FURTHER
Introduction
The app utilizes Riru-EdXposed Magisk module which uses original Xposed Framework API created by rovo89.
!!!!!! WARNING !!!!!!
This module utilizes EdXposed Framework which is still in early development stage and may contain bugs or might not be fully compatible with the system of your Android device. I take no responsibility for any issues arising from using GravityBox with EdXposed and strongly recommend creating a full backup of your device before activating the module.
Requirements
- Magisk v21 or later
- Riru v23 or later (Magisk module)
- EdXposed Manager (Application)
- Avoid using Resource hooking support if possible (Can be disabled in EdXposed Manager settings)
Installation
This procedure assumes you have working Magisk installation.
1) Install Riru module in Magisk Manager
2) Install and run EdXposed Manager app and download Riru-EdXposed module v5.1.3.x or later (currently Alpha/Canary)
3) Install downloaded Riru-EdXposed module in Magisk Manager
5) Reboot and open EdXposed Manager app to check if EdXposed works and is active
6) Install GravityBox and enable it in EdXposed Manager
7) Reboot and profit
Required whitelisted packages
In case you use blacklist/whitelist functionality of EdXposed make sure all the following packages are whitelisted (not blacklisted respectively) for full GravityBox experience.
- Android System (android)
- System UI (com.android.systemui)
- Call Management (com.android.server.telecom)
- Download Manager (com.android.providers.downloads)
- Phone (com.android.dialer or com.google.android.dialer)
- Phone Services (com.android.phone)
- Phone (com.android.incallui) (OxygenOS only)
- Keyboard app (e.g. Gboard) in order to be able to use "Volume key cursor control" feature
It is strongly recommended to use Whitelist functionality for better performance as EdXposed hooks only smaller amount of processes.
In case of running multiple Xposed modules consult their whitelist requirements with the devs of module.
Feature highlight
--- Lockscreen tweaks
--- QuickSettings tile management with additional tiles
--- Statusbar tweaks
--- Navigation bar tweaks
--- Pie controls
--- Power tweaks
--- Display tweaks
--- Phone tweaks
--- Media tweaks
--- Hardware/navigation key actions
--- GravityBox Actions - interface for 3rd party apps
--- Notification control (per-app notification LED/sounds/vibrations)
--- Fingerprint launcher
--- Advanced tuning of Framework and System UI parameters
... and many more
Compatibility
GB's main concept is to make most of the preference changes to be done on the fly without need to reboot a device to achieve custom-ROM like experience.
This means it is not possible to "completely deactivate" particular feature if it causes trouble on your device or if you installed GB because you want to use only one particular feature you can't find elsewhere.
This results in issues on ROMs/devices that have parts that are diverting from default Android implementation too much, or are running heavily modified custom ROMs.
If you experience weird issues after installing GB, even if you didn't activate a particular feature, it is not because of GB is broken, it is because it is not compatible with your ROM.
It is very similar to a situation when you installed ROM built from source for Nexus to some Xperia device - it won't work.
GB is a complex module and is not suitable for 1 purpose scenario. This means, if you are running custom ROM built from source, and you are missing a certain feature, your best option is to go ask creators of those ROMs to implement those additional features. Supplementing missing features on well-known custom ROMs built from source by installing xposed modules (especially complex ones) is definitely not a good way to go and can cause more trouble than good.
GB being a complex module, it shouldn't be combined with other complex modules often racing for the same goal. They can conflict/fight on the same playground and there's no way you can deterministically say which one's going to win. They can even lose both.
So in summary:
- this module is designed to run on vanilla or close-to-vanilla Android 11 (AOSP)
- officially supports devices/systems it was developed and tested on
- Samsung, HTC, MIUI, Xperia, Lenovo, etc. are NOT supported. It is not guaranteed this module will work on these at all so try at your own risk. This module is simply too complex to support all kind of ROM brands that were vastly modified by vendors.
- DO NOT USE WITH CUSTOM ROMS MODULE WAS NOT EXPLICITLY DESIGNED FOR
- I will not implement any exceptions that will adapt this module to a specific custom ROM. Please, do understand, it is unmanageable.
- I will not provide any support for devices violating these compatibility rules
GravityBox [R] has been designed for and tested on
- Pixel 3a running Google OS
- OnePlus 7Pro running Oxygen OS 11
Reporting bugs
If possible, please use Github issue reporting interface for reporting bugs.
If you experience problems with certain feature, provide the full-detailed info that can help me
to reproduce the bug and attach logs that can be exported from EdXposed Manager app.
Real-time logging can be performed by using ADB: adb logcat -s EdXposed-Bridge
In case you experience SystemUI crashes or other apps Force Closing, or device soft reboots, attach logcat from time
crash occurs. (use adb logcat *:E or your favorite logcat app from Play Store).
Please, don't attach big logs. Only the portion where error is clearly seen.
Disable all other xposed modules before reproducing bug to make sure it is really GravityBox related
Remember, this app was developed and tested on one particular device so it is not guaranteed that it will work flawlessly on yours.
Multilanguage support
Volunteers are welcome to translate GravityBox to other languages.
Preferred way is to use GitHub interface to fork your own copy of GravityBox, make changes and then send pull request against original repository.
Anoter way is to simply download this file: https://github.com/GravityBox/GravityBox/raw/r/GravityBox/src/main/res/values/strings.xml
Use Notepad++ to edit strings and then send me edited file so I can include translations into next release.
Source code
GravityBox is opensource. Sources are available in my gihub: https://github.com/GravityBox/GravityBox/tree/r
If you're a dev and have some ideas for additional features, feel free to fork it, work on it and send the pull requests.
Copyright notice
https://github.com/GravityBox/GravityBox/blob/r/NOTICE
Support development
Coding, maintaining and supporting this project costs me a lot of my precious time. If you find this project useful, you are more than welcome to support its development via donation. This form of support is meant to compensate for my time dedicated to the community + eventually, help me to afford newer device to keep up with AOSP evolution thus providing continuous support as Android evolves. Thanks!
Info about premium features and PayPal transaction ID verification system
1) Those who supported development via PayPal donation can use their PayPal transaction ID to unlock premium features.
As of v2.9.5, there are three premium features:
- Backup/restore of GB settings.
- Ultimate notification control
- Advanced Tuning
2) If you contributed to the project by providing translations, code fragments, or by any other way
you can apply for a free transaction ID by contacting me via PM.
3) Be aware that there's a system that can identify potential transaction ID
abuse. E.g. when one ID is being used by more users. Such IDs will get blocked automatically.
In case you own more devices, you can use one transaction ID on up to 10 of them.
4) If you are using your own custom builds of GB for personal use, you will get hash mismatch
upon verifying your ID as verification system accepts requests only from official releases of GB.
If you want to be able to verify IDs with your custom build, contact me via PM so I can setup
a special hash for your build.
If you are using a custom build that you provide for broader group of users (e.g. in a custom ROM),
it is necessary to ask for new hash everytime your new custom version is released for public use.
These rules are based on mutual trust so please, do not violate them.
Credits
- RikkaW for creating and maintainng Riru Magisk module
- solohsu & MlgmXyysd for creating and maintaining EdExposed Magisk module
- @frank93 for donating Pixel 3a for development
- @bgcngm for his code contributions to the project
- @MohammadAG for Xperia specific contributions to the project
- @rovo89 for his ultimate Xposed framework and "Volume keys to skip track" mod
- @peptonib for starting me up with this project
- @simmac for app icon
- @romracer for Motorola specific code contributions
- @firefds for Samsung specific code contributions
- CyanogenMod project
- ParanoidAndroid project
- Slim, RootBox, AOKP, OmniROM projects
- Sergey Margaritov for ColorPickerPreference
- ArthurHub for Image cropping library
- All those who provided translations for different languages (Mr.Premise, peptonib, kidmar, ch-vox, romashko, Indiant, lelemm, oicirbaf, unavix, LuHash, WedyDQ10, mp3comanche, awaaas, liveasx, samsonbear, Eric850130, xtrem007, benjoe1, asmb111, Fatih Firinci, ...)
- and finally, all those who keep the project alive by supporting me via donations (you know who you are)
Changelog
https://github.com/GravityBox/GravityBox/blob/r/CHANGELOG.txt
Changelog 11.0.5 - 08/08/2021
- Lockscreen: added option to blur media artwork on lockscreen (thanks to robbins)
- Navbar: allow cursor control keys in gestural navbar
- Dialer: adjusted for compatibility with the latest Google Dialer
- Properly identify OnePlus 8T as device running OxygenOS ROM (thanks to F-i-f)
--- should improve compatibility significantly
Developed and tested on:
- Pixel 3a running Google OS
- OnePlus 7Pro running Oxygen OS 11
Current issues
- Display: Expanded Desktop - immersive modes not working
- Key actions: Home double-tap not working
- Lockscreen: Changed custom carrier text won't appear immediately
- Custom Battery indicator: stock battery may appear for a while after the reboot
- ... + potentially others mainly device/system variation specific
Removed features
- GPS and SlimKat tiles - location modes (battery saving/high accuracy/device) no longer exist in Android 11
- Audio Recording tile - background recording of audio not possible in Android 11
Download
https://github.com/GravityBox/GravityBox/releases/tag/v11.0.5_r
Settings
It is possible to restore settings that were backed up in GravityBox [Q]
Simply transfer "GravityBox" folder from internal storage of one device to internal storage of another device.
Required whitelisted packages
In case you use blacklist/whitelist functionality of EdXposed make sure all the following packages are whitelisted (not blacklisted respectively) for full GravityBox experience.
- Android System (android)
- System UI (com.android.systemui)
- Call Management (com.android.server.telecom)
- Download Manager (com.android.providers.downloads)
- Phone (com.android.dialer or com.google.android.dialer)
- Phone Services (com.android.phone)
- Phone (com.android.incallui) (OxygenOS only)
- Keyboard app (e.g. Gboard) in order to be able to use "Volume key cursor control" feature
It is strongly recommended to use Whitelist functionality for better performance as EdXposed hooks only smaller amount of processes.
In case of running multiple Xposed modules consult their whitelist requirements with the devs of module.
Credits
@frank93 for donating Pixel 3a for developemnt
Commit history
Commit history for transition from 11.0.4 to 11.0.5
@C3C076
Mate, you did it. Congratulations.
Can't wait to try it out.
Really appreciate your efforts in bringing this to us 11ers.
Cheers
2021 is looking good! Thank you so much. Working flawlessly on my pixel 3a
@C3C076
THIS is the first gift I've received of the new year. Thank you, sir!!!
Now, that's pretty awesome!
And the January update from Google should drop soon as well.
Thanks a lot @C3C076!
Got my Github notification this morning about the [R] pre-release! Just now updated my Pixel 4 XL from 08-2020 (Android 10) to 09-2020 (Android 11) using my keep root / seamless update method with no problems. Everything working perfectly fine! All I had to do was first disable GravityBox [R] in EdXposed Manager, and disabled Kirisakura AK3 (kernel) module helper in Magisk Manager. Upgraded to Android 11 with no issues at all, and everything system and root-wise seems to work perfectly fine. My current running list of Magisk / Xposed modules: https://forum.xda-developers.com/t/guide-edxposed-gpay-discussion.3992607/post-84193393
(I'm hoping @Ghisy finds this helpful, hehe)
Though I'm gonna play it safe and OTA each month, instead of factory image (sans "-w" flag) jumping. Gonna work my way up to the current firmware, then test out GravityBox [R] - thanks so much @C3C076! The fact that so many people like me have held off on upgrading to the latest Android version just based on your work should speak volumes! I'll report back once I'm able to actually play around with GB[R] some. The baby's starting to wake... :O
edit: my son rolled over, coo'ed, and faceplanted back to sleep <3
- Also should note, I was on Kirisakura 5.2.6 kernel before. Now on 6.6.0, all is well!
- Also wanted to note, SafetyNet was passing (with my current configuration) on 09-2020 build with no further modifications necessary. I just finished updating up to 12-2020, and SafetyNet is still passing . Activating GravityBox module now, and will further report back!
edit 2: Seems verrrry stable so far! The only thing I found that didn't work properly (or rather, worked 80% correctly) was for an option that I don't even normally use, and accidentally toggled, haha. Under QuickSettings management -> Tiles per header, each option works fine, but when selecting 8, it still only shows 7.
Other than that, at least as far as the options that I personally use, everything seems fine! I didn't get a chance to test out every function affected by my set of GB options in such a short time, of course, but I will certainly report if there are any issues. And of course I won't list every single option I ticked off, but attached is my backup file / preferences of my current config for anyone who may be curious. Again, keep in mind that compared to the vast functions GB offers in totality, I only use what I use so of course I can't account for the entirety of GB. But from what I've tested so far, it seems damn stable and this has made my transition to Android 11 pretty much seamless!
and @Ghisy, I'll send you some more details when I get a chance, certainly well before the weekend. Though if it's any consolation, in total the actual updating process only took me about an hour, if not less! Probably took me more time to actually download the files and prep, lol. XD
i5lee8bit said:
Just now updated my Pixel 4 XL from 08-2020 (Android 10) to 09-2020 (Android 11) using my keep root / seamless update method with no problems.
[...]
My current running list of Magisk / Xposed modules: https://forum.xda-developers.com/t/guide-edxposed-gpay-discussion.3992607/post-84193393
(I'm hoping @Ghisy finds this helpful, hehe)
[...]
Activating GravityBox module now, and will further report back!
Click to expand...
Click to collapse
Ha, thanks!
I'd be interested in your seamless update process if you don't mind sharing! Although I might go the image (sans -w) route instead.
Not sure I'll update until the week-end, I don't have much time on weekdays.
Ghisy said:
Ha, thanks!
I'd be interested in your seamless update process if you don't mind sharing! Although I might go the image (sans -w) route instead.
Not sure I'll update until the week-end, I don't have much time on weekdays.
Click to expand...
Click to collapse
see my edit above =)
But I also wanted to separately post a big finding of great news (at least for me)! - The volume key cursor control option now seems to persist through reboots, without needing to toggle the option again after reboots! Not sure, tbh, if this was fixed on [Q] already due to / as a side effect of the big Riru / EdXposed updates, but at least I can confirm that it definitely works on [R] now as intended. Woohoo!
Also @C3C076, donated an extra $10 USD via PP (20485146561217901). You're already very generous for enabling Family Library, and this should cover for installing the unlocker on my backup/secondary Android devices as well as my wife's phone. I also figured it would be better to donate via PP than disabling Family Library and purchasing again from Play Store, assuming higher fees from Google.
i5lee8bit said:
see my edit above =)
But I also wanted to separately post a big finding of great news (at least for me)! - The volume key cursor control option now seems to persist through reboots, without needing to toggle the option again after reboots! Not sure, tbh, if this was fixed on [Q] already due to / as a side effect of the big Riru / EdXposed updates, but at least I can confirm that it definitely works on [R] now as intended. Woohoo!
Also @C3C076, donated an extra $10 USD via PP (20485146561217901). You're already very generous for enabling Family Library, and this should cover for installing the unlocker on my backup/secondary Android devices as well as my wife's phone. I also figured it would be better to donate via PP than disabling Family Library and purchasing again from Play Store, assuming higher fees from Google.
Click to expand...
Click to collapse
Thanks. Your support is very much appreciated. Too kind. Interesting find about volume key cursor control. As you can see in the 2nd post I listed it there as currently not working . Looks like I'll have to take a look again. Do you use whitelist (App list mode enabled in EdXposed settings) ?
i5lee8bit said:
see my edit above =)
Click to expand...
Click to collapse
would you mind sharing your upgrade procedure from android 10 to 11 though? i’m not sure why, but my "usual" procedure (using the complete firmware, patching the boot.img, flashing everything including that boot-image afterwards) fails with all of the android 11 images. :/
(feel free to directmessage if you think it’s off topic here of course.)
frank93 said:
would you mind sharing your upgrade procedure from android 10 to 11 though? i’m not sure why, but my "usual" procedure (using the complete firmware, patching the boot.img, flashing everything including that boot-image afterwards) fails with all of the android 11 images. :/
(feel free to directmessage if you think it’s off topic here of course.)
Click to expand...
Click to collapse
If I can share my experience. I applied standard system update procedure from settings being on Pie (had it on your pixel to bring update for GB for Pie). This went without uninstalling magisk etc. I simple went incrementally from Pie through Q up to R and then several security update. Only after I was in the latest update I grabbed boot.img from corresponding system image, patched it using magisk and then flashed using fastboot. All apps and settings were preserved from Pie.
thanks. sounds about "right", your last step is basically what i’ve been doing as well previously (the "system update" never worked for me though, but i didn’t care too much). there must be something fishy going on with my device then. i’ll try again soon.
(in the end i wouldn’t even mind being without root for a few bootups inbetween, so .. i’ll flash the stock boot image and try booting android 11 then. if it works, i can try getting back root just as well afterwards i guess.)
frank93 said:
thanks. sounds about "right", your last step is basically what i’ve been doing as well previously (the "system update" never worked for me though, but i didn’t care too much). there must be something fishy going on with my device then. i’ll try again soon.
(in the end i wouldn’t even mind being without root for a few bootups inbetween, so .. i’ll flash the stock boot image and try booting android 11 then. if it works, i can try getting back root just as well afterwards i guess.)
Click to expand...
Click to collapse
Yeah, note that I never flashed full rom image. I went using standard system update from settings. In the end it was only patched boot.img I flashed.
okay, apparently not even a "real" firmware update (using the original stock boot image) works for me. loops back to bootloader 2-3 seconds after the google-logo. so i guess there’s something else wrong with my device/system.
i’ve "updated" back to the latest/last android 10 for now (there the firmware upgrade/downgrade works!?), and i’ll scratch my head another time i think. thanks for your input though!
i5lee8bit said:
and @Ghisy, I'll send you some more details when I get a chance, certainly well before the weekend. Though if it's any consolation, in total the actual updating process only took me about an hour, if not less! Probably took me more time to actually download the files and prep, lol. XD
Click to expand...
Click to collapse
Thanks, I appreciate it! You took one for the team and shared interesting info too! *(air) high five*
C3C076 said:
Thanks. Your support is very much appreciated. Too kind. Interesting find about volume key cursor control. As you can see in the 2nd post I listed it there as currently not working . Looks like I'll have to take a look again. Do you use whitelist (App list mode enabled in EdXposed settings) ?
Click to expand...
Click to collapse
I use App List mode, but not White List mode, as I use the Pass SafetyNet option (so basically on Blacklist mode). Because I also have GPay working and all (I've linked to that thread before, it's the one I linked with my list of active modules). Hahaha, I didn't even realize you put in the 2nd post about it not working - weird! Definitely working for me though, using these current configurations.
frank93 said:
would you mind sharing your upgrade procedure from android 10 to 11 though? i’m not sure why, but my "usual" procedure (using the complete firmware, patching the boot.img, flashing everything including that boot-image afterwards) fails with all of the android 11 images. :/
(feel free to directmessage if you think it’s off topic here of course.)
Click to expand...
Click to collapse
Since I'm sure others may find it useful, I'll post it here. Also, @C3C076 may find it useful to follow this concept, assuming things are similar for Pixel 3a (I've been a long time HTC user, up til U12+ and only then switched to Pixel phones, 4 for wife and 4 XL for me to be exact).
My firmware update procedure is basically predicated on restoring the stock boot and dtbo (dtbo in case custom kernel flashed) images for your current build, which restores the stock firmware (and therefore recovery) and "unroots" / stock-ifies the phone without removing any of your Magisk or EdXposed configs, which allows you to simply boot into recovery and apply (sideload) OTA zip from stock recovery. Before booting back into system after OTA flash, reboot back into bootloader and flash the new build's Magisk-patched boot image, and when you boot up into system, voila, seamless, intuitive, and relatively safe update to new firmware version. Worst case scenario, if you bootloop you just flash the stock boot image (or even better, a modified Magisk Core Only boot image) and fix whatever is causing the problem.
Here is a link to my guide for September 2020 build, which was the first Android 11 build. There's a bunch of additional notes due to the major update at the time, though some of the info is a bit outdated. I assumed everyone at the time was on a very specific versions of firmware, Magisk, EdXposed, and even modules, etc. But if you read, especially the 2nd post, you can certainly understand how it all works and how we could apply the process from any firmware version. Here's the thread: https://forum.xda-developers.com/t/...0-009-coral-magisk-stock-boot-images.4160787/
- I recommend giving the procedure a read, as you should be able to understand the intuition behind the process I use.
As we're already (assuming) on latest Magisk, Magisk Manager, EdXposed, Riru, etc. etc, we don't need to worry as much about compatibility of our installed modules before OTA'ing. So basically, I condensed down what needs to be disabled, in my case, to the old GravityBox module (obviously), and the old Kirisakura (my kernel on Q) kernel helper Magisk module. You would also want to disable any modules, Magisk and EdXposed, that may not be compatible with [R] yet.
So here was my update procedure, from here on, coming from August 2020 build already on Magisk 21.2 and up to date EdXposed / Riru / etc. modules - SPECIFICALLY FOR PIXEL 4 XL "CORAL"
(OPEN THE "SPOILER" TO VIEW!):
Spoiler: Pixel 4 XL (and by extension and intuition, hopefully other Pixel series) keep-root / updating guide-procedures
NOTE: The files I provide are specifically only for Pixel 4 XL!! You will need to obtain the correct files for your own device to follow this procedure, but the same idea should be able to be applied!
First, I downloaded the boot and dtbo file(s) for Aug. 2020 thru Dec. 2020 builds. Here's a link to my AFH uploads for these files: P4XL Boot / DTBO files
Then, I patched each month's boot image with Magisk 21.2, and put them to the side.
There's only stock dtbo.img for 08-2020 because dtbo will remain stock throughout the updating procedure, fyi.
Actually, hell, for Pixel 4 XL "Coral" users, to make your life extremely easy, I've uploaded all the files you'll need to follow this here!! - LINK HERE
And OTA files from Google servers: LINK#2 HERE
Disabled GravityBox [Q] module in EdXposed Manager / Uninstall GravityBox [Q]
(Don't bother installing GravityBox [R] yet)
Disabled Kirisakura AK3 Kernel Helper module in Magisk Manager
(you'll also want to disable any modules that potentially may not work with [R])
-- Reboot once to finalize disabling the modules --
(Don't boot back into system until this section is done, to ensure all root, settings, mods, etc. are retained - this is basically the 2nd post of the September guide I linked earlier)
- Reboot into Bootloader mode -
fastboot flash boot 08-boot.img
fastboot flash dtbo 08-dtbo.img
(these steps revert recovery to stock)
- Reboot into Recovery mode-
(when No Command / Android icon shows up, hold power button and tap volume up to get to recovery menu)
Choose option: Apply update from ADB
adb sideload (09-2020 OTA zip).zip
after OTA zip flash completes, REBOOT BACK TO BOOTLOADER
fastboot flash boot 09-patched.img
- NOW REBOOT INTO SYSTEM! -
When your phone boots back into Android (11), you will be rooted, with all mods and settings retained. And if you passed SafetyNet before with the right combination of mods and settings, it should still pass now. While you can, I wouldn't yet bother installing GravityBox [R] quite yet. Let's first continue to incrementally upgrade until we're at 12-2020 (or 01-2021 depending on when you're reading this). Basically, just make sure the Android System Update notification (sorry, I don't remember exactly the notification label, but you'll know when you see it) indicates the update completed before proceding.
Now we just repeat my OTA update procedure again, except no need to flash stock dtbo images, as we're not doing anything (like flashing custom kernel) in this short amount of time that modifies the dtbo partition.
Reboot into bootloader mode
fastboot flash boot 09-boot.img
Reboot into recovery mode
Apply update from ADB
adb sideload (10-2020 OTA zip).zip
Reboot to bootloader
fastboot flash boot 10-patched.img
Boot to system
Allow time for the system update notification to indicate update was completed.
Reboot into bootloader mode
fastboot flash boot 10-boot.img
Reboot into recovery mode
Apply update from ADB
adb sideload (11-2020 OTA zip).zip
Reboot to bootloader
fastboot flash boot 11-patched.img
Boot to system
Allow time for the system update notification to indicate update was completed.
Reboot into bootloader mode
fastboot flash boot 11-boot.img
Reboot into recovery mode
Apply update from ADB
adb sideload (12-2020 OTA zip).zip
Reboot to bootloader
fastboot flash boot 12-patched.img
Boot to system
EDIT: Google released January 2021 firmware update, literally minutes after (or maybe while??) I was posting this! Here is my January 2021 easy update guide for Pixel 4 XL: https://forum.xda-developers.com/t/...5-003-coral-magisk-stock-boot-images.4213263/
Allow time for the system update notification to indicate update was completed.
Install GravityBox [R], activate module, reboot one more time, have fun!!
Also install custom kernel or whatever else you might need to do as well.
To be honest, I kinda rushed this post, so I'll re-read it later and make sure I didn't make any little mistakes. But hopefully if you read my guides threads and stuff (like, actually read it), the entire concept should be very clear and intuitive to you! Assuming other Pixel phones (at least AB Pixel devices) have similar partitioning schemes, this should be very useful knowledge to have, as it makes updating to new firmware versions incredibly easy and low risk. Good luck, I hope this huge post helps some people / makes a better day for someone! =)
EDIT: @frank93, seeing your linked post, I see you have a Pixel 4a. Unfortunately you obviously can't use the exact files I provided / linked, but you should still be able to follow the same procedure. Just grab the OTA's, plus the full factory images, pull the necessary boot and dtbo files from the factory images, and Magisk patch the boot images for each month, and name / organize all the files and put them aside on your computer. You should still be able to follow my procedure, but with your files. I hope it works for you with no problems if you decide to try it!
Has anyone tried one plus 8t?
...aaaand Pixel January 2021 update just dropped
Awesome! 2021 is looking good! Donation sent! Keep up the awesome work bro! Working flawlessly on my Pixel 3xl

General GSI's

So I know this device hasn't really seen much in the way of development yet. But I was hoping to get a thread started on GSI's. If anyone does happen to get a GSI flashed that works for them even if buggy.
Please post here which GSI you were able to boot and bugs as you find them.
@AndyYan listed a root method here:
AndyYan said:
Just a quick heads-up.
unlock token - OnePlus (United States)
www.oneplus.com
By the way, to root without readily available stock firmware, first unlock bootloader, then boot a pre-rooted GSI with DSU Sideloader, pull stock boot partition from there, and finally patch/flash it. This applies to the Open variant as well.
Click to expand...
Click to collapse
as AndyYan mentioned, DSU sideloader is a great tool for testing GSI's without permanently flashing them.
here is a list of GSI's that may or may not work on the device, i have tested some and you may want to as well.
Generic System Image (GSI) list
Notes about tinkering with Android Project Treble. Contribute to phhusson/treble_experimentations development by creating an account on GitHub.
github.com
Already did, even made an overlay. Why else you think I'd be hanging around this forum?
However, quote me in your other thread...
AndyYan said:
...having tried GSIs on both, I felt N20 was weirdly stuttery/unresponsive for its specs.
Click to expand...
Click to collapse
OPlus did a bad job with its kernel/vendor, and GSI on N20 is actually slower than N200 (slightly lower-specced, and has a 90Hz display to tow). I even bought another SD695 device (from Moto) just to see if it's SD695 itself that's awful, but nope, Moto's handled GSIs swiftly even on 120Hz.
AndyYan said:
Already did, even made an overlay. Why else you think I'd be hanging around this forum?
However, quote me in your other thread...
OPlus did a bad job with its kernel/vendor, and GSI on N20 is actually slower than N200 (slightly lower-specced, and has a 90Hz display to tow). I even bought another SD695 device (from Moto) just to see if it's.......
Click to expand...
Click to collapse
Could you be more specific as for which GSI's you were able to boot? To be honest this whole treble, GSI stuff is new to me. Can we now simply flash any GSI without worrying about bricking the device? After this morning's mistake I don't want to rush into anything. I would like to flash a prerooted GSI as you mentioned in another thread but I don't want to flash something that I'm gonna have to spend a lot of time trying to repair something when I could avoid breaking it in the first place lol.
Seems like by the time I really start to understand a device, it's time to upgrade and more has changed in the mobile worlf than I have the time/capacity to get familiar with.
I need to get root on my broken device to attempt to repair it
To your worries of messing up, I answer DSU Sideloader (again, already did), which is a way to temporarily boot GSIs; pretty self-explanatory otherwise.
But if you can't boot right now, I'm afraid your #1 priority is to get it flashed back to stock reliably. My advice is don't rely on backups/dumps from others unless you know exactly which build you have (e.g. you noted down the stock "OTA number" - in which case even I can help you). Either get the customer service to do a remote session or just send it in.
PsYk0n4uT said:
Upon Searching the forums for the N10, it's unadvisable to flash a magisk patched boot.img as it breaks radios. I can attest to this as well as I did the same this morning along with a few other members.
Click to expand...
Click to collapse
I feel you just flashed some mismatching (variant/version) image...
It boots, just no radios. As for DSU, guess I just need to do some more reading. Sorry if some of this seems obvious to you, I just seem to spend so much time pouring through so much information that some of it gets to be confusing, especially when I'm researching for school at the same time. I'm working on IT certs and I think maybe the years of scouring the net and these forums too for the many other devices has left my memory a mess, wish I could remember everything I've read but my ADHD kicks in midway through anything I set out to do and I go down rabbit holes that come out somewhere far from where I started. Hopefully you guys will remain patient with my questions. Im trying to learn and mistakes seem to be the way I have always learned. Break something and fix it. Lol. But I do have the drive to do whatever it takes to fix what I break. Curiosity has always been my friend.
And as for the mismatching image, my first intuition was the same. I doubt i won't be able to fix it eventually. For now it's a project that gives me more motivation to learn.
As discussed separately you've already fixed the device and got up to rooted stock. You can now proceed to try out DSU Sideloader. The app itself isn't complicated, and the GitHub page has a readme too.
Thanks. Yeah I'm not sure. I guess something was different or wrong with the boot image I flashed. Another thread on the N10 mentioned that the magisk patched boot images broke wifi and Bluetooth for some reason. But I'm not having any issues so far with the magisk patched image of what I can confidently say is the right boot image
DSU Sideloader has been an awesome tool for sideloading and testing GSI's most GSI's work if not buggy but i have actually noticed performance Improvemtn in some. i particularly like crdroid even though the launcher crashes
Would love to get Kali ported. Too many issues with permissions on stock ROM
AndyYan said:
As discussed separately you've already fixed the device and got up to rooted stock. You can now proceed to try out DSU Sideloader. The app itself isn't complicated, and the GitHub page has a readme too.
Click to expand...
Click to collapse
If you got DSU to work on the N20 what settings did you use and which GSI? I've tried PHH, Lineage 19.1 and PixelplusUI...left the userdata to 2GB and every time I'm given the option to "restart" to boot into it, it just reboots the phone.
famewolf said:
If you got DSU to work on the N20 what settings did you use and which GSI? I've tried PHH, Lineage 19.1 and PixelplusUI...left the userdata to 2GB and every time I'm given the option to "restart" to boot into it, it just reboots the phone.
Click to expand...
Click to collapse
use dsu sideloader not the built-in one. see the dsu sideloader github page for instructions. ive actually flashed pixel experience so i know that one works. i used crdroid in dsu sideloader...... someone else mentioned they used lineage. for unrooted devices ...
DSU Sideloader by VegaBobo:
GitHub - VegaBobo/DSU-Sideloader: A simple app made to help users easily install GSIs via DSU's Android feature.
A simple app made to help users easily install GSIs via DSU's Android feature. - GitHub - VegaBobo/DSU-Sideloader: A simple app made to help users easily install GSIs via DSU's Android feat...
github.com
​
PsYk0n4uT said:
use dsu sideloader not the built-in one. see the dsu sideloader github page for instructions. ive actually flashed pixel experience so i know that one works. i used crdroid in dsu sideloader...... someone else mentioned they used lineage. for unrooted devices ...
DSU Sideloader by VegaBobo:
GitHub - VegaBobo/DSU-Sideloader: A simple app made to help users easily install GSIs via DSU's Android feature.
A simple app made to help users easily install GSIs via DSU's Android feature. - GitHub - VegaBobo/DSU-Sideloader: A simple app made to help users easily install GSIs via DSU's Android feat...
github.com
​
Click to expand...
Click to collapse
That's the one I installed. V1.03 on the github. adb pushed the GSI's to sdcard and then did the install do a directory called "dsu" on internal storage. Left everything default...got through install including running the adb command but when time to restart it showed the metro logo and then just rebooted. Thought I might not be giving enough userdata or something.
famewolf said:
That's the one I installed. V1.03 on the github. adb pushed the GSI's to sdcard and then did the install do a directory called "dsu" on internal storage. Left everything default...got through install including running the adb command but when time to restart it showed the metro logo and then just rebooted. Thought I might not be giving enough userdata or something.
Click to expand...
Click to collapse
did u restart through the notifications?
and do the adb command it asks u to do if your not rooted?
i just downloaded the gsi's on-device and used from internal storage but i dont think that should make a difference. and as for userdata thats up to you. if im gonna be in a gsi for a while. and especially if you wanna pull your backups your gonna need around 20gb of userdata to hold those backups unless you plan on dd'ing them to external storage in shell or something. actually i set my default userdata to 32gb in settings so i dont have to remember to do that. but usually if im testing in a GSI i plan on being in there for a while and dont want to end up wanting/needing the space and then not having it. you dont have to do 32gb but your gonna need 15gb or so for backups if you pull a full system backup, which i HIGHLY recommend and you may as well do it while your getting the boot image and do it all at once. i made a post on DSU sideloader. maybe this is good info for that thread.
also can you tell us what security patch your on and if you GN2200 or CPH2459
PsYk0n4uT said:
did u restart through the notifications?
and do the adb command it asks u to do if your not rooted?
i just downloaded the gsi's on-device and used from internal storage but i dont think that should make a difference. and as for userdata thats up to you. if im gonna be in a gsi for a while. and especially if you wanna pull your backups your gonna need around 20gb of userdata to hold those backups unless you plan on dd'ing them to external storage in shell or something. actually i set my default userdata to 32gb in settings so i dont have to remember to do that. but usually if im testing in a GSI i plan on being in there for a while and dont want to end up wanting/needing the space and then not having it. you dont have to do 32gb but your gonna need 15gb or so for backups if you pull a full system backup, which i HIGHLY recommend and you may as well do it while your getting the boot image and do it all at once. i made a post on DSU sideloader. maybe this is good info for that thread.
also can you tell us what security patch your on and if you GN2200 or CPH2459
Click to expand...
Click to collapse
I did restart through the notification and yes I did the adb command for non root. I left it as 2gb strictly because I was testing. Once I had one up and running I planned to up the space for a backup. It's currently on the may security update and I have not given it access to wifi or sim to prevent updates till I could take a backup. (well they didn't INCLUDE a sim card with my order and I'm still waiting on a replacement. Trying to use the metro sim from my n200 order did NOT work so guess it's locked to that phone). When you mention Pixel Experience do you mean this one? https://forum.xda-developers.com/t/gsi-unofficial-12-pixel-experience.4354695/
This pixel experience GSI failed to even install after running the adb command with userdata set to 32GB. Space shouldn't be an issue given it's freshly setup with ONLY DSU sideloader added via adb install. I'd like to know what you are doing different to make DSU sideloader work. I'll try moving the image to the internal storage instead of external sdcard.
I factory reset the n20...did offline setup, added dsu sideloader and the lineage GSI and followed the instructions only to have it just say "install failed" now...I give up for now. Has anyone still on MAY firmware had DSU work for them? Perhaps I HAVE to let it update. Is August firmware still A11?

Categories

Resources