[Q] Restoring a system library - Nexus 5 Q&A, Help & Troubleshooting

Hey,
So I saw that with the new Google Camera API 60fps video was enabled, so I wanted to test it out. I followed the instructions in a forum
Code:
You must have root access and busybox installed on your Nexus 5. (The latter is not strictly required, but makes the process easier as it provides install and pidof.)
Download libmmcamera_imx179_lpx13d_60hz.so in the repository and transfer it to the device. (The following assumes that it is located in /sdcard/.)
Launch a root shell.
Make a backup of the original library first: cp /system/lib/libmmcamera_imx179.so /sdcard/libmmcamera_imx179_original.so
Run mount -o remount,rw /system to re-mount the /system partition for read-write.
Replace the library: install -m644 /sdcard/libmmcamera_imx179_lpx13d_60hz.so /system/lib/libmmcamera_imx179.so
Run mount -o remount,ro /system to re-mount /system as read-only again.
Restart both the camera daemon and media server: kill $(pidof mm-qcamera-daemon) $(pidof mediaserver)
And to restore it said to follow steps 5-8 but using the backed up /sdcard/libmmcamera_imx179_original.so
I did this, but now none of my camera apps are working, when I open google camera it just freezes on the grey screen with the camera. How can I go about restoring this library properly?
Thank you very much.
P.S. I foud out the original instructions were from the lcamera github.

I tried restoring /system/ from a Nandroid backup I made, and it didn't work.

Related

[Q] Fixing Permissions for JPG's

I ran the "fix permissions" through CWM and from everything i've gathered it's ruined the permission on my contacts JPG images. They aren't showing up anymore in the messaging app and so I did a quick google search. I came across this post on an HTC Incredible forum and wondered how I can use it on the Thunderbolt.
I have ADB installed but the Thunderbolt doesn't have the /datadata folder. Can someone look at this and see how to tweak it to fit the Thunderbolt? I'm still not 100% on the TBolt directories and how to apply them to ADB (I'm just learning).
SOLVED!
It appears the ROM Manager fix permissions script messed up the permissions on the thumbnails in the contacts folder. The files were mistakenly permissioned as 771 which meant the jpg thumbnail files were unreadable.
This is what I did to fix it:
Boot into clockworkmod recovery
Go into the mount/umount section
mount /system
mount /data
Connect usb data cable to computer from phone (I use linux so I don't need anything special in the way of drivers)
adb shell
mount /datadata
The above step may take a few seconds to mount
cd /datadata/com.android.providers.contacts
chmod og+rx *
cd files
chmod 664 *.jpg
cd /
umount /datadata
umount /data
exit
Reboot your phone
Once I did that, my thumbnail pictures returned to both the stock messaging app and Handcent.
Click to expand...
Click to collapse

Flash 10.3 Working HULU *Rooted Users*

This works for *me* even after reboots:
http://forum.xda-developers.com/showthread.php?t=1010606
What I am running:
EE4 stock rom with voodoo lagfix Kernel by JT and his CWR.
What I did to get this to work:
Set your browser to desktop view mode.
Install the latest Adobe Flash from the market.
Using Titanium Backup, uninstall Adobe Flash.
Install the latest APK from the Thunderbolt thread above (Flash 10.3 + Hulu_7.apk)
Launch your browser and go to Hulu.
Just tried the method in post 2 and it didn't work.
it only works on my droid charge until I reboot. it would seem that while the /data partition can be mounted read/write with root privileges, it cannot be remounted as read only therefore saving state leaving the new libflashplayer.so remaining.
when I do a mount / remount, I get this:
# mount -o remount,rw /dev/block/mmcblk0p1 /data
# mount -o remount,ro /dev/block/mmcblk0p1 /data
mount: Device or resource busy
uninstalling flash or the flash apk doesn't resolve the issues either. in fact they make it more complicated. on the droid charge, there is an app in /system/app called install_flash_player.apk that will install flash every time the charge is rebooted. you can rename it and it won't be installed on boot, but then you have the problem that /data/data/com.adobe.flashplayer directory won't be created therefore going back to the original problem of being able to modify the /data partition and saving state.
if anyone can let me know how / why the /data partition can't be remounted as ro, let me know and I'll be happy to post instructions for getting it to work on the droid charge.
EDIT
I didn't actually install the apk from the link. I simply took the libflashplayer.so and replaced it with the one located in /data/data/com.adobe.flashplayer/lib/flashplayer.so
unfortunately this is where I can't get /data to go back to read only saving state of the newly replaced flashplayer.so
twoa551 , perhaps one of the devs can chime in here.
Where is imnuts when you need him
twoa551, I will update the first post with instructions if you find any more info.
Needs more work
I think some of the newer roms have initd scripting. So I think we could create a script that would rewrite the .so file each time the phone reboots.
Updated original post. Let me know your results.

FIX: extsd2internalsd broken after Verizon 4.1.2 OTA

Loong time lurker, first time poster. I couldn't post a reply in the development forum, obviously. Maybe someone can link to this in relevant threads over in development.
This is a guide for those who are/were using the extsd2internal to swap storage which no longer works after the 4.1.2 OTA or want to do take advantage of this mod: http://forum.xda-developers.com/showthread.php?t=1849860 OR it MIGHT work for other ROMs which want to use this method for the Galaxy S3.
After the OTA, and getting back up and running, I could not get the script to work correctly with this error: "no such file or directory" and doing some sleuthing, it seems Verizon (in their infinite wisdom) changed the mounts, or maybe it did this because gremlins/gnomes, maybe because Vzw/Samsung knows about the swapping method, who knows. Anyways, here is the fix that worked for me:
PreReqs:
Stock ROM 4.1.2 OTA
Rooted (duh)
BusyBox
SManager ads
Terminal Emulator
Root Explorer in R/W mode
extsd2internalsd mod installed/script in the correct place!
BACKUPS!! Make a nandroid backup before you do ANY tinkering people, and copy it to a safe place like your computer.
Let me be clear, for the love of bits and bytes, do not just keep one copy on the sdcard in the phone!!
1) To find the /dev/block/vold for the external sd card, open Terminal Emulator and run this command. Grant it root access when prompted:
Code:
su ls /dev/block/vold
Write down or make a note of the numbers. (For me there were only 2, 179:32 and 179:33) Now run these commands:
Code:
adb shell
cat /proc/mounts
There will be a whole lot of text that shows up, you are looking for "/dev/block/vold/179:xx" and in the same line there is "/storage/extSDCard"
Alternate method, after you are in shell run command and look for mmcblk1p1:
Code:
cat /proc/partitions
The number in the "minor" column, that's the new number!
Double-check that the blocks are right for the sd card's partition size.
Note: I tried using mmcblk1 and it didn't work, then tried mmcblk1p1 and VIOLA! Yay, trial and error.
2) In SManager, edit the extsd2internal script, and replace the 179:97 to 179:*new number* (again, for me it was 179:33)
3) Reboot or just "run" the script in SManger and wait a few moments, then check Settings>Storage.
Here is what my script looks like:
Code:
#!/system/bin/sh
#extsd2internalsd is a modification that allows to switch internal sd to external sd and viceversa. With this you can use default internal sd only for app storage #and the external sd to store all apps resource and all others stuff. The resut is a very big increase of installable apps on gs3
#All credits to Mattiadj of xda forum for the idea and script and to mike1986 for the cmw zip.
#xda thread url at http://forum.xda-developers.com/showthread.php?t=1772234
#Script Modified for U.S. Galaxy S3s by Zedomax at GalaxyS3Root.com to be compatible when sdcard is not inserted.
busybox mount -o remount,rw /
busybox mount -t vfat -o umask=0000 /dev/block/vold/179:33 /mnt/sdcard
busybox mount -t exfat -o umask=0000 /dev/block/vold/179:33 /mnt/sdcard
if busybox mount | busybox grep vold/179:33; then
busybox mount -o bind /data/media /mnt/extSdCard
fi
If this didn't work for you, I am a complete n00b, so I will do my best, but don't expect much.
Things to double check:
Permissions on the extsd2interal script in Root Explorer should have all the boxes checked EXCEPT the last 3 at the bottom.
SManager script should be set to "Su" and "Boot"
OTA Headaches? Use this guide to keep root and boot unlocked worked PERFECTLY: http://forum.xda-developers.com/showthread.php?t=2186574#8 I did a nandroid restore to pre-OTA since it borked the first go-around, and then used this method.
Take home message: MAKE BACKUPS!
Credits / Current Build of this mod:
http://forum.xda-developers.com/showthread.php?t=1772234
This mod does work, and just replacing the old with the new (still have to add it in SManager) will get the job done. The new script is significantly different, and I am sure there are reasons, but without a changelog...
Forum Community: Created the thread here because I couldn't find another thread specific to this environment with all the relevant information in one place. If anyone has seen any errors of my ways, please, please reply with what's up.

Cannot remount /system partition even when rooted (Sony xperia M2)

I have a Sony xperia M2 D2303 with kitkat 4.4.4 and compilation number 18.3.1.C.1.17.
I have successfully rooted it using KingRoot v4.9.5.
Also I have checked that system is rooted using tools such as root checker and it says rooted.
Now, I am trying to remount /system partition as RW but without succcess.
I have googled and tried several solutions posted here but nothing works for me.
Access to /sys/kernel/security/sony_ric and try to disable sony ric security using:
problem here is that sony_ric folder is empty, I mean, there is no "enable" file and I cannot create it as partition is RO (read-only).
Using ES file explorer or other file explorers as root I have tried to remount partition as RW but it fails.
Code:
echo 0 > enable
Using ROM Toolbox pro, and then from terminal emulator I have tried some commands:
Code:
su
mount -o remount,rw /system
fails.
Code:
su
system/bin/mount -o remount,rw /system
also fails.
Code:
adb shell
su
mount -o rw,remount /system
also fails...
I have tried to install busybox but it fails as well.
I have tried the method explained here but when executing the command:
sh /sdcard/mrw/root.sh
some errors appear as script tries to do things in /system so since it is read-only (not rw) it fails.
Also I have tried the method using SuperSu-me explained here but without success. It completes ok but then SuperSu is executed automatically. SuperSu says to update binaries so I update binaries, then another screen comes saying that another root app was detected, so I press the button to uninstall it and continue installing SuperSu. SuperSu says "Installing ........" and then it crashes, that is, it appears a screen with two buttons, "How to update" and "Reboot". Kingroot, purify apps continued installed and working, and I cannot replace them with SuperSu.
So at this point I have no idea what to do...
My conclusion is that all these tools need to make changes to / and /system but since I have these two partitions set to read-only (cannot make them rw) then all these tools fail. So I think the main cause is that I have / and /system readonly.
Any help will be highly appreciated.
Please, help!

Remove update using overlayfs in start-devmode.sh

I created a gemlog post (http proxy version) listing my current root persistence steps, but figured I'd post here the steps I use to disable the updater.
Most of the core filesystems are read-only and integrity checked, so directly modifying scripts isn't easy. Fortunately the `start-devmode.sh` runs pretty early.
The `/etc/init/update.conf` checks if the `/usr/sbin/update` file exists. If it doesn't then it continues normally. To delete this file I mount an overlayfs over the existing `/usr/sbin/` and delete/whiteout the update file. My steps are:
Bash:
mkdir /tmp/rmupdate
mkdir /tmp/rmupdate/upper
mkdir /tmp/rmupdate/work
mount -t overlay -o lowerdir=/usr/sbin/,upperdir=/tmp/rmupdate/upper/,workdir=/tmp/rmupdate/work/ overlay-rm /usr/sbin/
rm /usr/sbin/update
mount -o remount,ro /usr/sbin
If you want to do something similar make sure you add it after something like starting `telnetd`, as that's also in /usr/sbin and you don't want the overlay to break your connection service.
Easier way that works on my LG TV: just add this line to start-devmode.sh. Then you don't have to remove the actual file.
Code:
killall /usr/sbin/update
HI guys, what is yours TV models and version of Web OS.
wins.911 said:
HI guys, what is yours TV models and version of Web OS.
Click to expand...
Click to collapse
webOS TV 5.2.1 LGwebOSTV

Categories

Resources