Related
I don't think I have seen any mention of this idea yet. Sorry if I missed it...
In a recent thread about the 6.2.2 update and people wanting to prevent it, I thought I read that someone saw the file show up in the update directory. I'm assuming this means the same 'kindleupdates' directory you could manually drop the update into -- but if not, the idea is the same. Why not just take some step to prevent access to this directory?
The exact step to take would depend on how smart the developers were about dealing with problems in the update process
The easiest step would be to chmod 555 it. But of course if the update process is running as root it is under no requirement to honor those permissions! (My experience in the unix world tells me that about half the time, programs running as root do honor the permissions even though technically root overrides them).
Another easy step would be to delete it altogether. But they probably thought of that (if it's /mnt/sdcard/kindleupdates where someone could easily accidentally delete it) and recreate it if it's missing.
One trick that is often done is to replace the directory with a file. Some programmers do not think to check this kind of condition - they see there is something there, but they get an error opening it as a directory, and they just declare it's an error.
A more subtle trick would be to replace the directory with a symlink that points to a read-only directory (such as /system). In this case, they could open it as a directory, and just fail to write there. The programmer probably would not have thought to check whether it's a link vs. a real directory. One possible gotcha is if you point to /system, and /system is r/w, then the update could screw something up under /system. So maybe mount /system r/w, mkdir /system/kindleupdates, remount /system r/o, then link the update dir to /system/kindleupdates.
And finally, I don't know if Android has any kind of loopback filesystem capability, but loopback-mounting something read/only on that directory would certainly fake the OS into thinking there was a directory there; it would definitely be read/only, and I don't think they would ever think to check whether there is actually some filesystem mounted there! (and if there was, all you need is an app that constantly accesses some file you put there, which would make it busy so that it couldn't be unmounted).
The first method won't work because the sdcard partition is fat32 and doesn't accept unix permissions.
it downloads to the /cache folder - this folder is also used for other things like market downloads, logs from twrp and i don't know what else
btw. there are a lot of threads about this from the 6.2.1 update
make a short search for "prevent ota update" - you'll have a lot to read ...
well, i just deregistered my kindle acount and i'm still in 6.2.1...
b63 said:
it downloads to the /cache folder - this folder is also used for other things like market downloads, logs from twrp and i don't know what else
Click to expand...
Click to collapse
Ah, that makes this less practical. Still, perhaps when the next update comes out I can try a variation on this but it requires the filename to be known.
If the update is downloaded as a single file to /cache, which is named the same as the file you can manually grab, then someone who hasn't gotten 6.2.2 (and is not averse to this failing) can try this in a root shell:
mkdir /cache/update-kindle-6.2.2_D01E_3205220.bin
mkdir /cache/update-kindle-6.2.2_D01E_3205220.bin/blah
The purpose here is to put something unremovable in the way of the file it wants to download. Most likely if the update sees something with the existing name there it would probably want to blow it away (after determining it's incomplete) - and since any update there would normally be a regular file, they probably would do nothing more complicated than a simple unlink syscall to delete it before re-downloading. However, since it's a directory with something in it, that unlink will fail. In actuality, making the subdirectory (second command above) should be unnecessary because the unlink should not work for directories; there's a special rmdir syscall for them.
btw. there are a lot of threads about this from the 6.2.1 update
make a short search for "prevent ota update" - you'll have a lot to read ...
Click to expand...
Click to collapse
I did read a lot of that last time and I don't think I actually saw a definitively successful method. If there is one it should be stickied
My interest in this is a little different from most of you guys - I have very limited satellite internet and I don't like these unscheduled 185-meg downloads so I want to be able to update only when I want mostly to control that. This kind of means looking for the least-intrusive way to accomplish this.
/cache/update-kindle-6.2.2_D01E_3205220.bin is exactly where it downloads
if you find a way to even prevent the download, that would be greatly appreciated
Unfortunately I already got the update so I can't try it this time.
at least you could try your method with a dummy file of an other name and try to overwrite it with adb - if you can't overwrite it there's a good chance
I think I'm about the only one who prevented 6.2.1. I did it by constantly checking the cache folder. Found the update by chance and deleted it before it updated. Waited over a week for it to come back. Never did. An app that watched the cache folder for the updates and then moved/deleted them would work fine
Sent from my SGH-I897 using xda premium
jcase already work a way around this automatic OTA update, so when FIREMOD is ready to replace burrito I think we will have no more problem with this OTA issue. (you can find jcase announcement in the kindle developer section)
Heres what I have done to prevent this.
1) Droidwall (white list only the apps you want to allow internet access)
2) Removed "otacerts.zip" from /system/etc/security/otacerts.zip.
3) I removed "OTASilentInstall.apk" /system/app
4) Installed this 6.2.2 based Rom http://forum.xda-developers.com/showthread.php?t=1439916
Hopefully this eliminates the OTA. I had my Fire rooted on 6.2.1 with twrp and it OTA'd on its own, broke root and twrp. So I rerooted with burritoroot2 and installed CWM based recovery.
Hi all,
has anyone been able to do this? Following the guide here, no longer works for Android N. The phone boots, but ignores all changes to system. How do I modify both build.prop and hosts? It seems that there are now possibly two system partitions?
Thanks!
Same issue on Nexus 5X
No answer on this? How is it that nobody else seems to be having this issue?
What I've done
It looks to me like everyone has moved to systemless and the /system partition cannot be adequately modified in this way anymore.
Maybe this will help others:
I was modifying the system directory for two reasons: 1. modify /system/etc/hosts to remove ads and modifying build.prop to increase lcd.density. I found that here are the alternatives for each:
Removing Ads
Using something similar to AdAway_systemless_hosts_v2.zip (google it for a copy) and modifying the hosts file in that zip file to be the one I use (and rezipping, deploying on the Android device). This basically mounts over /system/etc/hosts with a custom hosts file instead of actually modifying the system specific hosts file which is no longer writable.
The alternative is to use Netguard which routes non https network traffic through a private VPN where you can block ads according to a hosts file. This seems to work OK, but I have noticed that websites seem to take longer to load.
Modifying lcd.density
You can use the same trick as AdAway_systemless_hosts_v2.zip uses, but modify it to also mount a modified copy of build.prop. Alternatively just use the Android N Display settings that are small (what I did anyhow).
I have been able to edit build.prop and still maintain systemless root.
Sent from my Nexus 6P using XDA-Developers mobile app
I was able to modify my system partition; by installing busy box to /su/xbin and running "su busybox mount -o rw,remount system" (no quotes) in material terminal with root
ArminasAnarion said:
I was able to modify my system partition; by installing busy box to /su/xbin and running "su busybox mount -o rw,remount system" (no quotes) in material terminal with root
Click to expand...
Click to collapse
Have you been able to do this with simply fastboot boot <twrp-image>, mounting system in rw mode and modifying it? I did that as I didn't want to root the phone, and while it looks like it did the write, it does not affect the system partition that is used by the phone after boot. I think there are two system partitions, and twrp mounts only one in rw mode. It does seem like it may be possible to do what you say using adb though after the phone is fully booted up. I'll try that!
dontblinkwatchout said:
Have you been able to do this with simply fastboot boot <twrp-image>, mounting system in rw mode and modifying it? I did that as I didn't want to root the phone, and while it looks like it did the write, it does not affect the system partition that is used by the phone after boot. I think there are two system partitions, and twrp mounts only one in rw mode. It does seem like it may be possible to do what you say using adb though after the phone is fully booted up. I'll try that!
Click to expand...
Click to collapse
I had the same problem. I don't want to root but I do make a few changes to my /system partition through adb in recovery such as the hosts file and some font files (namely the Emoji font file). I had modified stock boot image to not enforce encryption. I would boot back up into the system and couldn't see any changes made. The only thing I found that worked was installing a custom kernel (I use ElementalX). After that, changes I made to /system in TWRP were reflected in the OS. I don't know enough about kernel development to understand why on (mostly) stock kernel my changes couldn't be seen but on a custom one they were.
I never had this "problem" prior to Nougat.
Same issue here. Something has changed with how this is handled in Nougat.
I don't want to root just to overwrite the hosts file...
I'll keep debugging but my capability in this is definitely limited!
I use a similar approach as described in the OP's linked guide except I use my own recovery image that I compiled as an engineering build from source, and I am also experiencing the same behavior. Modifying the hosts file seems to have no impact on the system though the changes persist. Comparing the host file I installed and the host file from the latest Nexus 5X image with 'ls -lZ' the SELinux info looks to be the same. The only information that appears to differ is the modified date and one additional line in the file itself for testing. I thought I was doing something wrong with my hosts file, even though I have been using this approach since Android 6.0. However, I agree, it appears that changes to system are being ignored. Further, changing the system partition no longer shows the red warning at boot about the system being corrupted.
---------- Post added at 09:58 PM ---------- Previous post was at 09:38 PM ----------
DanRyb;68654939 I would boot back up into the system and couldn't see any changes made.[/QUOTE said:
Oooh. You're right. Neither /etc/hosts or /system/etc/hosts is modified in the booted OS after I modify it from live image, but the change is retained when I reboot into live image and mount system. Hmm, so either:
1) Need to figure out where the the system files are being loaded from and modify them from live image if possible
2) Use a mechanism similar to what dontblinkwatchout described AdAway is using of having a custom mount setup (have to reverse engineer AdAway I guess to see what it's doing)
3) ?
Click to expand...
Click to collapse
There's absolutely no way to modify or mount system partition r+w unless you disable dm-verity
Enviado desde mi Nexus 6P mediante Tapatalk
alexiuss said:
There's absolutely no way to modify or mount system partition r+w unless you disable dm-verity
Enviado desde mi Nexus 6P mediante Tapatalk
Click to expand...
Click to collapse
dm-verity has been around since Android 4.4. Are you saying there is something new around this in Android 7.0?
You can modify the system partition by compiling an engineering build of Android and booting it, then mounting the system partition and modifying it. I've been doing this to update the hosts file since Android 6.0 for every OTA update (since more recently OTA updates bomb out unless you reflash the clean "uncorrupted" system.img first). Changing the system image before Android 7.0 did result in an extra screen with a red warning about a corrupted something or other (I'm sure because dm-verity checking failed). Regardless, you can still change the system partition, the information just no longer seems to be used, which is a bit perplexing to me atm.
crashenx said:
dm-verity has been around since Android 4.4. Are you saying there is something new around this in Android 7.0?
Click to expand...
Click to collapse
Android 7.0 introduced redundant bits for reed solomon forward error correction into the system and vendor partitions and code in the kernel to perform the error correction.
Your changes are being written to emmc but when you boot with 7.0 kernel with dm-verity enabled your changes are being treated as data corruption and on-the-fly error corrected back to original.
You can see your changes if you boot into twrp because it has dm-verity disabled. However if you boot into android with dm-verity enabled it will look like original image again even though your changes are technically still there.
It took me a day to figure out what was really going on because i initially had no idea they added this feature to Android N.
The simple way to disable dm-verity is to install SuperSU, but you can also accomplish the same patching your own kernel, installing pre-patched kernel, installing custom kernel, etc.
sfhub said:
Android 7.0 introduced redundant bits for reed solomon forward error correction into the system and vendor partitions and code in the kernel to perform the error correction.
Your changes are being written to emmc but when you boot with 7.0 kernel with dm-verity enabled your changes are being treated as data corruption and on-the-fly error corrected back to original.
You can see your changes if you boot into twrp because it has dm-verity disabled. However if you boot into android with dm-verity enabled it will look like original image again even though your changes are technically still there.
It took me a day to figure out what was really going on because i initially had no idea they added this feature to Android N.
The simple way to disable dm-verity is to install SuperSU, but you can also accomplish the same patching your own kernel, installing pre-patched kernel, installing custom kernel, etc.
Click to expand...
Click to collapse
That's good info and makes total sense. Thanks! Pretty neat actually, just a bummer for me.
Yeah so SuperSU path is not really one I want to pursue. I could learn how to update the dm-verity shas used for verification. That'd probably be the most secure, but it's gonna be a PITA I bet. I imagine I'd need to compile my own image similar to how I made my live image and update a few things. Might have to deal with encryption which is probably an even bigger headache. Also, I bet it would break OTA and have to reflash to update, though that's true now.
I'm really curious what AdAway is doing. Maybe I should pursue reverse engineering that.
I really appreciate you pointing us in the right direction.
I am glad found this thread..willing to assist here without permanent root..
Ericarthurc said:
I was able to modify my system partition; by installing busy box to /su/xbin and running "su busybox mount -o rw,remount system" (no quotes) in material terminal with root
Click to expand...
Click to collapse
I was trying to create a /system/xbin/post-boot but couldn't remount /system, and so I added busybox to the front of my command. I am not using adb so I cut that part off. Thanks a lot!
Are there any working ROMs on the Onn 8" that are running Android 10? I wanna have the latest version of Android.
antoinejr1111 said:
Are there any working ROMs on the Onn 8" that are running Android 10? I wanna have the latest version of Android.
Click to expand...
Click to collapse
All the android 10 GSI's are too large for our system partition. The only one that installs is PHH's 10 v209 but video playback isnt possible outside of YouTube. Its also very unstable, it required several resets do to even simple modifications.
Sent from my SM-G975U1 using XDA Labs
jwarrior319 said:
All the android 10 GSI's are too large for our system partition. The only one that installs is PHH's 10 v209 but video playback isnt possible outside of YouTube. Its also very unstable, it required several resets do to even simple modifications.
Click to expand...
Click to collapse
Yeah we need a repartitioning utility to increase /system size. I believe some of the GSI Android 10 ROMs would be great for the Onn tablets if only the allocated /system size was larger. Has anyone tried doing this via TWRP? If /system could be formatted to a larger size, the /userdata partition could be decreased in size to compensate.
Viva La Android said:
Yeah we need a repartitioning utility to increase /system size. I believe some of the GSI Android 10 ROMs would be great for the Onn tablets if only the allocated /system size was larger. Has anyone tried doing this via TWRP? If /system could be formatted to a larger size, the /userdata partition could be decreased in size to compensate.
Click to expand...
Click to collapse
Another option would be a custom rom built for our devices. Or maybe a modified gsi with only the sruff needed for our device. The img size would be much smaller. Things like fingerprint unlock and such is just waisting space.
Sent from my SM-G975U1 using XDA Labs
jwarrior319 said:
Another option would be a custom rom built for our devices. Or maybe a modified gsi with only the sruff needed for our device. The img size would be much smaller. Things like fingerprint unlock and such is just waisting space.
Click to expand...
Click to collapse
True. An image kitchen can be used to decompile the GSI so that non-essential apps and services could be deleted. A slimmed down Android !10 GSI would surely work on this device.
So i tried the new PHH 10 V214. It does install and boot in the same we we install his Pie versions. But, it still cant play video outside of youtube app/website. Still a vendor problem i would assume. Havent tested it long enough to know if the other issues exist yet or not. Im restoring my backup of bliss rom pie.
Sent from my SM-G975U1 using XDA Labs
jwarrior319 said:
So i tried the new PHH 10 V214. It does install and boot in the same we we install his Pie versions. But, it still cant play video outside of youtube app/website. Still a vendor problem i would assume. Havent tested it long enough to know if the other issues exist yet or not. Im restoring my backup of bliss rom pie.
Sent from my SM-G975U1 using XDA Labs
Click to expand...
Click to collapse
I tried to install PHH 10 v215 (both A/B image and A-only) - but I cannot get it to boot. It does not go past the ONN logo and then reboots. Have made backups of all partitions using TWRP.
Tried both methods - fastboot flash system and TWRP install image.
Also tried the 9.0 pixel experience. Same result.
Any ideas what could be going wrong?
angadsg said:
I tried to install PHH 10 v215 (both A/B image and A-only) - but I cannot get it to boot. It does not go past the ONN logo and then reboots. Have made backups of all partitions using TWRP.
Tried both methods - fastboot flash system and TWRP install image.
Also tried the 9.0 pixel experience. Same result.
Any ideas what could be going wrong?
Click to expand...
Click to collapse
At the boot logo connect to adb. Make sure its recognized and issue the following command: adb shell setprop debug.stagefright.ccodec 0
Sent from my SM-G975U1 using XDA Labs
Viva La Android said:
True. An image kitchen can be used to decompile the GSI so that non-essential apps and services could be deleted. A slimmed down Android !10 GSI would surely work on this device.
Click to expand...
Click to collapse
How can I get this image kitchen with Windows 10 or Linux? And possibly how to decompress the image.
antoinejr1111 said:
How can I get this image kitchen with Windows 10 or Linux? And possibly how to decompress the image.
Click to expand...
Click to collapse
Personally, I use @SuperR.'s Kitchen for cooking Android ROMs. The kitchen allows you, for example, to toss in a system.img of an Android 10 based ROM. The kitchen decompiles the image into a workable /system folder and full filesystem. You are given options to debloat, add root, BusyBox, deodex, zipalign, etc. You can also toss in the boot.img and vendor.img from the Android 10 ROM and the kitchen will create for you the META-INF file with updater-script and update-binary. It will add your symlinks, permissions and all Edify commands needed to mete out a TWRP flashable Android 10 ROM with all the customizations you've added. The kitchen is available in both a free and a donate version (which is $15 I think). It's available for Linux and Windows based systems. Here is a link to the Windows version I use. Well worth the humble amount of money he asks for the donate version, as you'll see in the thread. https://forum.xda-developers.com/ap...dows-linux-superr-s-kitchen-v3-0-0-0-t3601702
Viva La Android said:
Personally, I use @SuperR.'s Kitchen for cooking Android ROMs. The kitchen allows you, for example, to toss in a system.img of an Android 10 based ROM. The kitchen decompiles the image into a workable /system folder and full filesystem. You are given options to debloat, add root, BusyBox, deodex, zipalign, etc. You can also toss in the boot.img and vendor.img from the Android 10 ROM and the kitchen will create for you the META-INF file with updater-script and update-binary. It will add your symlinks, permissions and all Edify commands needed to mete out a TWRP flashable Android 10 ROM with all the customizations you've added. The kitchen is available in both a free and a donate version (which is $15 I think). It's available for Linux and Windows based systems. Here is a link to the Windows version I use. Well worth the humble amount of money he asks for the donate version, as you'll see in the thread. https://forum.xda-developers.com/ap...dows-linux-superr-s-kitchen-v3-0-0-0-t3601702
Click to expand...
Click to collapse
Do you think you can break down a version of Android 10 that works for the Onn 8" and send it to me? Please?
antoinejr1111 said:
Do you think you can break down a version of Android 10 that works for the Onn 8" and send it to me? Please?
Click to expand...
Click to collapse
My only dilemma there is that I've got multiple projects going right now for various LG and Motorola devices. However, I fully plan on future development for the Onn series of tablets (primarily the newer Onn Surf series due to Treble support). As soon as my schedule permits, I'm on it. Here's the beauty with Project Treble: if an Android 10 GSI will boot on the Onn Surf 10.1, it is almost certain that it will also boot on the Surf 8. Out of curiosity, what is the allocated /system partition size on the Onn Surf 8? Is it the same as the Surf 10.1? Also, I noticed recently that there are some rather slim GSI builds of Android 10 (Go Edition). Some of these might be worth looking into.
Hi , so apperntly the only way currently to modify system files of OnePlus 8 Pro is through flashing magisk modules , Tried using several file explorers but couldn't change permissions , tried via twrp but system won't be mounted , so my question is if there is a magisk module that someone made to mount r/w , if there is , I would like to get it , if there isn't , I would appreciate if anyone can create that for me , and please don't tell me to go to terminal and type commands because IT DOESN'T WORK, I don't know exactly what flashing magisk modules do but I figured out that it's the only way I can change system files , please help
Mounting system as R/W is impossible on stock software (OOS, OneUI etc).
This applies to all devices launched with Android 10, so, 7T/Pro and up.
https://source.android.com/devices/tech/ota/dynamic_partitions/implement
Your best shot is to create a module that 'modifies' the system systemless-ly.
Lossyx said:
Mounting system as R/W is impossible on stock software (OOS, OneUI etc).
This applies to all devices launched with Android 10, so, 7T/Pro and up.
https://source.android.com/devices/tech/ota/dynamic_partitions/implement
Your best shot is to create a module that 'modifies' the system systemless-ly.
Click to expand...
Click to collapse
That's literally the magisk module i'm asking for
ilan0098 said:
That's literally the magisk module i'm asking for
Click to expand...
Click to collapse
Literally not. You asked for a module that could make system R/W.
Anyway good luck
As mentioned, no r/w module...
galaxys said:
As mentioned, no r/w module...
Click to expand...
Click to collapse
Anyway such a module won't do any good IMHO. System/product/vendor partitions are combined into a single "super" partition.
The individual parts for /system, /vendor, /product are then mounted from there.
You will never be able to physically write on files in those partitions (if that is/was your intention).
However, you can write a Magisk module (easily) which replaces files with others (e.g. I replaced my /system/etc/hosts files with a version that has ad-blocked IP addresses). You can "delete" files by making them "empty" with a Magisk module (e.g. I have hidden the OnePlus phone/dialer/calculator/messages/notes apps in this way as I prefer the Google variants).
It's not that hard ... assuming you have a bit of Linux dev skills.
Can you be more specific about what exactly you want to do? Edit some file?
foobar66 said:
Anyway such a module won't do any good IMHO. System/product/vendor partitions are combined into a single "super" partition.
The individual parts for /system, /vendor, /product are then mounted from there.
You will never be able to physically write on files in those partitions (if that is/was your intention).
However, you can write a Magisk module (easily) which replaces files with others (e.g. I replaced my /system/etc/hosts files with a version that has ad-blocked IP addresses). You can "delete" files by making them "empty" with a Magisk module (e.g. I have hidden the OnePlus phone/dialer/calculator/messages/notes apps in this way as I prefer the Google variants).
It's not that hard ... assuming you have a bit of Linux dev skills.
Can you be more specific about what exactly you want to do? Edit some file?
Click to expand...
Click to collapse
Also if I do want to edit a system file , I can't , it won't let me do that , the file I edited just won't save
foobar66 said:
Anyway such a module won't do any good IMHO. System/product/vendor partitions are combined into a single "super" partition.
The individual parts for /system, /vendor, /product are then mounted from there.
You will never be able to physically write on files in those partitions (if that is/was your intention).
However, you can write a Magisk module (easily) which replaces files with others (e.g. I replaced my /system/etc/hosts files with a version that has ad-blocked IP addresses). You can "delete" files by making them "empty" with a Magisk module (e.g. I have hidden the OnePlus phone/dialer/calculator/messages/notes apps in this way as I prefer the Google variants).
It's not that hard ... assuming you have a bit of Linux dev skills.
Can you be more specific about what exactly you want to do? Edit some file?
Click to expand...
Click to collapse
I would very much like to edit the build.prop file, and let Adaway (F-droid) edit the hosts file to add its adblocking lists.
Are either of those things possible? Thanks!
R2-Brute said:
I would very much like to edit the build.prop file, and let Adaway (F-droid) edit the hosts file to add its adblocking lists.
Are either of those things possible? Thanks!
Click to expand...
Click to collapse
Enable systemless hosts in magisk manager and adaway will work. And for editing build prop, look up "resetprop", it's a magisk tool to modify build prop systemlessly.
Thank you so much! Adaway is up and running! I just got a new phone, and got so worried when it dawned on me that the System folder was locked down!
And I found "MagiskHide Props Config". Is it better or worse than Resetprop, or the same? "Props Config" has already flaked on me in the half hour I've been using it, but since a reinstall, it's working again.
I'm hoping it's just getting comfortable, but if you think Resetprop is more stable, please tell me.
And thanks again! Feeling good about technology.
I have ROOTED, rooted mean now you are Administrator of all in your phone. But live is not like a dream, I can't delete or modify anything in system folder on my rooted samsung phone, when using Z Archiver to delete empty and junk folder it says failed even sometimes it says Access Denied ( maybe the problem is here) converted RO->RW, tried through ES File it says in use or busy, Root Explorer is useless even if I adds write permission, but when using lucky patcher to uninstall & install and apps as system then it can creates or delete in systm app, which means there may be a way for me to modify it, if the trash can't be deleted then the system partition will be filled with garbage forever and can only get fatter. Who know how to solve it?
You have to patch super image to make everything r/w.
[GUIDE] How to make your System RW / Super R/W read/write-able
Welcome to the one and only, the original, universal SystemRW / SuperRW feat. MakeRW / ro2rw by lebigmac This script removes the read-only lock of all partitions embedded in the super partition of your stock firmware. This allows you to mount...
forum.xda-developers.com
in case someone still struggling with that
i wanted to copy trusted certificate ".0" file from storage to /system/etc/security/cacerts
i couldn't and tried to do the adb mount thing but i couldn't
anyway it worked when i tried MT manager ( i literally shocked ) its not in play store but you can find it online
if that didn't work i guess you have two option
1) open platform tools after enabling usb debugging and do "adb push /sdcard/yourfile /system/etc/security/cancerts
that will copy the file from sdcard to system/etc/security/cancerts
second option i didn't really tried but i saw it worked for some
is magisk module called "overlayfs" if you can't find it online i will attach it here
BUT before all that try MT manager .. idk how it really worked lol
Mazen550 said:
in case someone still struggling with that
i wanted to copy trusted certificate ".0" file from storage to /system/etc/security/cacerts
i couldn't and tried to do the adb mount thing but i couldn't
anyway it worked when i tried MT manager ( i literally shocked ) its not in play store but you can find it online
if that didn't work i guess you have two option
1) open platform tools after enabling usb debugging and do "adb push /sdcard/yourfile /system/etc/security/cancerts
that will copy the file from sdcard to system/etc/security/cancerts
second option i didn't really tried but i saw it worked for some
is magisk module called "overlayfs" if you can't find it online i will attach it here
BUT before all that try MT manager .. idk how it really worked lol
Click to expand...
Click to collapse
i have installed overlay fs but i can edit only /system, /product and some files in /vendor and /system_ext, i have android 13 with one ui 5.1
---
DISCLAIMER
The code published here is in a very early stage of development, and was published with the intention of receiving comments that allow me to improve it and develop a more stable version, it is not a software created with the intention that you install it on your device, much less on a different device, therefore, I am not responsible of dead or unusable devices.
I will not mention other users directly until I have finished this project, they will all appear in a list at the beginning of the publication where the final version will be
---
Project status: Starting over from 0.
I apologize for the delay, the protests in my country caused a compression of the university calendar to compensate for the lost time, the holidays officially began on December 17.
Here's a long and unnecessary context where I explain why I am doing this, you can skip it:
I recently changed the motherboard of my 5-year-old Yoga Tab 3, because it's still a good tablet, at least for seeing Netflix with a great audio quality, after replacing the old damaged card for a new one and flashing a clean version of android L with QFIL, I opened the task manager and saw [500MB of 1GB memory available], so I said “Wow, this is still great! If only I could have these numbers in a more modern version of android...”.
Android M is no longer usable in this tablet, the 32-bit processor equipped with 4 cores at 1.3ghz has aged very badly and the Android M experience has become terribly slow, so, updating the tablet is not an option.
But at that point, I remembered that for a while I used a phone with Android Oreo (Go Edition) out of the box, and personally I must say that I really enjoyed the experience. So, I looked at the little APQ8009 chip on my old and damaged motherboard, reasoned for a moment, and I said to myself: Why not?
I took my cell phone and searched "MSM8909 android oreo go" to see if anyone on XDA or another site had tried to develop something similar, but what I found was even more surprising:
The Lenovo Tab E10 (tb-x104f), a 10.1-inch tablet equipped with an MSM8909 processor, 1GB of RAM and 16GB of ROM and a screen resolution of 1280x800 (exactly the same specifications than the YOGA Tab 3!), and most importantly, Android Oreo (Go Edition) out of the box.
I never thought Lenovo would recycle their old plattforms to make new products, but they did it, and obviously this was an opportunity that I couldn't pass up.
This is my first post here, I hope to be welcome.
1) Original process, you might want to skip this point, I basically tried to port the ROM directly from the TB-X104F model (bad idea!):
- I downloaded two versions of the YT3-850F_S000025_151016 compilation of the YOGA Tab 3 from firmware247, one of them is OTA and the other is for flashing with QFIL.
- I downloaded the TB-X104F_S100050_200813 compilation of the E10 Tab from lolinet mirrors (QPST version)
This is because only QPST versions have been released for TB-X104F and not OTA versions, so I decided that I would get the system folder from the QPST files from both ROMs and not from the OTA files, but also, I needed the 850F OTA ROM to get an idea of what an X104F OTA ROM would look like, since I could try to rebuild it using files from the QPST version (which worked out very well).
To do that, I used two tools called packsparseimg and Imgextractor, developed by the members kidd (or kiddlu) and and_pDA, then published by Innfinite4evr and finally republished by the member zround, apparently this tool is no longer available on XDA, but I found it on a page called CaraRoot.
Here is a list with all the changes applied following the guide of The Hard Gamer and mshoaib7, I will highlight the important points.
(This guide was intended for porting Nougat roms, but I suppose it should work just as well for Oreo roms.)
- The META-INF folder did not exist in the rebuilt target rom so it was just copied from the base rom as the guide indicates.
- There is also no recovery folder, it was skipped.
- BIN, ETC, TTS, USR, XBIN and recovery-from-boot.p of the system folder were replaced by those of the base rom (ADDON.D does not exist in any of the 2).
- DRM, HW and SOUNDFX folders were replaced in the lib folder, inside system.
- All files named with LIBGLES*, LIBMM*, LIBHARDWARELEGACY, LIBRIL, LIBRILUTILS and LIBCAMERA* were replaced in the lib folder (there is no file named libwcnss_qmi, it was skipped).
- All files named with libactuator*, libchromatix*, libmmcamera*, libril*, liboemcamera and libimscamera were replaced in lib folder, inside vendor.
- The build.prop file of the target rom was replaced by the base rom file.
The following lines were modified:
ro.build.display.id=YT3-850F_OREO
ro.build.version.incremental=YT3-850F_OREO
ro.build.version.sdk=27
ro.build.version.preview_sdk=0
ro.build.version.codename=REL
ro.build.version.all_codenames=REL
ro.build.version.release=8.1.0
ro.build.version.security_patch=2020-08-05
ro.build.version.base_os=
(...)
ro.build.date=Thu Aug 13 16:55:25 CST 2020
ro.build.date.utc=1597308925
(...)
ro.build.flavor=hq_msm8909go-user
(...)
ro.product.ota.model=
(...)
#
# from device/huaqin/hq_msm8909go/system.prop
#
#
# system.prop for msm8909go
#
The following lines were not modified due to the paragraph that precedes them, I'm sure that not changing this will cause problems, but I don't know what else to do:
# Do not try to parse description, fingerprint, or thumbprint
ro.build.description=msm8909-user 5.1.1 LMY47V 387 release-keys
ro.build.fingerprint=Lenovo/YT3-850F/YT3-850F:5.1.1/LMY47V/YT3-850F_USR_S025_151016_Q1241_ROW:user/release-keys
ro.build.characteristics=tablet
ro.build.phonenumber.minmatch=
ro.build.network.type=wcdma_gsm
ro.build.water.mark=
ro.build.dulemode=
ro.hardware.version=60
ro.build.custom.swversion=YT3-850F_151016
ro.build.custom.hwversion=LenovoPad YT3-850F
and the following lines were not copied, but I'm curious to know what will happen if I do, comment below...
#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.treble.enabled=true
- The boot.img was also modified, the changes were applied.
Additional changes that were not in the guide:
The splash.img, emmc_appsboot, rpm, sbl1 and tz files of the target rom were copied from the QPST folder to the rebuilt OTA folder.
¿Why? Because this is how they appear in the base ROM, I assumed they are necessary files, and the target ROM should have them too.
Also here are some files that the base rom has and the target rom doesn't:
file_contexts
NON-HLOS
data.new.dat
data.patch.dat
system.patch.dat
data.transfer.list
I also thought to include the recovery.img, but that would remove TWRP.
2) The current process:
- Install Ubuntu
- Create a working directory
- Download the Android Oreo source code and if possible Oreo Go directly and combine it with the Lenovo source code (which contains everything related to hardware).
- Compile and test.
3) The files.
Here you will find a direct access to my drive, where you will find everything related to the project.
Project Yoga Tab 3 Oreo
That way and if you are interested in collaborating, you can do more things with them and post your recommendations in this thread. Also don't forget that below you can let me know if I forgot to do something, or if there is anything else I need to do before trying to flash this on my new motherboard.
I hope you liked this work.
With the college exams so close, I hope it won't be long until I post an update at least.
See you soon!
SomeoneNormal07 said:
---
DISCLAIMER
The code published here is in a very early stage of development, and was published with the intention of receiving comments that allow me to improve it and develop a more stable version, it is not a software created with the intention that you install it on your device, much less on a different device, therefore, I am not responsible of dead or unusable devices.
I will not mention other users directly until I have finished this project, they will all appear in a list at the beginning of the publication where the final version will be
---
Here's a long and unnecessary context where I explain why I am doing this, you can skip it:
I recently changed the motherboard of my 5-year-old Yoga Tab 3, because it's still a good tablet, at least for seeing Netflix with a great audio quality, after replacing the old damaged card for a new one and flashing a clean version of android L with QFIL, I opened the task manager and saw [500MB of 1GB memory available], so I said “Wow, this is still great! If only I could have these numbers in a more modern version of android...”.
Android M is no longer usable in this tablet, the 32-bit processor equipped with 4 cores at 1.3ghz has aged very badly and the Android M experience has become terribly slow, so, updating the tablet is not an option.
But at that point, I remembered that for a while I used a phone with Android Oreo (Go Edition) out of the box, and personally I must say that I really enjoyed the experience. So, I looked at the little APQ8009 chip on my old and damaged motherboard, reasoned for a moment, and I said to myself: Why not?
I took my cell phone and searched "MSM8909 android oreo go" to see if anyone on XDA or another site had tried to develop something similar, but what I found was even more surprising:
The Lenovo Tab E10 (tb-x104f), a 10.1-inch tablet equipped with an MSM8909 processor, 1GB of RAM and 16GB of ROM and a screen resolution of 1280x800 (exactly the same specifications than the YOGA Tab 3!), and most importantly, Android Oreo (Go Edition) out of the box.
I never thought Lenovo would recycle their old plattforms to make new products, but they did it, and obviously this was an opportunity that I couldn't pass up.
This is my first post here, I hope to be welcome.
1) Preparing the ROMs to work.
- I downloaded two versions of the YT3-850F_S000025_151016 compilation of the YOGA Tab 3 from firmware247, one of them is OTA and the other is for flashing with QFIL.
- I downloaded the TB-X104F_S100050_200813 compilation of the E10 Tab from lolinet mirrors (QPST version)
This is because only QPST versions have been released for TB-X104F and not OTA versions, so I decided that I would get the system folder from the QPST files from both ROMs and not from the OTA files, but also, I needed the 850F OTA ROM to get an idea of what an X104F OTA ROM would look like, since I could try to rebuild it using files from the QPST version (which worked out very well).
To do that, I used two tools called packsparseimg and Imgextractor, developed by the members kidd (or kiddlu) and and_pDA, then published by Innfinite4evr and finally republished by the member zround, apparently this tool is no longer available on XDA, but I found it on a page called CaraRoot.
2) A list with all the changes applied following the guide of The Hard Gamer and mshoaib7, I will highlight the important points.
(This guide was intended for porting Nougat roms, but I suppose it should work just as well for Oreo roms.)
- The META-INF folder did not exist in the rebuilt target rom so it was just copied from the base rom as the guide indicates.
- There is also no recovery folder, it was skipped.
- BIN, ETC, TTS, USR, XBIN and recovery-from-boot.p of the system folder were replaced by those of the base rom (ADDON.D does not exist in any of the 2).
- DRM, HW and SOUNDFX folders were replaced in the lib folder, inside system.
- All files named with LIBGLES*, LIBMM*, LIBHARDWARELEGACY, LIBRIL, LIBRILUTILS and LIBCAMERA* were replaced in the lib folder (there is no file named libwcnss_qmi, it was skipped).
- All files named with libactuator*, libchromatix*, libmmcamera*, libril*, liboemcamera and libimscamera were replaced in lib folder, inside vendor.
- The build.prop file of the target rom was replaced by the base rom file.
The following lines were modified:
ro.build.display.id=YT3-850F_OREO
ro.build.version.incremental=YT3-850F_OREO
ro.build.version.sdk=27
ro.build.version.preview_sdk=0
ro.build.version.codename=REL
ro.build.version.all_codenames=REL
ro.build.version.release=8.1.0
ro.build.version.security_patch=2020-08-05
ro.build.version.base_os=
(...)
ro.build.date=Thu Aug 13 16:55:25 CST 2020
ro.build.date.utc=1597308925
(...)
ro.build.flavor=hq_msm8909go-user
(...)
ro.product.ota.model=
(...)
#
# from device/huaqin/hq_msm8909go/system.prop
#
#
# system.prop for msm8909go
#
The following lines were not modified due to the paragraph that precedes them, I'm sure that not changing this will cause problems, but I don't know what else to do:
# Do not try to parse description, fingerprint, or thumbprint
ro.build.description=msm8909-user 5.1.1 LMY47V 387 release-keys
ro.build.fingerprint=Lenovo/YT3-850F/YT3-850F:5.1.1/LMY47V/YT3-850F_USR_S025_151016_Q1241_ROW:user/release-keys
ro.build.characteristics=tablet
ro.build.phonenumber.minmatch=
ro.build.network.type=wcdma_gsm
ro.build.water.mark=
ro.build.dulemode=
ro.hardware.version=60
ro.build.custom.swversion=YT3-850F_151016
ro.build.custom.hwversion=LenovoPad YT3-850F
and the following lines were not copied, but I'm curious to know what will happen if I do, comment below...
#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.treble.enabled=true
- The boot.img was also modified, the changes were applied.
3) Additional changes that were not in the guide.
The splash.img, emmc_appsboot, rpm, sbl1 and tz files of the target rom were copied from the QPST folder to the rebuilt OTA folder.
¿Why? Because this is how they appear in the base ROM, I assumed they are necessary files, and the target ROM should have them too.
Also here are some files that the base rom has and the target rom doesn't:
file_contexts
NON-HLOS
data.new.dat
data.patch.dat
system.patch.dat
data.transfer.list
I also thought to include the recovery.img, but that would remove TWRP.
4) The files.
this link should give you access to the folder on my drive where the 3 zip files are, the two base roms and the resulting oreo rom.
Project Yoga Tab 3 Oreo
That way and if you are interested in collaborating, you can do more things with them and post your recommendations in this thread. Also don't forget that below you can let me know if I forgot to do something, or if there is anything else I need to do before trying to flash this on my new motherboard.
I hope you liked this work.
With the college exams so close, I hope it won't be long until I post an update at least.
See you soon!
Click to expand...
Click to collapse
Hello looking forward to helping you in this project, as i do not know much about compiling android roms but as i own this device and been looking internet about any new rom or a way that we can still use this tablet
jimmy619 said:
Hello looking forward to helping you in this project, as i do not know much about compiling android roms but as i own this device and been looking internet about any new rom or a way that we can still use this tablet
Click to expand...
Click to collapse
You are welcome to help, although I don't know much about teamwork (especially online).
Ok, today I just installed this version with TWRP and surprise! Dead device!
(Revived with QFIL in an instant.)
With this experience I confirmed that I have definitely forgotten something...
SomeoneNormal07 said:
Ok, today I just installed this version with TWRP and surprise! Dead device!
(Revived with QFIL in an instant.)
With this experience I confirmed that I have definitely forgotten something...
Click to expand...
Click to collapse
I'll put a bit of context:
At the end, I have modified the lines that in the post I said that I did not want to modify, maybe that caused the problem or contributed to it, in any case, I will repeat the experiment and be more careful with what I touch in buildprop.
Ok, there are bad news.
Based on the unformation I was reading, I was committing a huge hazing, it seems that porting a stock ROM to a device with another stock ROM is not a good idea at all, instead I should use an AOSP rom as a target, and last but not least, I'm trying to run android Oreo on this thing.
There is a lot of information out there about how the functioning of android changed with the arrival of Treble, on the one hand, there are those who say that porting ROMs from one device to another has become much easier with Treble, and it is true, but mainly for the devices that already support Treble, for the rest of the devices (as this tablet), that will be more complicated.
My hopes are now based on a comment from an XDA member with a tb-X104F claiming to have flashed Lineage OS 15.1 and another member claiming to have flashed Resurrection Remix, both are different Roms than stock so I should be able to use one of them as a base.
My questions now are:
Do I need a copy of the rom already installed on your devices to work on it or will it be enough to just download the generic image of Lineage OS / Resurrection Remix?
Will the port to android Oreo work or do I need to add files to ROM?
(I hope I have enough time on vacation to investigate all of this)
Then, I must create an update script, (which the Lollipop firmware has but does not say anything that it should say, also the Oreo firmware does not have one because there is not a Meta-Inf folder, my last hope is to find a updater script in the Marshmallow firmware)
Finally, something very strange happens with version 2.8.7.7 of TWRP, and it is that no matter how hard I try, I cannot get it to install a different ROM than the official one, it install applications, install other recovery images, but don't install roms, no matter what I do, I actually tried modifying a few things in the stock ROM to see if those changes applied, and guess what, they don't! the system image is still intact, so now I feel pretty lost.
So, following the tutorials for this tablet, I will have to install Marshmallow and flash the modern version of TWRP (dark theme with blue) available for this tablet and try this again.
Extra: the last files I added weren't necessary either, what's more, I surely came close to ruining my tablet with that flash, I just need the Meta-Inf, system files, apparently a folder called install (which I can't find anywhere but surely contains apps or something like this), a recovery folder (which would delete TWRP but I suppose it is necessary), the boot.img (the only thing that seems to have been done right) and finally the file_contexts.bin file (from I don't know which of the 2 tablets).
Ok guys, some things happened in the short time since i published the last update, I found the solution to the problem with TWRP (SPOILER: another huge hazing).
Along the way I learned a bit about how to write updater-scripts, and now I have a 100% flashable file, the problem now is that the OS does not load and it returns me to TWRP.
But I haven't given up yet, I'll keep working in this until it works.
Now I would like to dig a little more into the hardware files, bloatware and how Lenovo's signature and security work.
the file was android 5 wtf
If you mean the yt3-850f file in the folder, that's android 5.1.1
Excuse me, I deleted the oreo file as soon as I realized my mistake, a new file will be available in a while with a changelog.
SomeoneNormal07 said:
If you mean the yt3-850f file in the folder, that's android 5.1.1
Excuse me, I deleted the oreo file as soon as I realized my mistake, a new file will be available in a while with a changelog.
Click to expand...
Click to collapse
thanks
btw do you have a lineage os rom for the m model or is it possible to compile this to the "m" model?
(as in yt-850m)
Ok guys, here are some news.
I am completely sure that this thing will start, even so, I have prepared an alternative, in this link you will find some downloads of Lineage GSIs, the version "ARM32 A-only device with Android Go gapps" as I am reading inside the build.prop was made to work with 32-bit systems.
Now, as I have been researching and also testing on my own on this device, what we now need is a COMPILED KERNEL FOR THIS DEVICE that can run the ROM, since with the boot.img files and Android Image Kitchen for Windows 10 I am not able to get it to work in any way, so I will have to compile the kernel from 0, at first this may sound complicated, but luckily Lenovo published all the source code for both devices (for Linux), apparently including all the hardware files required for both boards on their support website.
So next on my to-do list is compiling the kernel, but here's when the bad news comes:
College is getting a bit heavy now, so I'll take a break from this project to put 100% of my attention on the exams.
But don't worry, before that, I have updated the project folder with new files, and also, I have prepared the next notes for you:
Through experimentation and research, I have learned how the android update works, here are some notes for other newbies on this topic.
As we already know, android is updated using a file called updater-script, found in /META-INF/com/google/android, in modern versions of this file (Android 5 onwards) we can find the following line:
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file ("system.transfer.list"), "system.new.dat", "system.patch.dat");
This is the line responsible for updating the system, it is a very simple method, and that is why I will adopt it to launch the rom, it is very important to have the 3 files that this code mentions in the ROM, otherwise, the system files will not be copied (TWRP will skip any command with missing files.)
The system.new.dat file can be created from our system folder using 2 Tools:
- The first one is Tool Unpack Repack 3.0, but I do not recommend it very much since the way it is made only allows you to directly convert .img files into .dat, and not a system folder directly to .dat, this happens because instead to unzip the rom directly to a folder that you can modify, the tool store the files for recompression in a hidden file called new.system.img, also the program should include a tutorial where it tells you that the size of the final image must be the same as the file in /System_Unpack/temp_working/new.system.img, because I spent about half an hour looking for the correct size.
- The second tool is IMG extractor, which in addition to creating .dat files can also create .img files that you can convert to .dat with the first tool in case you get an error with it, this tool is included with another program called Brotli Extractor.
To create system.new.dat, you need to have file_contexts from the /boot.img/ramdisk of the ROM you are building, and the system.transfer.list (you can find one in the update_files.zip), once the system.new.dat has been created, a new system.transfer.list should appear next to it, you must copy and replace this file in your ROM.
The Lollipop ROM has provided me a 0 byte system.patch.dat file, the sole purpose of which here is to allow the line of code to run, since there is nothing to patch.
Also, in the project folder you will find:
- Source code of both devices (the code of the tb-x104f is of the normal Oreo version, not Oreo go).
- ROMs (these are not flash files, you need to convert the system folder to .dat and add the META-INF folder and the patch and list files).
- Unzipped boot.img from both devices (Android L and M come from the YT3).
- system_test.zip, which is the image that I am trying to run (this time I used android 6 as a base instead of android 5).
skeyvin said:
thanks
btw do you have a lineage os rom for the m model or is it possible to compile this to the "m" model?
(as in yt-850m)
Click to expand...
Click to collapse
There are no "official" custom ROMs for this tablet, but it should be possible to compile them.
SomeoneNormal07 said:
There are no "official" custom ROMs for this tablet, but it should be possible to compile them.
Click to expand...
Click to collapse
any way how?
Hi guys,
thank you very very very...very much SomeoneNormal07 !!!!
I'm so happy to see that someone is investing his time on this project for this device (I've the model YT3-X90L, but I hope the ROM will work also for this model).
I cheer for you (unfortunately I am not a developer).
Thanks
Bye
Alex