Disabling Nixon Mission Low Bit Ambient Mode - Wear OS Q&A, Help & Troubleshooting

Hi everyone! I've been trying to disable the low bit ambient mode on my Nixon mission, but so far that didn't work out.
I can unlock the bootloader just fine (adb reboot-bootloader and then adb flash unlock), but I cannot edit the boot.prop file in /system to get rid of that ugly low bit ambient mode. The reason is that /system is mounted readonly, and trying to remount it in rw mode fails with the note that this filesystem is not user-mountable. I tried getting su on there but no joy - plus someone mentioned that the /system filesystem is squashed and not writable even if you're root.
My question is, does anyone have any clues as to how to edit build.prop on the Nixon Mission?

I'll second this request, the low bit ambient mode suck's..... we need help!!!!

Solved with Augustus update now full ambient mode

and now with 8.0 update low bit is back! Sucks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Related

Change Images of sleep/boot

Hi
I have successfully changed the poweroff image. But I cannot find a instruction how to change the sleep mode and boot images. Is it possible with adb?
Thanks!
Before you venture on, make sure you have a proper backup of your NST!
The boot images are packed into framework-res.apk
Here's a thread about the subject:
http://forum.xda-developers.com/showthread.php?t=1272397
Here's a specific post about modifying framework-res
http://forum.xda-developers.com/showpost.php?p=17882146&postcount=11
Sleep images are handled by the screensaver service.
Here's a thread on the subject:
http://forum.xda-developers.com/showthread.php?t=1286456
Thank you very much for your answer! In the first thread you wrote mounting a partition:
mkdir /data/local/tmp/mnt
mount -o rw -t vfat /dev/block/mmcblk0p1 /data/local/tmp/mnt
ls -l /data/local/tmp/mnt
Can I do this with adb? How can I access these files then? (Im on xp and a noob, sorry )
Thanks.
Here's another thread , and yes, its done through adb.
http://forum.xda-developers.com/showpost.php?p=20069276&postcount=8
Yes, I changed the power off image with that. Worked perfect. But how exactely can I change the boot and sleep images? They seem not included in framework-res.apk.
Thanks for your help!
Would it be something like this?:
Code:
cd C:/android-sdk-windows/platform-tools
adb connect yourNSTip
adb pull /dev/block/mmcblk0p1/charging0.pgm
then change the image and:
Code:
adb shell
mount -o remount,rw -t vfat /dev/block/mmcblk0p1
exit
adb push charging0.pgm /dev/block/mmcblk0p1/
reboot
Gogolo2 said:
Yes, I changed the power off image with that. Worked perfect. But how exactely can I change the boot and sleep images? They seem not included in framework-res.apk
Click to expand...
Click to collapse
Maybe I was a little unclear on the subject.
The first boot image is booting.pgm on the boot partition.
The other images there aren't interesting, the charging ones only gets triggered when your NST is so low on power it cannot boot.
The boot animation after the initial boot image is done by /system/bin/bootanimation and there's not much you can do about that short of writing your own service
The "sleep" images is handled by a screensaver service that pulls the images from a predefined folder. (/system/media/screensaver/*)
Thanks very much!
That means I could change the images in /system/media/screensaver/authors without a problem?
Gogolo2 said:
Thanks very much!
That means I could change the images in /system/media/screensaver/authors without a problem?
Click to expand...
Click to collapse
I haven't tested it, but yeah, I suppose you could
It was no problem changing the images, but: they dont show up. Only black screen. I checked everything, resolution, color depth, file name. Im stuck...
The original ones are fine. I even tried to copy only the image over the original, save - but no luck. As if the original ones had some flag or it looks at the creation date, I dont know.
It tries to show the images: If I have two own images and one original, it shows to times black and one time the original images in sleep mode. Why is that?
Thanks anyway
Connect your Nook to your PC, search for screensavers folder, create a new folder, name it whatever, and put your images there (600x800, grayscale).
Now on the nook settings, on screensaver, select your new folder.....
Sometimes life is that simple....
Thank you very much! Perfect!
ros87 said:
Maybe I was a little unclear on the subject.
The first boot image is booting.pgm on the boot partition.
The other images there aren't interesting, the charging ones only gets triggered when your NST is so low on power it cannot boot.
The boot animation after the initial boot image is done by /system/bin/bootanimation and there's not much you can do about that short of writing your own service
The "sleep" images is handled by a screensaver service that pulls the images from a predefined folder. (/system/media/screensaver/*)
Click to expand...
Click to collapse
You could try doing a boot animation zip like on a normal Android device
Located at:
/data/local/bootanimation.zip
A properly designed boot animation may theoretically work on the NST won't know until someone tries.
Ok, waiting for the first volunteer
Did you unzip?
Did you unzip the archive, replace the files, then zip it? I did this a few times. You can open the archive inside 7zip by just double clicking. Go where you need to, then paste in the new files. Then just push the same file back to the nook. Doing this on 1.1, I got the power off screen to show, and it will boot to the screensaver, but when I unlock it and select a chooser (ADW, home, relauncher), then the screen goes black and I have to restore.
I did not try this. with adb I changed power off screen successfully. Also screensaver works. But first screensaver when starting up isn't working. I think in the startup sequence it doesn't look in the specified folder.

Modify the system partition on Android Nougat?

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!

[7.0] Enable google daydream (root needed)

I've managed to get daydream VR up and running on my LG G5.
I'm just gonna jump straight to the point and explain how I've managed to do this.
To set this up, you're gonna have to be on Android 7.0, and have root access.
First of all, enable ADB Debugging in your developer settings and test if it works on your computer, we are gonna need this later on.
Download and install the following apps;
Daydream apk http://www.apkmirror.com/apk/google-inc/daydream/daydream-1-1-161121023-release/daydream-1-1-161121023-android-apk-download/
VR Serviceshttp://www.apkmirror.com/apk/google-inc/google-vr-services/google-vr-services-1-1-141111507-release/
Daydream Keyboardhttp://www.apkmirror.com/apk/google-inc/daydream-keyboard/daydream-keyboard-1-0-release/daydream-keyboard-1-0-android-apk-download/
Any root explorer app, i used https://play.google.com/store/apps/details?id=com.jrummy.root.browserfree&hl=en
Open up the root explorer and navigate to: /system/etc/permissions
In the permissions folder, look for the following file and open it: "handheld_core_hardware.xml"
BE SURE TO CREATE A COPY THE FILE FIRST SO YOU HAVE A BACK-UP OF THE ORIGINAL HANDHELD_CORE_HARDWARE FILE
Add the following lines between the <permissions> tags
"<feature name="android.software.vr.mode" />"
"<feature name="android.hardware.vr.high_performance" />"
Reboot your phone. A lot of things will crash when it starts up, this happened to me too. This happens because the file we just edited doesn't have the proper permissions set up.
To fix this problem we're gonna open up an ADB Shell on the computer.
Once you have ADB open do the following commands:
SU (and grant superuser permissions on phone)
mount -o rw,remount -t /system
chmod 644 /system/ect/permissions/handheld_core_hardware.xml
mount -o ro,remount -t /system
reboot
Now, if we open the daydream app we can launch daydream by pressing the cardboard button in the corner.
You can also use a secondary android phone as a controller, if you have one. Google has a guide set up for this https://developers.google.com/vr/daydream/controller-emulator
Sources: https://www.reddit.com/r/Android/comments/5hno6u/got_daydream_to_work_on_my_5x_might_work_on_other/
If you have any questions, feel free to leave a comment and i'll get back to you as soon as i can!
Thank you
Successfully tried this on fulmics 1.0. Even didn't have to chmod after reboot, config file already was 644. Thank you a lot for this tutorial, its great to know we can use g5 with daydream, in my opinion the experience with the qhd lcd screen is good enough, amoled is not a (real) must.
tatsujin said:
Successfully tried this on fulmics 1.0. Even didn't have to chmod after reboot, config file already was 644. Thank you a lot for this tutorial, its great to know we can use g5 with daydream, in my opinion the experience with the qhd lcd screen is good enough, amoled is not a (real) must.
Click to expand...
Click to collapse
I'm glad it works for you! i think i had to chmod since i'm on stock v20a. This will probably (don't take my word for it though) work on a lot of newer high-end phones running on 7.0 or higher.
There's a way to use it without NFC ?
Confirmed on Xiaomi Mi5
Works perfectly on a Xiaomi Mi5 with a Moto G controller emulator both running on LineageOS 14.1.
Only a couple of Games wont Run, but almost everyone does and runs smoothly.
did so just without rooting and editing the xml File
Everything Works fine - the g5 says "Hold the Home Button...", my old Samsung galaxy s4 (Controller Emulator) says Bluetooth (Connected)
but if i push the Controller Home Button on the s4 nothing happend on the g5
are you shure it will work with root and editing xml File?
i Don t want to root the g5
thanks
xamax88 said:
did so just without rooting and editing the xml File
Everything Works fine - the g5 says "Hold the Home Button...", my old Samsung galaxy s4 (Controller Emulator) says Bluetooth (Connected)
but if i push the Controller Home Button on the s4 nothing happend on the g5
are you shure it will work with root and editing xml File?
i Don t want to root the g5
thanks
Click to expand...
Click to collapse
I haven't gotten around to figuring out how the controller emulator actually works, you need to initiate the pairing on the G5 (or the phone that's running daydream) as far as i know. I have no idea if it works without root since you're editing a build.prop, i couldn't tell you since i'm always rooted.
night.shadows said:
There's a way to use it without NFC ?
Click to expand...
Click to collapse
How do you mean use it without nfc? If you're talking about the controller emulator, open the link in the OP (original post) to the google page that provides you with the controller emulator. It explains pretty much everything you need to know when it comes down to that.
TFDRA said:
How do you mean use it without nfc? If you're talking about the controller emulator, open the link in the OP (original post) to the google page that provides you with the controller emulator. It explains pretty much everything you need to know when it comes down to that.
Click to expand...
Click to collapse
No I meant use daydream on non-nfc phone, but I've found in the developers options, thanks !
Just keeps crashing
So i go into the daydream app and go into the actual vr mode and it just crashes the app, idk what to do from here. I bought the daydream headset and i have a oneplus 3t so I dont really know what to do and it sucks cause i really wanna use it.
statertot said:
So i go into the daydream app and go into the actual vr mode and it just crashes the app, idk what to do from here. I bought the daydream headset and i have a oneplus 3t so I dont really know what to do and it sucks cause i really wanna use it.
Click to expand...
Click to collapse
Check out this thread on the oneplus forums, someone managed to get it working on the oneplus3.
I think the proccess would be fairly similar for you since you're probably using oxygenOS as well.
https://forums.oneplus.net/threads/major-announcement-daydream-vr-fully-running-on-op3-oxygenos.479505/
TFDRA said:
Check out this thread on the oneplus forums, someone managed to get it working on the oneplus3.
I think the proccess would be fairly similar for you since you're probably using oxygenOS as well.
https://forums.oneplus.net/threads/major-announcement-daydream-vr-fully-running-on-op3-oxygenos.479505/
Click to expand...
Click to collapse
Hi I've tried this method but I'm stuck, when it try to modify the permissions of the file the terminal keeps saying its a read only file system, help please :crying:
matias041198 said:
Hi I've tried this method but I'm stuck, when it try to modify the permissions of the file the terminal keeps saying its a read only file system, help please :crying:
Click to expand...
Click to collapse
If you have root, you can try running these commands in a terminal:
Code:
su
mount -o remount rw /
SkyrisBactera said:
If you have root, you can try running these commands in a terminal:
Code:
su
mount -o remount rw /
Click to expand...
Click to collapse
I've tried with no success
Code:
victara:/ $ su
victara:/ # mount -o rw,remount -t /system
/system/etc/permissions/handheld_core_hardware.xml <
chmod: chmod '/system/etc/permissions/handheld_core_hardware.xml' to 100644: Read-only file system
1|victara:/ # mount -o remount rw /
mount: '/' not in /proc/mounts
I just realised I can't change permissions of any file in my phone :crying:
I've attached my handheld core hardware file, it's from my Moto x 2014 (VICTARA). Can anyone please make it .xml, set permissions and make a flashable .zip? Thanks
EDIT: I was able to mount the /system using root explorer somehow, after that it was straight forward
Hi, i'm planning on buying the lg g5 and the daydream view headset, is it worth it? does it work well? i want to know if daydream games are working with the daydream controller too. Thanks a lot!!!
guideahon said:
Hi, i'm planning on buying the lg g5 and the daydream view headset, is it worth it? does it work well? i want to know if daydream games are working with the daydream controller too. Thanks a lot!!!
Click to expand...
Click to collapse
Maybe you should get a phone with oficial daydream support
Hi, i tried all the steps from here, the daydream app crashes and i cant play any daydream games, do i have to install any specific version?? i'm on stock 20a
Hi, followed the guide on a LG G2 with BOBO-VR Z5 with controller, everythings fine except the pairing of the controller through bluetooth.
"No controller found. Make sure that your controller is charged and next to your phone, then try again."
Any idea?
Install Magisk Module Daydream Enabler
Install Magisk Module Daydream Enabler For solve this issue in a better way.

Cam 2

On stock ROM, I can not edit the build prop because it just gives me system can not be mounted errors and on custom ROMs (7.1 because I can't use 8.0 due to WiFi calling and volte not working for me) I am able to edit the build prop just fine but then the camera won't launch. After deleting the line and restarting cameras still don't work. What gives?
you have to restore your build.prop permission to rw-r-r
jackydroid68 said:
you have to restore your build.prop permission to rw-r-r
Click to expand...
Click to collapse
Stock it won't let me do that. I prefer stock so I wish I could remember how I fixed the Mount issue. I believe I've done it before.
Are you stock and rooted... or just "stock" and using TWRP to modify the file? If you are using TWRP to modify the file, you will have to change it's permissions with adb in TWRP after you have mounted system read-write in TWRP, like this:
Code:
adb shell
cd system
chmod 644 build.prop
- Source
acejavelin said:
Are you stock and rooted... or just "stock" and using TWRP to modify the file? If you are using TWRP to modify the file, you will have to change it's permissions with adb in TWRP after you have mounted system read-write in TWRP, like this:
- Source
Click to expand...
Click to collapse
I'm stock rooted. However on stock rom, it won't even let me mount the system in TWRP. I check the box and nothing happens.
carnivalrejectq said:
I'm stock rooted. However on stock rom, it won't even let me mount the system in TWRP. I check the box and nothing happens.
Click to expand...
Click to collapse
Since your not really explaining how you are trying to do it, I am going to assume adb (which is easiest)...
Code:
adb shell
su
mount -o rw,remount -t ext4 /system
chmod 644 /system/build.prop
if the mount command doesn't work, try it like this...
mount -o rw,remount /dev/block/dm-0 /system
Then exit and reboot the phone, should be good after that.
I haven't tried rooting my G5 yet, probably never will, but I do know that many newer phones have special security in place and you cannot remount from adb.
I assume you have tried mounting /system RW in ES File Manager or Solid Explorer?
acejavelin said:
Since your not really explaining how you are trying to do it, I am going to assume adb (which is easiest)...
if the mount command doesn't work, try it like this...
mount -o rw,remount /dev/block/dm-0 /system
Then exit and reboot the phone, should be good after that.
I haven't tried rooting my G5 yet, probably never will, but I do know that many newer phones have special security in place and you cannot remount from adb.
I assume you have tried mounting /system RW in ES File Manager or Solid Explorer?
Click to expand...
Click to collapse
Yeah I haven't even tried it through adb yet because my laptop is slow as molasses but I have tried through TWRP and solid explorer. Everything mounts fine on custom roms, just not stock.
I just went through this a few days ago, I was going bonkers. I managed in the end to mount system in TWRP, but it was like a different set of files... build.prop was there, I pulled it, edited, and pushed it back, but reboot into system had a DIFFERENT build.prop. Made no sense. I rebooted back into TWRP, mounted system again, found the build.prop there had my changes. It was like there were two versions of /system, one that TWRP gave me and one that the system used. It was maddening, to say the least. Somewhere around 2 or 3am, I started getting sloppy trying to get to the bottom of all this, and I accidentally deleted my system partition and soft bricked the phone.
Thankfully I found this thread:
https://forum.xda-developers.com/g5-plus/development/rom-twrp-flashable-stock-builds-t3675616
These are stock roms that are flashable in TWRP, but modified in that Dm-verity and force encryption have been disabled in the boot images. With this installed, my phone booted properly again and TWRP had no problem accessing the file system... and thankfully this time around, it was the same /system being mounted as the booted phone, everything actually made sense for a change.
I would strongly recommend flashing that modified stock rom and starting over. Camera2 and everything are running properly and I couldn't be happier.
Dishe said:
I just went through this a few days ago, I was going bonkers. I managed in the end to mount system in TWRP, but it was like a different set of files... build.prop was there, I pulled it, edited, and pushed it back, but reboot into system had a DIFFERENT build.prop. Made no sense. I rebooted back into TWRP, mounted system again, found the build.prop there had my changes. It was like there were two versions of /system, one that TWRP gave me and one that the system used. It was maddening, to say the least. Somewhere around 2 or 3am, I started getting sloppy trying to get to the bottom of all this, and I accidentally deleted my system partition and soft bricked the phone.
Thankfully I found this thread:
https://forum.xda-developers.com/g5-plus/development/rom-twrp-flashable-stock-builds-t3675616
These are stock roms that are flashable in TWRP, but modified in that Dm-verity and force encryption have been disabled in the boot images. With this installed, my phone booted properly again and TWRP had no problem accessing the file system... and thankfully this time around, it was the same /system being mounted as the booted phone, everything actually made sense for a change.
I would strongly recommend flashing that modified stock rom and starting over. Camera2 and everything are running properly and I couldn't be happier.
Click to expand...
Click to collapse
I believe I AM using one of those zips so im not sure how this ended up happening but I'll flash again and see if it helps. Thank you so very much for the reply. Really appreciate it. How's camera2 working for you? You using that modified Google cam with HDR+ or is it just helping the stock camera even more so?
carnivalrejectq said:
I believe I AM using one of those zips so im not sure how this ended up happening but I'll flash again and see if it helps. Thank you so very much for the reply. Really appreciate it. How's camera2 working for you? You using that modified Google cam with HDR+ or is it just helping the stock camera even more so?
Click to expand...
Click to collapse
Stock camera still seems to have sharpening and NR that reduces details. I think it improved some other apps, especially enabling the use of Camera2 on apps that use it (and even allows some apps to record in RAW, which is neat but too much trouble to get working properly). But apps that don't necessarily use Camera2 will still look similar I think, including the stock app.
The Google HDR+ app really makes the hardware here shine, I've got to admit. Its a shame that since I'm running the stock firmware we're stuck with the 32-bit buggy version. It isn't very stable, and the focusing is kind of frustrating when it decides not to cooperate. There's a workaround to use video mode to focus, then switch back to camera mode and lock AE/AF, but even then sometimes I find that on close-focus objects, the focus will shift a bit upon reinit on photo mode before I can lock AF. But when it works... man, it REALLY makes a difference! I went from wanting to return the phone to being rather pleased with it.
Attaching a couple of samples. One of harsh contrasting light by a window, and another in a dark alley outside my office.
Dishe said:
Stock camera still seems to have sharpening and NR that reduces details. I think it improved some other apps, especially enabling the use of Camera2 on apps that use it (and even allows some apps to record in RAW, which is neat but too much trouble to get working properly). But apps that don't necessarily use Camera2 will still look similar I think, including the stock app.
The Google HDR+ app really makes the hardware here shine, I've got to admit. Its a shame that since I'm running the stock firmware we're stuck with the 32-bit buggy version. It isn't very stable, and the focusing is kind of frustrating when it decides not to cooperate. There's a workaround to use video mode to focus, then switch back to camera mode and lock AE/AF, but even then sometimes I find that on close-focus objects, the focus will shift a bit upon reinit on photo mode before I can lock AF. But when it works... man, it REALLY makes a difference! I went from wanting to return the phone to being rather pleased with it.
Attaching a couple of samples. One of harsh contrasting light by a window, and another in a dark alley outside my office.
Click to expand...
Click to collapse
Those do look pretty good. I'm gonna flash one of the zips when I can finally get a chance and try and do this build prop edit again. Any idea which camera apps from the play store use the API?
Off the top of my head I do not. There was a link to a modified one here somewhere which supported RAW in DNG format, but I found it unreliable and a major pain to edit and make look like anything on the phone.
Meanwhile, I found this thread about modifying the in-camera processing to reduce the sharpening and noise reduction:
https://forum.xda-developers.com/showpost.php?p=72246474&postcount=9
Flashed the zip in that post to my stock rom and it cleaned up a lot of apps, including the stock photo app. Cam2 api is necessary for google's HDR plus, but if you just want a better image out of the stock apps, I think that flash is what you need.
Dishe said:
Off the top of my head I do not. There was a link to a modified one here somewhere which supported RAW in DNG format, but I found it unreliable and a major pain to edit and make look like anything on the phone.
Meanwhile, I found this thread about modifying the in-camera processing to reduce the sharpening and noise reduction:
https://forum.xda-developers.com/showpost.php?p=72246474&postcount=9
Flashed the zip in that post to my stock rom and it cleaned up a lot of apps, including the stock photo app. Cam2 api is necessary for google's HDR plus, but if you just want a better image out of the stock apps, I think that flash is what you need.
Click to expand...
Click to collapse
I ended up flashing the stock zip from the post you linked and after that the change to build prop for sure worked and now I'm playing around with one of the Google cams so thanks a lot for sure man. I've been wanting to try it for months while still being able to remain stock. Really appreciate it.
carnivalrejectq said:
I ended up flashing the stock zip from the post you linked and after that the change to build prop for sure worked and now I'm playing around with one of the Google cams so thanks a lot for sure man. I've been wanting to try it for months while still being able to remain stock. Really appreciate it.
Click to expand...
Click to collapse
No problem! Glad it helped! I should probably compile some sort of FAQ or something, lots of information spread across too many threads to make sense of it. But just FYI, I'm pretty sure OTA updates won't work anymore now that you've modified the system.

How do I persist changes to the /oem folder?

I have the Moto G7 International variation (INDIA/RETIN, it turns out; I'm in the US and thought I was buying the RETUS version, but I didn't pay enough attention to the store page). I have rooted the device easily, thanks to the assistance of these forums. I have also installed TWRP 3.3.1-2-river for the purpose of backups and restores, though there seems to be problem with it. However TWRP is not the focus of my question right now.
I have become quite annoyed with the boot animation on this phone and would like to change it. Putting new boot animations in the /system/media folder has not been working and it seems to be because this international model has a boot animation override (that trumps all other boot animation locations) in the /oem/retin/media folder. The /oem folder is initially read-only, but can be remounted with read-write without error (using root). Using MiXplorer or the adb shell, I can delete stuff from there without error as well. However, when I reboot, it all comes back. I suspect that the changes I make to the /oem folder are not actually persisted to whereever in the first place. When I look at the mounts on the phone, I see /oem is mounted from /dev/block/dm-1. /dev/block/dm-1 is listed in my partitions list when the phone is booted up normally. From what I can tell though (and I'm not that knowledgable on this topic), that is just a "wrapper" around some data elsewhere. How can I tell where this dm-1 partition's data is really coming from?
As additional information, the block list by-name lists the oem image as belonging to block mmcblk0p58. When I boot into TWRP and mount that block, I do see the usual /oem stuff in there. I deleted the boot animation from there and tested unmounting the block, rebooting into TWRP and remounting the block and can see that the boot animation is still properly deleted from there. However, when I boot the phone back up normally, I see the usual stuff (including the boot animation) in the /oem folder still. That might make some sense, since it is listed as being mounted from /dev/block/dm-1 and not from /dev/block/mmcblk0p58 (though I was hoping dm-1 was a wrapper for mmcblk0p58).
This is the only dm mount on the phone; I don't have the problem with /system being uneditable because it is mounted to dm-0 like I see in many other posts for other phones. In turn, I don't think I have the "base data is encrypted" problem from those cases either (it is "just" an oem setup and not personal data). This still seems somewhat like the dm-verity problem I read about with other phones though (although this one doesn't give the dm-verity warning when I try to remount /oem as read-write). Running the commands:
Code:
adb root
adb disable-verity
just tells me
Code:
disable-verity only works for userdebug builds
verity cannot be disabled/enabled - USER build
I'm not sure how to check if there is dm-verity on in the first place though.
As a more direct question (though I would still like to know how to trace this dm-1 partition backwards), how can I make changes to this /oem folder actually persist between reboots?
@Spaceminer described the exact same problem for the Moto G6 in the Universal DM-Verity remover thread. In the end he said that it wasn't solvable without a system root.
https://forum.xda-developers.com/an...rceencrypt-t3817389/post81974407#post81974407
(I have since returned the phone because of this.)
1equals2 said:
@Spaceminer described the exact same problem for the Moto G6 in the Universal DM-Verity remover thread. In the end he said that it wasn't solvable without a system root.
https://forum.xda-developers.com/an...rceencrypt-t3817389/post81974407#post81974407
(I have since returned the phone because of this.)
Click to expand...
Click to collapse
i was unable to get this to persist either. i ended up using magisk for my work instead.
@1equals2 @HT123 To persist changes to your /oem partition the HAB (high assurance boot) verification must be deactivated. I've already successfully tested it on my device, a Moto G6 plus.
Here are the required steps: (only for Stock ROM!!)
1.) Start TWRP and backup /vendor + /system
2.) Mount /vendor + /system and delete the following
files:
- /vendor/etc/init/hw/init.mmi.hab.rc
- /vendor/bin/init.mmi.hab.sh
- /system/verity_key
3.) Go to /vendor/etc/init/hw and adb pull init.mmi.rc in order to edit the file.
4.) Open it and delete the lines 19+20:
Code:
19 # Moto verified boot extension
20 import /vendor/etc/init/hw/init.mmi.hab.rc
5.) Save the changes, copy it back to its path and set permissions to: -rw-r--r-- root:root
==> After the next reboot /vendor and /oem are mounted as ../vendor_a and ../oem_a (depending on your active slot).
As the last step you have to customize fstab.qcom to be able to access the files within the /oem folder.
Adb pull /vendor/etc/fstab.qcom and open it. The last line defines how /oem is mounted during the init process. You should change it like this:
before:​
Code:
/dev/block [...] /oem ext4 ro,nosuid,nodev,[STRIKE]context=u:object_r:oemfs:s0[/STRIKE] wait,slotselect,[STRIKE]verify[/STRIKE]
after:​
Code:
/dev/block [...] /oem ext4 ro,nosuid,nodev,[COLOR="red"]barrier=1[/COLOR] wait,slotselect
Save it and copy it back. Permissions: -rw-r--r-- root:root
>>> REBOOT AND ENJOY!!

Categories

Resources