Related
I've just installed the last porting of the cyanogen for my Magic 32a. I'm enjoining the idea behind the script fix_permissions. But, observing the structure of the files/folders in my /data/data/, I can see that it is not perfect.
It does chown the folders /data/data/NAME-OF-PACKAGE/ and the subfolders 'databases' and 'shared_prefs'.
Observing the typical contents of my /data/data/ I can see that some applications has further folders and some times also single files in /data/data/NAME-OF-PACKAGE/ that need a touch of chown.
For example:
/data/data/com.htc.android.mail/
drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 app_config
drwxrwxrwx 1 10021 10021 2048 Aug 18 09:00 app_mail_eas
drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 app_mail_temp
drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 app_temp
-rw------- 1 10021 10021 1048576 Aug 18 09:00 bufferFileForMailAP
drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 databases
drwxr-xr-x 1 1000 1000 2048 Aug 18 08:41 lib
drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 shared_prefs
You can test on your system by yourself:
for APP in /data/data/* ; do echo -e "\n$APP" ; ls -l $APP ; done | more
I'm attaching an improved version that should fix the permissions on all the subfolders different than 'lib' and also on the single files.
I hope it works for you and that it can be included in the future firmwares.
UPDATE: in this thread, several users are making contributions to the original script (with a fast increasing version number ). There is also a report in the Cyanogen bug system: http://code.google.com/p/cyanogenmo...ID Type Status Priority Version Owner Summary
You should find there the last revision. Thanks to all for the contributions.
ankn said:
I've just installed the last porting of the cyanogen for my Magic 32a. I'm enjoining the idea behind the script fix_permissions. But, observing the structure of the files/folders in my /data/data/, I can see that it is not perfect.
It does chown the folders /data/data/NAME-OF-PACKAGE/ and the subfolders 'databases' and 'shared_prefs'.
Observing the typical contents of my /data/data/ I can see that some applications has further folders and some times also single files in /data/data/NAME-OF-PACKAGE/ that need a touch of chown.
For example:
/data/data/com.htc.android.mail/
drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 app_config
drwxrwxrwx 1 10021 10021 2048 Aug 18 09:00 app_mail_eas
drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 app_mail_temp
drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 app_temp
-rw------- 1 10021 10021 1048576 Aug 18 09:00 bufferFileForMailAP
drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 databases
drwxr-xr-x 1 1000 1000 2048 Aug 18 08:41 lib
drwxrwx--x 1 10021 10021 2048 Aug 18 09:00 shared_prefs
You can test on your system by yourself:
for APP in /data/data/* ; do echo -e "\n$APP" ; ls -l $APP ; done | more
I'm attaching an improved version that should fix the permissions on all the subfolders different than 'lib' and also on the single files.
I hope it works for you and that it can be included in the future firmwares.
Click to expand...
Click to collapse
Btw, I was wondering why we fix only userId and not also sharedUserId
as I'm quite sure I've seen them messed up sometimes after some of my to
ambitious experiments. Shouldn't be difficult to add support for that if there
is some evidence that it is a Good Thing(tm).
farmatito said:
Btw, I was wondering why we fix only userId and not also sharedUserId
Click to expand...
Click to collapse
I don't understand the meaning of the parameter "sharedUserId". Some packages in packages.xml use the parameter "UserId", others the "sharedUserId" one. What's the difference?
ankn said:
I don't understand the meaning of the parameter "sharedUserId". Some packages in packages.xml use the parameter "UserId", others the "sharedUserId" one. What's the difference?
Click to expand...
Click to collapse
shared user id is for the case when you have a program extended by another installable program in order to run in the same process:
http://developer.android.com/reference/android/R.attr.html#sharedUserId
Another improvement could be to fix the file modes as well. I have noticed that sometimes the user permissions on files and directories in /data/data get removed.
Then you get FCs with an sqlite error like below:
Code:
sqlite3_open_v2("/data/data/com.xta.foodmkt/databases/Hungry.db", &handle, 6, NULL) failed
The below commands fixes the access errors:
Code:
find /data/data -type d -exec busybox chmod u+rwx {} \;
find /data/data -type f -exec busybox chmod u+rw {} \;
farmatito said:
Btw, I was wondering why we fix only userId and not also sharedUserId
as I'm quite sure I've seen them messed up sometimes after some of my to
ambitious experiments. Shouldn't be difficult to add support for that if there
is some evidence that it is a Good Thing(tm).
Click to expand...
Click to collapse
I'm attaching another version with support to packages with sharedUserId; fixed the remount mechanism that doesn't work on the other firmware that I'm actually using (HoFo).
smeat said:
The below commands fixes the access errors:
Code:
find /data/data -type d -exec busybox chmod u+rwx {} \;
find /data/data -type f -exec busybox chmod u+rw {} \;
Click to expand...
Click to collapse
This code should fixes all the permission-related problems but it is too risky from the security point-of-view.
ankn said:
This code should fixes all the permission-related problems but it is too risky from the security point-of-view.
Click to expand...
Click to collapse
Why risky, if i understand it right:
directory: 700 (owner only can read, write or enter directory)
files: 600 (owner only can read or write file)
Where is the risk?
You can also use:
chmod 700 directory
chmod 600 files
farmatito said:
Why risky, if i understand it right:
directory: 700 (owner only can read, write or enter directory)
files: 600 (owner only can read or write file)
Where is the risk?
You can also use:
chmod 700 directory
chmod 600 files
Click to expand...
Click to collapse
It doesn't even go that far, it ADDS the owner to the permissions, not reset them to just the owner having permissions.
smeat said:
It doesn't even go that far, it ADDS the owner to the permissions, not reset them to just the owner having permissions.
Click to expand...
Click to collapse
This in my opinion is far more risky than doing
a chmod for the owner only at least in the case
that the permissions are messed up for whatever
reason as some insecure settings will not be corrected
that way, e.g.:
permissions are wrongly set to 666 or 777
than you do chmod +urwx file and the result
will continue to be an insecure setting 666 or
677 that doesn't enforce isolation between apps.
BTW, by looking at ls of /data/data it seems to
me that all folders have 755 permissions so
chmod 755 folder should be safe. For the deeper level:
Code:
/data/data/app 755
/data/data/app/files 700
/data/data/app/lib 755
/data/data/app/shared_prefs 771
but I have not the time right now to check all subfolders
to see if there are exceptions to this default settings.
smeat said:
It doesn't even go that far, it ADDS the owner to the permissions, not reset them to just the owner having permissions.
Click to expand...
Click to collapse
This is true. Sorry!
farmatito said:
This in my opinion is far more risky than doing
a chmod for the owner only at least in the case
that the permissions are messed up for whatever
reason as some insecure settings will not be corrected
that way, e.g.:
permissions are wrongly set to 666 or 777
than you do chmod +urwx file and the result
will continue to be an insecure setting 666 or
677 that doesn't enforce isolation between apps.
BTW, by looking at ls of /data/data it seems to
me that all folders have 755 permissions so
chmod 755 folder should be safe. For the deeper level:
Code:
/data/data/app 755
/data/data/app/files 700
/data/data/app/lib 755
/data/data/app/shared_prefs 771
but I have not the time right now to check all subfolders
to see if there are exceptions to this default settings.
Click to expand...
Click to collapse
fix_permissions is not about removing permissions and never has been from what I can tell. Currently it just goes through the /data/system/packages.xml and finds the listed owner of the /data/data files and then changes ownership of the files and directories.
I am talking about adding an additional chmod to make it so that file and directory owners are added as being able to read/write to the files they own. I have seen an issue were running something made it so that a ton of my application sqlite databases had file permissions of 060. When this happens you get the error I posted originally: sqlite3_open_v2("/data/data/com.xta.foodmkt/databases/Hungry.db", &handle, 6, NULL) failed. Even though the group write and read bit are set and the group is correct the error above happens. Adding the owner back as having read/write permissions fixes this error.
Again, adding permissions to only the user/owner of the files and directories does not open the files up to being written by other processes on the phone.
Again, adding permissions to only the user/owner of the files and directories does not open the files up to being written by other processes on the phone.
Click to expand...
Click to collapse
I know. I was trying to improve the concept of fix permission as you can not know
in advance how the permissions could have been messed up. So it would be better
to enforce some sane defaults rather than to add some hacks to fix a specific problem.
This obviously is only possible if there are some patterns in file and folder permissions of /data/data.
That is what i will try to find out.
farmatito said:
I know. I was trying to improve the concept of fix permission as you can not know
in advance how the permissions could have been messed up. So it would be better
to enforce some sane defaults rather than to add some hacks to fix a specific problem.
This obviously is only possible if there are some patterns in file and folder permissions of /data/data.
That is what i will try to find out.
Click to expand...
Click to collapse
Ahhh, sorry I misunderstood what you were getting at.
If you run:
Code:
find /data/data -type f -exec ls -l {} \;
Will tell you what all the files are currently set to.
A run of:
Code:
find /data/data -type d -exec ls -ld {} \;
Will list the current directory permissions.
What I can find is that any /sslcache directory is 700, /lib 755 and owned by 1000:1000, /database 771, /shared_prefs 771, But I have some apps with 700 directories for everything.
Here is a table for /data/data/app, format: directory/file, permissions, ownership
Directories:
/database 771 appuser:appgroup
/lib 755 1000:1000
/shared_prefs 771 appuser:appgroup
/sslcache 700 appuser:appgroup
/anythingelse 771 appuser:appgroup
Files:
/database/* 660 appuser:appgroup
/lib/* ??? ??????, never seen any files in these directories.
/sslcache/* 600 appuser:appgroup
/shared_prefs/* 660 appuser:appgroup
/anythingelse/* 660 appuser:appgroup
Does this align with what you are seeing? If so we can adjust the script to apply these permissions to the files and directories more selectively.
I was actually wondering about this very thing yesterday. Is there some reason why the initial script only changed the permissions of databases and shared_prefs?
I'm trying to think of a scenario in which you wouldn't just want a recursive chown, but especially in the case of wiping and then copying back data directories, having ALL the subdirectories owned by the app's uid seems preferable to having any of them owned by the wrong uid.
smeat said:
Ahhh, sorry I misunderstood what you were getting at.
If you run:
Code:
find /data/data -type f -exec ls -l {} \;
Will tell you what all the files are currently set to.
A run of:
Code:
find /data/data -type d -exec ls -ld {} \;
Will list the current directory permissions.
What I can find is that any /sslcache directory is 700, /lib 755 and owned by 1000:1000, /database 771, /shared_prefs 771, But I have some apps with 700 directories for everything.
Here is a table for /data/data/app, format: directory/file, permissions, ownership
Directories:
/database 771 appuser:appgroup
/lib 755 1000:1000
/shared_prefs 771 appuser:appgroup
/sslcache 770 appuser:appgroup
/anythingelse 771 appuser:appgroup
Files:
/database/* 660 appuser:appgroup
/lib/* ??? ??????, never seen any files in these directories.
/sslcache/* 600 appuser:appgroup
/shared_prefs/* 660 appuser:appgroup
/anythingelse/* 660 appuser:appgroup
Does this align with what you are seeing? If so we can adjust the script to apply these permissions to the files and directories more selectively.
Click to expand...
Click to collapse
So far this is what i've found:
Code:
/data/data/pkgdir uid/gid 755
/data/data/pkgdir/lib system/system 755
/data/data/pkgdir/databases uid/gid 771
/data/data/pkgdir/databases/*.db uid/gid 660
/data/data/pkgdir/shared_prefs uid/gid 771
/data/data/pkgdir/shared_prefs/*.xml uid/gid 660
/data/data/pkgdir/cache uid/gid 771
/data/data/pkgdir/cache/* uid/gid 771
The only differences are in the anythingelse part wher I have found
all possible combinations of permissions, but I suspect that these files
and dirs are setup by the apk at runtime as no reference could be found
for them in the apk package nor in the installd source code.
So i think it would be a big improvement to try to fix this standard dirs and their
contents with ownership and permissions as shown above.
This could save a lot of headaches to users and devs. Single apps with
exotic permissions could always be reinstalled or fixed manually.
In script 1.3 you should change:
cat /data/system/packages.xml | grep "^<package" | grep userId
to
cat /data/system/packages.xml | grep "^<package" | grep serId
as else no packages with sharedUserId will be found
farmatito said:
So far this is what i've found:
Code:
/data/data/pkgdir uid/gid 755
/data/data/pkgdir/lib system/system 755
/data/data/pkgdir/databases uid/gid 771
/data/data/pkgdir/databases/*.db uid/gid 660
/data/data/pkgdir/shared_prefs uid/gid 771
/data/data/pkgdir/shared_prefs/*.xml uid/gid 660
/data/data/pkgdir/cache uid/gid 771
/data/data/pkgdir/cache/* uid/gid 771
The only differences are in the anythingelse part wher I have found
all possible combinations of permissions, but I suspect that these files
and dirs are setup by the apk at runtime as no reference could be found
for them in the apk package nor in the installd source code.
So i think it would be a big improvement to try to fix this standard dirs and their
contents with ownership and permissions as shown above.
This could save a lot of headaches to users and devs. Single apps with
exotic permissions could always be reinstalled or fixed manually.
Click to expand...
Click to collapse
Yeah, I was assuming on the /anythingelse.
Alright here is my shot at this modification. Not much of a coder... so be gentle.
I created an issue for this on the code.google.com cyanogenmod site. thenefield posted some changes and I have integrated them into a new script.
smeat said:
I created an issue for this on the code.google.com cyanogenmod site. thenefield posted some changes and I have integrated them into a new script.
Click to expand...
Click to collapse
In your rewrite of the script, you forgot to apply the chown to the subfolders that are different than 'databases' and 'shared_prefs' as well as to the single files in the application-root. Look at my first post in this thread: these cases exist and we have to deal with them. In other words: you reverted my changes.
Seems Telstra users got a 1.89 OTA update today :highfive:
I'll see if an RUU is available, but I think this makes it the newest official ROM version of the One X / XL so far?
Changes?
the_scotsman said:
Seems Telstra users got a 1.89 OTA update today :highfive:
I'll see if an RUU is available, but I think this makes it the newest official ROM version of the One X / XL so far?
Click to expand...
Click to collapse
Yepity yep.
Questions- Do we know the changes? Release notes?
Seems quicker to load up apps.....although that could just be because it rebooted for the first time since I bought it.... :laugh:
the_scotsman said:
Seems Telstra users got a 1.89 OTA update today :highfive:
I'll see if an RUU is available, but I think this makes it the newest official ROM version of the One X / XL so far?
Click to expand...
Click to collapse
indeed
it got to be just pushing out this afternoon, it wasn't available this morning
Anyone tried rooting the new OTA after updating?
doesn't work
Code:
$ ./root-linux.sh
Don't touch the device or unplug while rooting!
Push files
error: protocol fault (no status)
* daemon not running. starting it now *
* daemon started successfully *
rm failed for /data/local/installbusybox, No such file or directory
rm failed for /data/local/installbusybox2, No such file or directory
rm failed for /data/local/root, No such file or directory
rm failed for /data/local/root2, No such file or directory
rm failed for /data/local/sysro, No such file or directory
rm failed for /data/local/sysro2, No such file or directory
rm failed for /data/local/sysrw, No such file or directory
rm failed for /data/local/sysrw2, No such file or directory
rm failed for /data/local/unroot, No such file or directory
rm failed for /data/local/unroot2, No such file or directory
rm failed for /data/local/busybox, No such file or directory
rm failed for /data/local/su, No such file or directory
rm failed for /data/local/Superuser.apk, No such file or directory
failed to copy 'busybox' to '/data/local/busybox': Permission denied
failed to copy 'su' to '/data/local/su': Permission denied
failed to copy 'Superuser.apk' to '/data/local/Superuser.apk': Permission denied
Unable to chmod /data/local/busybox: No such file or directory
Unable to chmod /data/local/su: No such file or directory
Unable to chmod /data/local/Superuser.apk: No such file or directory
failed on '/data/local/tmp' - Permission denied
link failed File exists
rm failed for /data/local.prop, No such file or directory
Reboot
/system/bin/sh: cannot create /data/local.prop: Permission denied
Reboot again...
mount: Operation not permitted
mount: Operation not permitted
/system/bin/sh: cannot create /system/xbin/busybox: Read-only file system
Unable to chmod /system/xbin/busybox: No such file or directory
/system/bin/sh: /system/xbin/busybox: not found
/system/bin/sh: busybox: not found
/system/bin/sh: busybox: not found
Unable to chmod /system/xbin/su: No such file or directory
Unable to chmod /system/xbin/su: No such file or directory
Unable to chmod /system/app/Superuser.apk: No such file or directory
rm failed for /data/local.prop, No such file or directory
rm failed for /data/local/tmp, Permission denied
failed on '/data/local/tmp.bak' - No such file or directory
Reboot one last time...
erasen1 said:
doesn't work
Code:
$ ./root-linux.sh
Don't touch the device or unplug while rooting!
Push files
error: protocol fault (no status)
* daemon not running. starting it now *
* daemon started successfully *
rm failed for /data/local/installbusybox, No such file or directory
rm failed for /data/local/installbusybox2, No such file or directory
rm failed for /data/local/root, No such file or directory
rm failed for /data/local/root2, No such file or directory
rm failed for /data/local/sysro, No such file or directory
rm failed for /data/local/sysro2, No such file or directory
rm failed for /data/local/sysrw, No such file or directory
rm failed for /data/local/sysrw2, No such file or directory
rm failed for /data/local/unroot, No such file or directory
rm failed for /data/local/unroot2, No such file or directory
rm failed for /data/local/busybox, No such file or directory
rm failed for /data/local/su, No such file or directory
rm failed for /data/local/Superuser.apk, No such file or directory
failed to copy 'busybox' to '/data/local/busybox': Permission denied
failed to copy 'su' to '/data/local/su': Permission denied
failed to copy 'Superuser.apk' to '/data/local/Superuser.apk': Permission denied
Unable to chmod /data/local/busybox: No such file or directory
Unable to chmod /data/local/su: No such file or directory
Unable to chmod /data/local/Superuser.apk: No such file or directory
failed on '/data/local/tmp' - Permission denied
link failed File exists
rm failed for /data/local.prop, No such file or directory
Reboot
/system/bin/sh: cannot create /data/local.prop: Permission denied
Reboot again...
mount: Operation not permitted
mount: Operation not permitted
/system/bin/sh: cannot create /system/xbin/busybox: Read-only file system
Unable to chmod /system/xbin/busybox: No such file or directory
/system/bin/sh: /system/xbin/busybox: not found
/system/bin/sh: busybox: not found
/system/bin/sh: busybox: not found
Unable to chmod /system/xbin/su: No such file or directory
Unable to chmod /system/xbin/su: No such file or directory
Unable to chmod /system/app/Superuser.apk: No such file or directory
rm failed for /data/local.prop, No such file or directory
rm failed for /data/local/tmp, Permission denied
failed on '/data/local/tmp.bak' - No such file or directory
Reboot one last time...
Click to expand...
Click to collapse
Damn, thanks for letting us know.
EDIT: Those errors looks like an issue with the root install process. Obviously your phone was connected and you have the drivers installed? It looks like it's not seeing the phone at all.
the phone is connected, there was an adb instance in another terminal thats why you see script starts adb-mac at the top.
I tried some commands in the script it looks the update changed file permissions
Code:
$ adb push su /data/local/su
failed to copy 'su' to '/data/local/su': Permission denied
$ adb shell
1|[email protected]:/ $ mv /data/local/tmp /data/local/tmp.bak
failed on '/data/local/tmp' - Permission denied
someone on stock 1.81 can compare
Code:
[email protected]:/ $ mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/block/mmcblk0p33 /system ext4 ro,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p35 /data ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered,discard 0 0
/dev/block/mmcblk0p34 /cache ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered,discard 0 0
/dev/block/mmcblk0p26 /devlog ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered,discard 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p17 /firmware_radio vfat ro,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/dev/block/mmcblk0p18 /firmware_q6 vfat ro,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/dev/block/mmcblk0p19 /firmware_wcnss vfat ro,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
tmpfs /data/secure/data tmpfs rw,relatime,mode=755,gid=1000 0 0
htcfs /data/htcfs fuse.htcfs rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other 0 0
DxDrmServerIpc /data/DxDrm/fuse fuse.DxDrmServerIpc rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other 0 0
/dev/block/vold/179:36 /mnt/sdcard vfat rw,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro,discard 0 0
/dev/block/vold/179:36 /mnt/secure/asec vfat rw,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro,discard 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
[email protected]:/ $
[email protected]:/ $ ls -la
drwxr-xr-x root root 2012-07-13 22:44 acct
drwxrwx--- system cache 2012-07-13 21:13 cache
dr-x------ root root 2012-07-13 22:44 config
-rw-r--r-- root root 1387 1970-01-01 10:00 cwkeys
lrwxrwxrwx root root 2012-07-13 22:44 d -> /sys/kernel/debug
drwxrwx--x system system 2012-07-13 17:06 data
-rw-r--r-- root root 118 1970-01-01 10:00 default.prop
drwxr-xr-x root root 2012-07-13 22:44 dev
drwx------ root root 2012-07-13 22:45 devlog
lrwxrwxrwx root root 2012-07-13 22:44 etc -> /system/etc
drwxrwx--x system system 2012-07-13 22:44 firmware_dsps
drwxrwxrwx root root 1970-01-01 10:00 firmware_q6
drwxrwxrwx root root 1970-01-01 10:00 firmware_radio
drwxrwxrwx root root 1970-01-01 10:00 firmware_wcnss
-rwxr-x--- root root 111620 1970-01-01 10:00 init
-rwxr-x--- root root 19133 1970-01-01 10:00 init.elite.rc
-rwxr-x--- root root 2344 1970-01-01 10:00 init.goldfish.rc
-rwxr-x--- root root 13114 1970-01-01 10:00 init.qcom.rc
-rwxr-x--- root root 9588 1970-01-01 10:00 init.qcom.sh
-rwxr-x--- root root 22080 1970-01-01 10:00 init.rc
-rwxr-x--- root root 3314 1970-01-01 10:00 init.target.rc
-rwxr-x--- root root 7760 1970-01-01 10:00 init.usb.rc
drwxrwxr-x root system 2012-07-13 22:44 mnt
dr-xr-xr-x root root 1970-01-01 10:00 proc
drwx------ root root 2012-06-19 18:46 root
drwxr-x--- root root 1970-01-01 10:00 sbin
lrwxrwxrwx root root 2012-07-13 22:44 sdcard -> /mnt/sdcard
drwxr-xr-x root root 2012-07-13 22:44 sys
drwxr-xr-x root root 2012-07-13 20:04 system
drwxrwx--x system system 2012-07-13 22:44 tombstones
-rw-r--r-- root root 272 1970-01-01 10:00 ueventd.goldfish.rc
-rw-r--r-- root root 8451 1970-01-01 10:00 ueventd.rc
drwxrwx--x system system 2012-07-13 22:44 vendor
[email protected]:/ $
I smell an ATT update and possibly kernel source release soon
Sent from my HTC One X using xda app-developers app
Im ganna wait till there is a rooted deodexed version of this before I let it update, but Im hoping this means source code finally!
Sent from my HTC One XL using Tapatalk 2
Yes I did an OTA update to 1.89 from my stock 1.81. Worked fine even though i'm in UK atm. I don't see any differences from playing with the phone today.
I wonder if we can sniff out the 1.89 RUU some how. Is it possible to see where the OTA itself is downloading from? Maybe that site hosts RUU too?
juicejuice said:
Yes I did an OTA update to 1.89 from my stock 1.81. Worked fine even though i'm in UK atm. I don't see any differences from playing with the phone today.
I wonder if we can sniff out the 1.89 RUU some how. Is it possible to see where the OTA itself is downloading from? Maybe that site hosts RUU too?
Click to expand...
Click to collapse
I am in contact with someone who has access to the RUUs. This new one isn't yet available.
I don't know if this is of any help but here's the downloaded update file (even though I can't apply it I can still download it ad nauseum)
https://www.dropbox.com/s/wxsqmdhwc...81.841.1_R_release_266785ap9qro3i4pvkmhv0.zip
ethantarheels123 said:
I smell an ATT update and possibly kernel source release soon
Sent from my HTC One X using xda app-developers app
Click to expand...
Click to collapse
I spoke to a high up tech at HTC and they said AT&T will have a maintenance update within 3 weeks. Not sure if it's the same. He told me wifi will be 99.99% fixed and blutooth radio will be optimized. I asked him about jellybean and he just laughed. I guess they haven't even discussed jellybean yet.
OP - Did you notice better multi-tasking? Better battery life?
I just got the update also. I had to manually check for it. I haven't noticed the font changing it messages yet. Although messages did crash on me once. I'll see how my battery goes today and report back. Where is the changelog. Can't seem to find it anywhere
Sent from my HTC One XL using xda app-developers app
Some version info for people.
1.81.841.1 -> 1.89.841.9
Kernel
3.0.8-01145 -> 3.0.8-01159
Radio
17a.32.09.03_2_10.85.32.16L -> 18c.32.09.01_10.93a.32.20L
hboot
1.09.0000 -> 1.11.0000
OpenDSP
v25.1.0.32.0405 -> 28.1.0.32.0504
Apr(I forgot to write the rest) -> Jun 7 2012,13:10:34
karan1203 said:
I spoke to a high up tech at HTC and they said AT&T will have a maintenance update within 3 weeks. Not sure if it's the same. He told me wifi will be 99.99% fixed and blutooth radio will be optimized. I asked him about jellybean and he just laughed. I guess they haven't even discussed jellybean yet.
OP - Did you notice better multi-tasking? Better battery life?
Click to expand...
Click to collapse
Isn't Wifi a hardware issue? Will this be another "fix" like what Asus did with Prime tablets? Heh.
Anyone who has applied this update, do you lose root and if so can you get it back easy enough. Also I've not unlocked the bootloader, is this still possible after upgrading HBOOT?
Never actually used an official update, got sick of waiting for telstra to bring froyo when I had my Desire and never looked back.
hmm i couldnt do the update.
i think cause my phone has been rooted.
anyone experience the same problem?
Itaintrite said:
Isn't Wifi a hardware issue? Will this be another "fix" like what Asus did with Prime tablets? Heh.
Click to expand...
Click to collapse
Why do you think it is hardware based?
Some of the issues people report are:
-auto 2.4/5ghz doesnt work (cant obtain IP aka no data flow). Must force 2.4ghz
-wifi does not disconnect when out of range. Must turn wifi off/on
-wifi does not reconnect when in range. Must turn wifi off/on
I think the general understanding is all of these are likely just a software issue.
---------- Post added at 08:08 AM ---------- Previous post was at 08:06 AM ----------
dejapanda said:
hmm i couldnt do the update.
i think cause my phone has been rooted.
anyone experience the same problem?
Click to expand...
Click to collapse
I believe you need stock recovery for it to work. Maybe also require locked bootloader.
I personally locked the bootloader, flashed Telstra RUU and then installed the update. Followed by unlocking bootloader and replacing recovery again
twistedddx said:
I believe you need stock recovery for it to work. Maybe also require locked bootloader.
I personally locked the bootloader, flashed Telstra RUU and then installed the update. Followed by unlocking bootloader and replacing recovery again
Click to expand...
Click to collapse
Did you try rooting again after the update?
In the ADB shell as root I get the following results
Code:
/data # ls -la dalvik-cache/
ls -la dalvik-cache
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
ls: dalvik-cache/[email protected]@[email protected]: No such file or directory
drwxrwx--x 4 root root 57344 Mar 14 12:36 .
drwxrwx--x 41 system system 4096 Mar 15 07:45 ..
drwx--x--x 2 root root 53248 Mar 15 07:45 arm
drwx--x--x 2 system system 20480 Mar 14 20:56 profiles
/data # ls -la property/
ls -la property
ls: property/persist.atvc.allow_res_core: No such file or directory
ls: property/persist.atvc.allow_all_core: No such file or directory
ls: property/persist.radio.adb_log_on: No such file or directory
drwx------ 2 root root 4096 Mar 15 08:25 .
drwxrwx--x 41 system system 4096 Mar 15 07:45 ..
-rw------- 1 root root 1 Jan 2 2009 persist.atvc.adb
-rw------- 1 root root 1 Mar 15 07:45 persist.atvc.allow_res_panic
....
This doesn't seem right. Since /data is an F2FS partition I can't fsck it.
Any ideas on how to get rid of those errors?
What I've tried:
listing (ls), removing, stat'ing, fsck.f2fs'ing, nothing works from the shell.
Is there possibly a better forum to ask this question? I have plenty *nix experience, but am stumped on how to solve this. Normally filechecking tools are necessary but a good one for F2FS doesn't seem available (on Android).
Which ROM are you running on your phone? I'm not sure if that makes a difference since GPE uses ext4 and stock uses f2fs.
I've only run stock KK and L.
In the end I could only solve it by completely wiping the /data partition with dd and reformatting with mkfs.f2fs.
Done from adb shell in recovery.
I dunno how I ended up in this situation but it's solved now.
Running the Brzilian XT1032 ROM now, will reinstall sometime when the EU image is available.
Sent from my XT1032 using XDA Free mobile app
Quark^2 said:
I've only run stock KK and L.
In the end I could only solve it by completely wiping the /data partition with dd and reformatting with mkfs.f2fs.
Done from adb shell in recovery.
I dunno how I ended up in this situation but it's solved now.
Running the Brzilian XT1032 ROM now, will reinstall sometime when the EU image is available.
Sent from my XT1032 using XDA Free mobile app
Click to expand...
Click to collapse
Could you give a link to the file and a list of commands you used?
I'm probably stuck in the same situation as you were.
I have screen captures and downloads on my phone that I want to move to my SD card.
When I mount the phone on my Linux computer, I see:
/run/user/1000/gvfs/mtp:host=%5Busb%3A010%2C018%5D$ ls -l
total 0
drwx------ 1 me me 0 Dec 31 1969 Card
drwx------ 1 me me 0 Dec 31 1969 Phone
I did: mkdir Card/DCIM/Screenshots and that worked.
cp -a Phone/Pictures/Screenshots Card/DCIM/Screenshots gives the error "Operation not supported".
I checked the permissions on all the directories in the path and they seem ok.
I tried to chmod to make everything writeable by everyone but that fails too.
I've tried to copy/move the files with a file manager on the phone but that fails too.
$ ls -l
total 0
dr-x------ 1 me me 0 Dec 31 1969 mtp:host=%5Busb%3A010%2C018%5D
$ chmod o+w *
chmod: changing permissions of 'mtp:host=%5Busb%3A010%2C018%5D': Operation not supported
bjlockie said:
I have screen captures and downloads on my phone that I want to move to my SD card.
When I mount the phone on my Linux computer, I see:
/run/user/1000/gvfs/mtp:host=%5Busb%3A010%2C018%5D$ ls -l
total 0
drwx------ 1 me me 0 Dec 31 1969 Card
drwx------ 1 me me 0 Dec 31 1969 Phone
I did: mkdir Card/DCIM/Screenshots and that worked.
cp -a Phone/Pictures/Screenshots Card/DCIM/Screenshots gives the error "Operation not supported".
I checked the permissions on all the directories in the path and they seem ok.
I tried to chmod to make everything writeable by everyone but that fails too.
I've tried to copy/move the files with a file manager on the phone but that fails too.
$ ls -l
total 0
dr-x------ 1 me me 0 Dec 31 1969 mtp:host=%5Busb%3A010%2C018%5D
$ chmod o+w *
chmod: changing permissions of 'mtp:host=%5Busb%3A010%2C018%5D': Operation not supported
Click to expand...
Click to collapse
Hi,
Try this:
Code:
/run/user/1000/gvfs/mtp:host=%5Busb%3A010%2C018%5D$ cp -R Phone/Pictures/Screenshots $HOME/Card/DCIM/Screenshots
I might have your file paths wrong but the logic should work.
Here is a little tutorial for disabling LG RCT (Root Checker Tool), this currently has not much use for the avg. user since it does not impact performance as far as i know, but this might help other Developers. This Requires the System Partition to be writable, e.g. with SystemRW tool.
Required:
Unlocked Bootloader (Obviously)
SystemRW Mod
Disable DM-Verity (AVB) (Will be disabled by the SystemRW Mod)
Part 1:
1. adb shell, pm uninstall -k --user 0 com.lge.rctprovider
2. adb reboot bootloader, Fastboot erase rct
Reboot to System
3. adb shell, pm uninstall -k --user 0 com.lge.srtc
4. Edit /system_ext/etc/init/init.lge.system_ext.service.rc (copy to storage, rename to txt and remove that completely:
########################################
# LG RCT(Rooting Check Tool)
########################################
service rctd /system_ext/bin/rctd
class late_start
user root
group root
seclabel u:r:rctd:s0
)
5. Remove .txt extension and copy back to original place (Keep old permissions on file: rw-r--r--) and reboot
Now the RCT Service is stopped.
--------------------------------
Part 2:
1. Delete /system/system_ext/app/RctProvider Folder and /system/system_ext/bin/rctd file
2. Delete /mnt/Product/Persist-LG/RCT Folder
Done, how to check if it is disabled? "Adb shell", "su" and "getprop | grep rct". If it shows nothing as output that means the service is not running. After that check the service menu *#546368#*600# > SVC Menu > LG RCT (Has to say Disabled)
Credits to Th3-Hunter333 (ps3hacker3 on XDA) and Leronex (Leronex_1 on XDA)
how to do
怎么弄
Thanks a lot for the guide!
I don't have a linux workstation around and decided to edit the init.lge.system_ext.services.rc file and copy it back using Total Commander. Total Commander can remount the file system as r/w, but for whatever reason any file I create in /system/etc/init has "0" size. I tried to save init.lge.system_ext.services.rc under a different name in the same folder and it became empty. I can delete or create a new file but all my files have zero size.
I also tried to remount the /system as r/w using "mount -o rw,remount /" command from adb shell. It sort of works, I can change the permissions for files and folders but again, I can't edit files. I even tried vi editor from the adb shell (busybox vi ...) and while it doesn't complain about the r/o file I still can't add anything to it.
Here is a result of the "ls -la" command after I changed permissions to 777 for init.lge.system_ext.services.rc
-rw-r--r-- 1 root root 0 2008-12-31 16:00 init.lge.system.on_post_fs.rc
-rw-r--r-- 1 root root 429 2008-12-31 16:00 init.lge.system.on_post_fs_data.rc
-rw-r--r-- 1 root root 260 2008-12-31 16:00 init.lge.system.on_property.rc
-rwxrwxrwx 1 root root 0 2021-12-07 16:19 init.lge.system.services.rc
-rw-r--r-- 1 root root 4674 2008-12-31 16:00 installd.rc
-rw-r--r-- 1 root root 1104 2008-12-31 16:00 iorapd.rc
Just wondering if anyone have a solution to that. Thank you.
G0bl1n said:
Thanks a lot for the guide!
I don't have a linux workstation around and decided to edit the init.lge.system_ext.services.rc file and copy it back using Total Commander. Total Commander can remount the file system as r/w, but for whatever reason any file I create in /system/etc/init has "0" size. I tried to save init.lge.system_ext.services.rc under a different name in the same folder and it became empty. I can delete or create a new file but all my files have zero size.
I also tried to remount the /system as r/w using "mount -o rw,remount /" command from adb shell. It sort of works, I can change the permissions for files and folders but again, I can't edit files. I even tried vi editor from the adb shell (busybox vi ...) and while it doesn't complain about the r/o file I still can't add anything to it.
Here is a result of the "ls -la" command after I changed permissions to 777 for init.lge.system_ext.services.rc
-rw-r--r-- 1 root root 0 2008-12-31 16:00 init.lge.system.on_post_fs.rc
-rw-r--r-- 1 root root 429 2008-12-31 16:00 init.lge.system.on_post_fs_data.rc
-rw-r--r-- 1 root root 260 2008-12-31 16:00 init.lge.system.on_property.rc
-rwxrwxrwx 1 root root 0 2021-12-07 16:19 init.lge.system.services.rc
-rw-r--r-- 1 root root 4674 2008-12-31 16:00 installd.rc
-rw-r--r-- 1 root root 1104 2008-12-31 16:00 iorapd.rc
Just wondering if anyone have a solution to that. Thank you.
Click to expand...
Click to collapse
You didn't read the tutorial, the system NEEDS to be R/W before you do it.
Leronex_1 said:
You didn't read the tutorial, the system NEEDS to be R/W before you do it.
Click to expand...
Click to collapse
Oh I did read it, just was wondering if I can find a way around.
But from the file system perspective I don't understand how I can create an empty file or delete it but in the same time can't update the content.
What I did actually killed the RCT service, while it also killed a couple of other (useful) services listed in the services.rc. file. The phone works OK so far, I don't see anything strange though. I do have a copy of the original file and will copy it back once I have a linux setup on my PC.
Can someone upload the text for init.lge.system_ext.services.rc I accidentally deleted the whole thing when I saved.
I don't have com.lge.srtc
is it different on the verizon version?
Assasinx54 said:
Can someone upload the text for init.lge.system_ext.services.rc I accidentally deleted the whole thing when I saved.
Click to expand...
Click to collapse
here's mine
Code:
########################################
# CAPP_NFS
########################################
service nfsserversetup /system/bin/nfsserversetup
class late_start
user root
oneshot
########################################
# CAPP_MPROFILER
########################################
service lgprofd /system/bin/lgprofd
socket lgprofd stream 666
########################################
# CAPP_NFS
########################################
service nfskill /system/bin/nfskillprocess
disabled
oneshot
user root
on property:vold.decrypt=trigger_shutdown_framework
start nfskill
########################################
# bugreport is triggered by holding down volume down, volume up and power
########################################
service bugreport /system/bin/dumpstate -d -p -B -z \
-o /data/user_de/0/com.android.shell/files/bugreports/bugreport
class main
disabled
oneshot
keycodes 114 115 116
########################################
# LG RCT(Rooting Check Tool)
########################################
service rctd /system_ext/bin/rctd
class late_start
user root
group root
seclabel u:r:rctd:s0
########################################
# [email protected] fota
########################################
service uncrypt-fota /system/bin/uncrypt --fota
class main
socket uncrypt stream 600 system system
disabled
oneshot
service uncrypt-lcdoff /system/bin/uncrypt --lcdoff
class main
socket uncrypt stream 600 system system
disabled
oneshot
########################################
# LGP_DATA_DSQN
########################################
service dsqn /system_ext/bin/dsqn
disabled
user root
on property:persist.product.lge.data.dsqn=1
start dsqn
on property:persist.product.lge.data.dsqn=0
stop dsqn
########################################
# LGP_DATA_TCPIP_MPTCP
########################################
service socks /system_ext/bin/redsocks -c /system_ext/etc/redsocks.conf
disabled
user root
on property:product.lge.data.mptcp.enabled=1
start socks
on property:product.lge.data.mptcp.enabled=0
stop socks
service socks-v6 /system_ext/bin/redsocks-v6 -c /system_ext/etc/redsocks_v6.conf
disabled
user root
on property:product.lge.data.mptcp.enabled=1
start socks-v6
on property:product.lge.data.mptcp.enabled=0
stop socks-v6
########################################
# [email protected] ModemBSP
########################################
#LGE_CHANGE_S, Advanced MOCA, [email protected]
service moca_service /system_ext/bin/advanced_moca -s
class late_start
user root
group system sdcard_r sdcard_rw radio misc bluetooth
disabled
oneshot
socket Full.MOCA.port stream 660 system system
on property:persist.product.lge.service.moca.enable=1
start moca_service
on property:persist.product.lge.service.moca.enable=0
stop moca_service
#LGE_CHANGE_E, Advanced MOCA, [email protected]
Thanks dude I ended up reflashing the stock rom and rerooting. The problem was my device doesnt have R/W access. Im working with the guy that made the r/w script to get it working on the verizon v60
Assasinx54 said:
Thanks dude I ended up reflashing the stock rom and rerooting. The problem was my device doesnt have R/W access. Im working with the guy that made the r/w script to get it working on the verizon v60
Click to expand...
Click to collapse
are you getting
Code:
systemrw: Error! failed to create super_fixed.img file. Error code: 73
Yes error 73 is normal. I actually have created a better tutorial for this and I'll be updating it today.
I don't have a /system_ext
I do have a /system/etc/init
but I don't have init.lge.system_ext.service.rc
On v60_TMO that was crossflashed from v60_AM, I did the system_rw mod.
I was trying to follow the instructions here and ran the uninstall.sh from here, but that didn't work for me either.
*Edit: I found that the file for mine is /system/etc/init/init.lge.system.services.rc
I also don't have the directories from part 2, but part 1 seems to have *stopped the rct service.
deathglass said:
I don't have a /system_ext
I do have a /system/etc/init
but I don't have init.lge.system_ext.service.rc
On v60_TMO that was crossflashed from v60_AM, I did the system_rw mod.
I was trying to follow the instructions here and ran the uninstall.sh from here, but that didn't work for me either.
Click to expand...
Click to collapse
The uninstall.sh script in that repo is for removing the Magisk module. Does the Magisk module not work?
null-dev said:
The uninstall.sh script in that repo is for removing the Magisk module. Does the Magisk module not work?
Click to expand...
Click to collapse
I have no idea what the script was supposed to do (as far as rct goes), was just trying to follow the instructions. It said "Download and install the Magisk module (with a link to your disable magisk script), then reboot phone"
deathglass said:
I have no idea what the script was supposed to do, was just trying to follow the instructions.
Click to expand...
Click to collapse
The instructions say to install a Magisk module though, did you do that and it still didn't work?
null-dev said:
The instructions say to install a Magisk module though, did you do that and it still didn't work?
Click to expand...
Click to collapse
Oh, I didn't realize that magisk module meant through the Magisk app. I installed it and everything seems to be working, thank you.
Step-by-step worked for me, but local banking app still detecting root
dangtoi1993 said:
Step-by-step worked for me, but local banking app still detecting root
Click to expand...
Click to collapse
This is not how you bypass that
Leronex_1 said:
This is not how you bypass that
Click to expand...
Click to collapse
So there is anyway to pass safetynet while keeping root?
dangtoi1993 said:
So there is anyway to pass safetynet while keeping root?
Click to expand...
Click to collapse
Google "bypass safetynet root"