This script and the attached statically compiled zip program are able
to create a backup file named bakpak.zip on your sdcard containing
all your phone's proprietary files I'm aware of. If you know about
other files that need to be added to the list please let me know.
Roms with odexed apk packages are not supported as deodexing
them is not trivial and legally dubious.
List:
Code:
/system/app/BugReport.apk
/system/app/checkin.apk
/system/app/Gmail.apk
/system/app/GmailProvider.apk
/system/app/GoogleApps.apk
/system/app/GooglePartnerSetup.apk
/system/app/GoogleSettingsProvider.apk
/system/app/gtalkservice.apk
/system/app/MediaUploader.apk
/system/app/NetworkLocation.apk
/system/app/SetupWizard.apk
/system/app/Street.apk
/system/app/Talk.apk
/system/app/Vending.apk
/system/app/VoiceSearch.apk
/system/app/YouTube.apk
/system/framework/com.google.android.gtalkservice.jar
/system/framework/com.google.android.maps.jar
/system/etc/permissions/com.google.android.gtalkservice.xml
/system/etc/permissions/com.google.android.maps.xml
/system/bin/akmd
/system/etc/firmware/brf6300.bin
/system/etc/gps.conf
/system/etc/wifi/Fw1251r1c.bin
/system/etc/wifi/tiwlan.ini
/system/lib/libaudioeq.so
/system/lib/libgps.so
/system/lib/libhgl.so
/system/lib/libhtc_acoustic.so
/system/lib/libhtc_ril.so
/system/lib/libjni_pinyinime.so
/system/lib/libmm-adspsvc.so
/system/lib/libOmxCore.so
/system/lib/libOmxH264Dec.so
/system/lib/libOmxMpeg4Dec.so
/system/lib/libOmxVidEnc.so
/system/lib/libopencorehw.so
/system/lib/libpvasf.so
/system/lib/libpvasfreg.so
/system/lib/libqcamera.so
/system/lib/libspeech.so
/system/lib/hw/lights.goldfish.so
/system/lib/hw/lights.msm7k.so
/system/lib/hw/sensors.trout.so"
# Removed because under Apache v2 license
#/system/app/GoogleContactsProvider.apk
#/system/app/GoogleSubscribedFeedsProvider.apk
#/system/app/ImProvider.apk
#/system/app/VoiceDialer.apk
# Removed from list, we usually flash modded versions, could be readded if needed
#/system/etc/AudioFilter.csv
#/system/etc/AudioPara4.csv
#/system/etc/AudioPreProcess.csv
The purpose of this script is to enable devs to backup all proprietary files
before flashing a updated rom and restore them after the flashing process.
The restore script must still be developed, one thing to take care of is that
during restore you have to set the correct file permissions and ownership
yourself if choose to create a zip archive. If you create a tar.gz archive
(-t) the file permissions and ownership will be restored correctly.
Setup:
Code:
unzip backup.zip
adb remount
adb push zip /system/bin/
adb push bakpak.sh /system/bin/
adb shell
chown root.shell /system/bin/zip
chown root.shell /system/bin/bakpak.sh
chmod 755 /system/bin/zip
chmod 755 /system/bin/bakpak.sh
Usage:
Code:
adb shell
~ # bakpak.sh -h
Usage /system/bin/bakpak.sh [OPTIONS]
-t create a tar.gz
-v print version
-h this help
~ # bakpak.sh
or in the terminal
Code:
su
bakpak.sh
Example:
Code:
~ # bakpak.sh
zip warning: name not matched: /system/app/VoiceDialer.apk
zip warning: name not matched: /system/app/VoiceSearch.apk
adding: system/app/BugReport.apk (deflated 1%)
adding: system/app/checkin.apk (deflated 1%)
adding: system/app/Gmail.apk (deflated 16%)
adding: system/app/GmailProvider.apk (deflated 0%)
adding: system/app/GoogleApps.apk (deflated 1%)
adding: system/app/GoogleContactsProvider.apk (deflated 1%)
adding: system/app/GooglePartnerSetup.apk (deflated 1%)
adding: system/app/GoogleSettingsProvider.apk (deflated 1%)
adding: system/app/GoogleSubscribedFeedsProvider.apk (deflated 2%)
adding: system/app/gtalkservice.apk (deflated 1%)
adding: system/app/ImProvider.apk (deflated 3%)
adding: system/app/MediaUploader.apk (deflated 1%)
adding: system/app/NetworkLocation.apk (deflated 1%)
adding: system/app/SetupWizard.apk (deflated 9%)
adding: system/app/Street.apk (deflated 2%)
adding: system/app/Talk.apk (deflated 4%)
adding: system/app/Vending.apk (deflated 3%)
adding: system/app/YouTube.apk (deflated 3%)
adding: system/framework/com.google.android.gtalkservice.jar (deflated 1%)
adding: system/framework/com.google.android.maps.jar (deflated 0%)
adding: system/etc/permissions/com.google.android.gtalkservice.xml (deflated 41%)
adding: system/etc/permissions/com.google.android.maps.xml (deflated 41%)
adding: system/bin/akmd (deflated 67%)
adding: system/etc/firmware/brf6300.bin (deflated 37%)
adding: system/etc/gps.conf (deflated 44%)
adding: system/etc/wifi/Fw1251r1c.bin (deflated 40%)
adding: system/etc/wifi/tiwlan.ini (deflated 67%)
adding: system/lib/libaudioeq.so (deflated 59%)
adding: system/lib/libgps.so (deflated 70%)
adding: system/lib/libhgl.so (deflated 58%)
adding: system/lib/libhtc_acoustic.so (deflated 61%)
adding: system/lib/libhtc_ril.so (deflated 53%)
adding: system/lib/libjni_pinyinime.so (deflated 46%)
adding: system/lib/libmm-adspsvc.so (deflated 55%)
adding: system/lib/libOmxCore.so (deflated 62%)
adding: system/lib/libOmxH264Dec.so (deflated 55%)
adding: system/lib/libOmxMpeg4Dec.so (deflated 55%)
adding: system/lib/libOmxVidEnc.so (deflated 44%)
adding: system/lib/libopencorehw.so (deflated 68%)
adding: system/lib/libpvasf.so (deflated 50%)
adding: system/lib/libpvasfreg.so (deflated 53%)
adding: system/lib/libqcamera.so (deflated 45%)
adding: system/lib/libspeech.so (deflated 50%)
adding: system/lib/hw/lights.goldfish.so (deflated 73%)
adding: system/lib/hw/lights.msm7k.so (deflated 51%)
adding: system/lib/hw/sensors.trout.so (deflated 62%)
~ # cd sdcard/
/sdcard # ls -la bakpak.zip
----rw-rw- 1 system system 4620298 Sep 27 08:59 bakpak.zip
Enjoy!
Changelog:
v1 initial release
v2 remove some packages and add a warning about odex files.
v3 added ability to create tar.gz archives, check if dest exists,
check for missing files when using tar.Added command line parsing.
v3.1 Minor bugfixes
I'm a crash test dummy!
Well, you did great with the Fix_permissions....
I'LL be trying it here in a min. I don't have adb so I'll b doing it thru terminal.
or would it be better to do it thru recovery?
Chevy
You don't need to backup all the propriatary HTC libs, as they are needed to boot up android correctly.
Until HTC C&D's us, we don't need to exclude these files ;-)
Cyanogen is working on an app which backups the GApps for us.
If you want to improve your script, you'll have to let it look after the Google Apps.
Don't back them up if they are odexed, because you then would have to unodex them, which is hard to do for most users here as you have to install a daemon which helps your PC to unodex on your Android device.
Hi! The script is great, maybe we should add an UI or something like that to make thing easy for the novel kids, but this is a great start, good job!
Btw, I've found some packages you list as conflictive but in the Android source tree they come with a NOTICE file with the Apache License in it:
You can check it out if you want, just do a "repo sync" first
Code:
/system/app/GoogleContactsProvider.apk -> packages/providers/GoogleContactsProvider
/system/app/GoogleSubscribedFeedsProvider.apk -> packages/providers/GoogleSubscribedFeedsProvider
/system/app/ImProvider.apk -> packages/providers/ImProvider
/system/app/VoiceDialer.apk ->packages/apps/VoiceDialer
Hope it helps to clarify.
maxisma said:
You don't need to backup all the propriatary HTC libs, as they are needed to boot up android correctly.
Until HTC C&D's us, we don't need to exclude these files ;-)
Cyanogen is working on an app which backups the GApps for us.
If you want to improve your script, you'll have to let it look after the Google Apps.
Don't back them up if they are odexed, because you then would have to unodex them, which is hard to do for most users here as you have to install a daemon which helps your PC to unodex on your Android device.
Click to expand...
Click to collapse
I was thinking about unodexing, but have to test. OTOH this is specific to
Cyanogen mods that are not odexed so there is no problem.
0Vw3 said:
Hi! The script is great, maybe we should add an UI or something like that to make thing easy for the novel kids, but this is a great start, good job!
Btw, I've found some packages you list as conflictive but in the Android source tree they come with a NOTICE file with the Apache License in it:
You can check it out if you want, just do a "repo sync" first
Code:
/system/app/GoogleContactsProvider.apk -> packages/providers/GoogleContactsProvider
/system/app/GoogleSubscribedFeedsProvider.apk -> packages/providers/GoogleSubscribedFeedsProvider
/system/app/ImProvider.apk -> packages/providers/ImProvider
/system/app/VoiceDialer.apk ->packages/apps/VoiceDialer
Hope it helps to clarify.
Click to expand...
Click to collapse
Will check and remove them. Thanks for hint.
ran ok
Pushed and ran thru terminal. Everythings a ok!
Great to see this project moving forward so quickly. As a Linux user though, I'm wondering the logic behind using a .zip instead of a .tar.gz or lzma though, is there any advantage to zip? I can't think of any.
Vash63 said:
Great to see this project moving forward so quickly. As a Linux user though, I'm wondering the logic behind using a .zip instead of a .tar.gz or lzma though, is there any advantage to zip? I can't think of any.
Click to expand...
Click to collapse
All the flashing is done with zip archives, nonetheless adding a command line switch to create a tar.gz is trivial. Maybe in next version.
I'm gettin lost when you talk about odex files. As far as I know, odex files are optimized binaries for the dalvik vm, generated the first time you run them in your device from the dex files contained in the apk, and stored in /data/dalvik-cache (This could be some kind of compilation process (¿?))
So, (sorry for the noob question(s)) what's the problem about that? what do you mean when you talk about odexed - unodexed apks? And the most important, why is it a problem when backing up the apps?
Thanks.
0Vw3 said:
I'm gettin lost when you talk about odex files. As far as I know, odex files are optimized binaries for the dalvik vm, generated the first time you run them in your device from the dex files contained in the apk, and stored in /data/dalvik-cache (This could be some kind of compilation process (¿?))
So, (sorry for the noob question(s)) what's the problem about that? what do you mean when you talk about odexed - unodexed apks? And the most important, why is it a problem when backing up the apps?
Thanks.
Click to expand...
Click to collapse
Some apk are preoptimized and don't have the usual dex file inside,
instead there is a .odex file in the /system/app/ directory.
This odex files are not portable as they refer to the specific
framework from which the they was created.
farmatito said:
Some apk are preoptimized and don't have the usual dex file inside,
instead there is a .odex file in the /system/app/ directory.
This odex files are not portable as they refer to the specific
framework from which the they was created.
Click to expand...
Click to collapse
Thanks for the explanation. So I suppose the great JesusFreke can help with this.
I know that's reverse engineering, but even if it's I'm not sure we'd be breaking any copyright law as we paid for these apps and should be able to run them everywhere we'd want / could.
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.
Obviously there are some missing tools from the linux OS on the droid, so I'm looking to install busybox. I went directly to the source and tried to compile and install it on the phone, but it doesn't seem to work quite well.
I see a lot of people are including a version of busybox on their custom mods, but I'm not really looking to install a custom mod on my phone quite yet, but I would like the tools.
Does anyone know where I can download a good version of busybox that works on the Sprint HTC Hero without installing a rom?
I searched around the forums, but I'm not able to find anything quite yet.
I compiled one just today for some other stuff, not fully tested, but here you are.
Let me know how it works.
[email protected]:~/android/src/busybox-1.15.2$ file busybox
busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
packetlss said:
I compiled one just today for some other stuff, not fully tested, but here you are.
Let me know how it works.
[email protected]:~/android/src/busybox-1.15.2$ file busybox
busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
Click to expand...
Click to collapse
Nice. Cheers. I'll let you know how it goes.
Care to provide how do you install this into the Hero? I'm also interested as I don't want to use a custom ROM
Nazgulled said:
Care to provide how do you install this into the Hero? I'm also interested as I don't want to use a custom ROM
Click to expand...
Click to collapse
I'm assuming you push it, via adb....correct, packetlss?
NOTE: backup before you try, writing this from the top of my head at 4 am.
To install:
run "adb remount" (to enable rw on /system)
run "adb push busybox /data/local" (so you got busybox somewhere on the phone)
run "adb shell" (to enter shell on phone)
in phone shell:
run "/data/local/busybox mkdir /system/xbin" (wanna make sure the directory exist)
run "/data/local/busybox cp /data/local/busybox /system/xbin/busybox" (copy busybox to xbin)
run "cd /system/xbin"
run "./busybox --install -s /system/xbin" (this should create symlinks for all the busybox applets)
run "ls -al" (you should see alot of symlinks)
run "rm /data/local/busybox" (remove the temporary busybox)
Thanks a lot for that...
Now I just need to learn how to do that directly into a custom ROM. Do you happen to know?
packetlss said:
NOTE: backup before you try, writing this from the top of my head at 4 am.
To install:
run "adb remount" (to enable rw on /system)
run "adb push busybox /data/local" (so you got busybox somewhere on the phone)
run "adb shell" (to enter shell on phone)
in phone shell:
run "/data/local/busybox mkdir /system/xbin" (wanna make sure the directory exist)
run "/data/local/busybox cp /data/local/busybox /system/xbin/busybox" (copy busybox to xbin)
run "cd /system/xbin"
run "./busybox --install -s /system/xbin" (this should create symlinks for all the busybox applets)
run "ls -al" (you should see alot of symlinks)
run "rm /data/local/busybox" (remove the temporary busybox)
Click to expand...
Click to collapse
So I followed that and accomplished it, I'm wondering what next? I have an app called SU File Manager & Terminal installed and it requires busybox. I don't see any new features or benefits? Am I not looking in the right place?
I'm having a permission issue getting this to install on my Hero.
Firstly I can't run 'adb remount'. I get:
remount failed: Operation not permitted
I'm not sure why.
So instead of remounting from there, I went into the adb shell and ran:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
This remounts rw /system just fine. I then I proceed with my install. I copy busybox to the /system/xbin folder and I run:
./busybox --install -s /system/xbin
However, I again get:
./busybox: permission denied
I have root access and I'm in su. I was able to mount system rw and make the xbin directly, along with copy the file to the folder, so I'm curious why i'm not able to install this.
Would anyone have a clue? It's 2:30am here, so I might be missing something or doing something incredibly stupid and just not realizing it.
Thanks!
VoXHTC said:
So I followed that and accomplished it, I'm wondering what next? I have an app called SU File Manager & Terminal installed and it requires busybox. I don't see any new features or benefits? Am I not looking in the right place?
Click to expand...
Click to collapse
posted by mistake ignore...
mrbrice said:
I'm having a permission issue getting this to install on my Hero.
Firstly I can't run 'adb remount'. I get:
remount failed: Operation not permitted
I'm not sure why.
So instead of remounting from there, I went into the adb shell and ran:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
This remounts rw /system just fine. I then I proceed with my install. I copy busybox to the /system/xbin folder and I run:
./busybox --install -s /system/xbin
However, I again get:
./busybox: permission denied
I have root access and I'm in su. I was able to mount system rw and make the xbin directly, along with copy the file to the folder, so I'm curious why i'm not able to install this.
Would anyone have a clue? It's 2:30am here, so I might be missing something or doing something incredibly stupid and just not realizing it.
Thanks!
Click to expand...
Click to collapse
Make sure that busybox is executable:
chmod 755 busybox
VoXHTC said:
So I followed that and accomplished it, I'm wondering what next? I have an app called SU File Manager & Terminal installed and it requires busybox. I don't see any new features or benefits? Am I not looking in the right place?
Click to expand...
Click to collapse
Busybox gives you command line tools. I have no idea what that particular app uses it for. That is something you have to speak to them about.
packetlss said:
Make sure that busybox is executable:
chmod 755 busybox
Click to expand...
Click to collapse
Yeah, I had thought that, so I made sure it was executable before hand
Code:
# ls -la
ls -la
drwxrwxrwx system system 2009-11-29 07:48 nandroid
drwxrwxrwx system system 2009-11-29 05:00 rosie_scroll
-rwxrwxrwx system system 698452 2009-11-28 21:47 busybox
# ./busybox --install -s /system/xbin
./busybox --install -s /system/xbin
./busybox: permission denied
Any other idea why it might be giving me this?
mrbrice said:
Yeah, I had thought that, so I made sure it was executable before hand
Code:
# ls -la
ls -la
drwxrwxrwx system system 2009-11-29 07:48 nandroid
drwxrwxrwx system system 2009-11-29 05:00 rosie_scroll
-rwxrwxrwx system system 698452 2009-11-28 21:47 busybox
# ./busybox --install -s /system/xbin
./busybox --install -s /system/xbin
./busybox: permission denied
Any other idea why it might be giving me this?
Click to expand...
Click to collapse
Don't run it from /sdcard, copy it to /data/local.
/sdcard is mounted noexec.
packetlss said:
Don't run it from /sdcard, copy it to /data/local.
/sdcard is mounted noexec.
Click to expand...
Click to collapse
Ahh. My bad. I had followed your instructions initially but I must not have changed the permissions that time around (messing around at 2am, you make mistakes. )
Thanks for all the help, not only compiling this, but for the assistance getting it working.
Cheers man. Good job.
If you guys want some other applets added to it, let me know and I'll compile a new one.
I think I got all the useful stuff in there though.
packetlss said:
If you guys want some other applets added to it, let me know and I'll compile a new one.
I think I got all the useful stuff in there though.
Click to expand...
Click to collapse
I'm trying to make my own custom ROM (nothing too fancy, just something to fit my needs) and I'm including busybox. It would be nice to have a list of all the busybox utilities (after the --install thing) so I could do the appropriate changes to the update-script manually.
Thanks for taking your time with this
Time to necro this thread again
New busybox out for those that cares, 1.15.3.
Code:
Code:
BusyBox v1.15.3 (2009-12-13 23:28:29 CET) multi-call binary
Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as!
Currently defined functions:
[, [[, arping, ash, awk, basename, bbconfig, bunzip2, bzcat, bzip2,
cat, catv, chattr, chgrp, chmod, chown, chroot, chrt, cksum, clear,
cmp, cp, cpio, cut, date, dc, dd, depmod, devmem, df, diff, dirname,
dmesg, dnsd, dnsdomainname, dos2unix, du, echo, egrep, env, ether-wake,
expr, false, fbset, fbsplash, fdisk, fgrep, find, fold, free,
freeramdisk, fsck, fuser, getopt, grep, gunzip, gzip, head, hexdump,
hostname, ifconfig, insmod, install, ip, ipaddr, ipcalc, iplink,
iproute, iprule, iptunnel, kill, killall, killall5, last, length, less,
ln, losetup, ls, lsattr, lsmod, md5sum, mkdir, mkdosfs, mkfifo,
mkfs.vfat, mknod, mkswap, mktemp, modprobe, more, mount, mountpoint,
mv, nc, netstat, nice, nmeter, nohup, nslookup, od, patch, pidof, ping,
pipe_progress, printenv, printf, ps, pscan, pwd, rdev, readlink,
realpath, renice, reset, resize, rm, rmdir, rmmod, route, sed, seq,
setconsole, setlogcons, setsid, sh, sha1sum, showkey, sleep, sort,
split, stat, strings, stty, sum, swapoff, swapon, switch_root, sync,
sysctl, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp, time,
top, touch, tr, traceroute, true, tty, tunctl, udpsvd, umount, uname,
uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode,
vi, watch, wc, wget, which, who, whoami, xargs, yes, zcat
Changelog?
Thanks for the binary by the way
EDIT: This is weird... the binary you just posted is smaller compared to the previous one I had, 682Kb compared to 1.78Mb. Why such a big difference?
Nazgulled said:
Changelog?
Thanks for the binary by the way
EDIT: This is weird... the binary you just posted is smaller compared to the previous one I had, 682Kb compared to 1.78Mb. Why such a big difference?
Click to expand...
Click to collapse
Bug fix release. 1.15.3 has fixes for ash (compilation with signed chars, SIGHUP handling fix), awk, flash_eraseall (fix for newer kernel headers), grep, mount (mount -a won't mount everyting again on 2nd run), ping (fix unaligned access), split (accepts "-" as stdin now), build system (parallel build).
ezterry's 2708-enabled kernel
http://forum.xda-developers.com/showthread.php?t=831139
Patching kernels to make them support USB Host on the G1
http://forum.xda-developers.com/showthread.php?t=794643
I've been working on this for about a week.
I patched his kernel source with the patch suggested in the guide, and manually patched what wouldn't go in. Then I took the kernel config from the guide and merged anything that said USB on it with the other using Deltawalker,(which is a very handy tool), to make sure I didn't screw up anything to do with the processor.
Attached is the text that resulted after trying to compile the kernel.
Nothing concerns me that much as most of the errors seem to say things like "defined but not used."
The errors that don't are listed below in order of appearance:
Code:
scripts/kconfig/conf.c: In function ‘conf_askvalue’:
scripts/kconfig/conf.c:105: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
scripts/kconfig/conf.c: In function ‘conf_choice’:
scripts/kconfig/conf.c:307: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
Code:
scripts/kallsyms.c: In function ‘read_symbol’:
scripts/kallsyms.c:112: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
Code:
arch/arm/kernel/return_address.c:61:2: warning: #warning "TODO: return_address should use unwind tables"
Code:
arch/arm/mach-msm/acpuclock-arm11.c:69:5: warning: "force_turbo" is not defined
Code:
arch/arm/mach-msm/clock.c: In function 'clk_set_rate_locked':
arch/arm/mach-msm/clock.c:248: warning: 'ret' may be used uninitialized in this function
Code:
arch/arm/mach-msm/pm.c: In function 'msm_pm_init':
arch/arm/mach-msm/pm.c:861: warning: assignment from incompatible pointer type
Code:
arch/arm/mach-msm/board-trout.c: In function 'trout_fixup':
arch/arm/mach-msm/board-trout.c:913: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'long unsigned int'
Code:
arch/arm/mach-msm/board-sapphire.c: In function 'sapphire_fixup':
arch/arm/mach-msm/board-sapphire.c:1426: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'long unsigned int'
Code:
mm/ashmem.c:380: warning: initialization from incompatible pointer type
And this one which makes me the most nervous:
Code:
In file included from drivers/media/video/msm/mt9t013.c:28:
arch/arm/mach-msm/include/mach/camera.h:231: warning: 'struct msm_camera_sensor_flash_data' declared inside parameter list
arch/arm/mach-msm/include/mach/camera.h:231: warning: its scope is only this definition or declaration, which is probably not what you want
drivers/media/video/msm/mt9t013.c: In function 'mt9t013_sensor_probe':
drivers/media/video/msm/mt9t013.c:1479: warning: assignment from incompatible pointer type
drivers/media/video/msm/mt9t013.c: In function '__mt9t013_probe':
drivers/media/video/msm/mt9t013.c:1490: warning: passing argument 2 of 'msm_camera_drv_start' from incompatible pointer type
arch/arm/mach-msm/include/mach/camera.h:259: note: expected 'int (*)(struct msm_camera_sensor_info *, struct msm_sensor_ctrl *)' but argument is of type 'int (*)(const struct msm_camera_sensor_info *, struct msm_sensor_ctrl *)'
CC net/802/p8022.o
CC drivers/media/video/msm/mt9t013_reg.o
CC drivers/media/video/msm/ov9665.o
CC [M] fs/nfs/nfs4xdr.o
In file included from drivers/media/video/msm/ov9665.h:23,
from drivers/media/video/msm/ov9665.c:27:
arch/arm/mach-msm/include/mach/camera.h:231: warning: 'struct msm_camera_sensor_flash_data' declared inside parameter list
arch/arm/mach-msm/include/mach/camera.h:231: warning: its scope is only this definition or declaration, which is probably not what you want
CC net/802/psnap.o
CC net/802/stp.o
CC drivers/media/video/msm/ov9665_reg.o
In file included from drivers/media/video/msm/ov9665.h:23,
from drivers/media/video/msm/ov9665_reg.c:19:
arch/arm/mach-msm/include/mach/camera.h:231: warning: 'struct msm_camera_sensor_flash_data' declared inside parameter list
arch/arm/mach-msm/include/mach/camera.h:231: warning: its scope is only this definition or declaration, which is probably not what you want
drivers/media/video/msm/ov9665_reg.c:206: warning: initialization from incompatible pointer type
CC drivers/media/video/msm/msm_camera.o
In file included from drivers/media/video/msm/msm_camera.c:33:
arch/arm/mach-msm/include/mach/camera.h:231: warning: 'struct msm_camera_sensor_flash_data' declared inside parameter list
arch/arm/mach-msm/include/mach/camera.h:231: warning: its scope is only this definition or declaration, which is probably not what you want
LD net/802/built-in.o
CC net/bluetooth/af_bluetooth.o
CC net/bluetooth/hci_core.o
CC drivers/media/video/msm/msm_v4l2.o
CC net/bluetooth/hci_conn.o
In file included from drivers/media/video/msm/msm_v4l2.c:30:
arch/arm/mach-msm/include/mach/camera.h:231: warning: 'struct msm_camera_sensor_flash_data' declared inside parameter list
arch/arm/mach-msm/include/mach/camera.h:231: warning: its scope is only this definition or declaration, which is probably not what you want
drivers/media/video/msm/msm_v4l2.c: In function 'msm_v4l2_qbuf':
drivers/media/video/msm/msm_v4l2.c:337: error: expected expression before '<<' token
drivers/media/video/msm/msm_v4l2.c:343: error: expected expression before '==' token
drivers/media/video/msm/msm_v4l2.c:346: error: expected expression before '>>' token
drivers/media/video/msm/msm_v4l2.c:346:9: error: invalid suffix "ddb..." on integer constant
make[4]: *** [drivers/media/video/msm/msm_v4l2.o] Error 1
make[3]: *** [drivers/media/video/msm] Error 2
make[2]: *** [drivers/media/video] Error 2
make[1]: *** [drivers/media] Error 2
make: *** [drivers] Error 2
make: *** Waiting for unfinished jobs....
Code:
net/core/rtnetlink.c: In function 'do_setlink':
net/core/rtnetlink.c:1044: warning: 'err' may be used uninitialized in this function
With that many errors, I don't consider it safe to load this on to my G1.
Well, even if it were safe, I'm not sure I'd get much function out of it. My guess is that the video camera wouldn't work.
Anyway, what can I do to fix these messages, and, after I have, what is the next step?
I have been told that I have to merge it with a ramdisk. I assumed that I would need to pull it from my current phone (which uses the 2708 kernel) because it is likely that it would work.
Unfortunately, after trying this I discovered I don't have the privileges as the SPL is S-ON.
Will using the ramdisk provided in the Android SDK work, and if not, what will?
EDIT: Forgot to attach the full text.
Looks like you haven't understood yet how patch/diff files work.
This message:
Code:
drivers/media/video/msm/msm_v4l2.c:337: error: expected expression before '<<' token
drivers/media/video/msm/msm_v4l2.c:343: error: expected expression before '==' token
drivers/media/video/msm/msm_v4l2.c:346: error: expected expression before '>>' token
tells me that the file msm_v4l2.c is broken between lines 337 and 346. You couldn't "put" the resulting kernel in your G1 even if you wanted, since the kernel doesn't even get built due to that error!
Okay, I thought about it for a while, and I couldn't believe that it was the patch file causing this to happen, because the patch file is adding support for the USB Host function, why would it mess with video?
Anyway, I compiled the kernel 3 times after that. I compiled it the way it was meant to be compiled; 2708 config with no patching which obviously worked with little error (although it was surprising to see how many there were anyway), I patched it then I compiled it using the 2708 config to see if it was the merged config at fault, and it was.
So what I decided to do after is merge the two config files again but be a little more careful not to merge anything that doesn't have to do with USB Host.
After I did this, I used the newly merged configuration file, compiled itand it worked!
There was probably about the same amount of errors as the original.
Moving on, what do I do next?
I'll attach both the output text when compiling the original kernel and original config file, and the output text when compiling the patched kernel with the merged config file.
Also, what does "module" mean? I was given many options to compile many device drivers (I'm assuming? that's what it looked like) with three options, N/m/y.
I'm also assuming that N is capitalized because it's default, but I decided to choose m for most of them, because I thought I might use them, and module sounded like a compromise between no and yes.
Maybe what I'm really asking is, where do the modules get stored?
Your modules are here:
Code:
...
Building modules, stage 2.
MODPOST 80 modules
Kernel: arch/arm/boot/Image is ready
...
LD [M] drivers/block/ub.ko
LD [M] drivers/bluetooth/ath3k.ko
LD [M] drivers/bluetooth/bcm203x.ko
LD [M] drivers/bluetooth/bfusb.ko
LD [M] drivers/bluetooth/bpa10x.ko
LD [M] drivers/bluetooth/btusb.ko
LD [M] drivers/cpufreq/cpufreq_userspace.ko
LD [M] drivers/hid/hid-gaff.ko
LD [M] drivers/hid/hid-microsoft.ko
LD [M] drivers/hid/hid-monterey.ko
LD [M] drivers/hid/hid-mosart.ko
LD [M] drivers/hid/hid-ntrig.ko
LD [M] drivers/hid/hid-petalynx.ko
LD [M] drivers/hid/hid-ortek.ko
LD [M] drivers/hid/hid-pl.ko
LD [M] drivers/hid/hid-quanta.ko
LD [M] drivers/hid/hid-samsung.ko
LD [M] drivers/hid/hid-sony.ko
LD [M] drivers/hid/hid-stantum.ko
LD [M] drivers/hid/hid-sunplus.ko
LD [M] drivers/hid/usbhid/usbhid.ko
LD [M] drivers/net/usb/asix.ko
LD [M] drivers/net/usb/catc.ko
LD [M] drivers/net/usb/cdc_eem.ko
LD [M] drivers/net/usb/cdc_ether.ko
LD [M] drivers/net/usb/cdc_subset.ko
LD [M] drivers/net/usb/gl620a.ko
LD [M] drivers/net/usb/hso.ko
LD [M] drivers/net/usb/dm9601.ko
LD [M] drivers/net/usb/int51x1.ko
LD [M] drivers/net/usb/ipheth.ko
LD [M] drivers/net/usb/kaweth.ko
LD [M] drivers/net/usb/mcs7830.ko
LD [M] drivers/net/usb/net1080.ko
LD [M] drivers/net/usb/pegasus.ko
LD [M] drivers/net/usb/plusb.ko
LD [M] drivers/net/usb/rndis_host.ko
LD [M] drivers/net/usb/rtl8150.ko
LD [M] drivers/net/usb/smsc75xx.ko
LD [M] drivers/net/usb/smsc95xx.ko
LD [M] drivers/net/usb/usbnet.ko
LD [M] drivers/net/wireless/tiwlan1251/wlan.ko
LD [M] drivers/net/usb/zaurus.ko
LD [M] drivers/net/wireless/zd1201.ko
LD [M] drivers/staging/ramzswap/ramzswap.ko
LD [M] drivers/staging/udlfb/udlfb.ko
LD [M] drivers/usb/core/usbcore.ko
LD [M] drivers/usb/mon/usbmon.ko
LD [M] drivers/usb/host/ehci-hcd.ko
LD [M] drivers/usb/serial/cp210x.ko
LD [M] drivers/usb/serial/ftdi_sio.ko
LD [M] drivers/usb/serial/usbserial.ko
LD [M] drivers/video/fb_sys_fops.ko
LD [M] drivers/video/syscopyarea.ko
LD [M] drivers/video/sysfillrect.ko
LD [M] drivers/video/sysimgblt.ko
LD [M] fs/cifs/cifs.ko
LD [M] fs/fuse/fuse.ko
LD [M] fs/lockd/lockd.ko
LD [M] fs/nfs/nfs.ko
LD [M] fs/nfs_common/nfs_acl.ko
LD [M] net/ipv4/ipcomp.ko
LD [M] net/ipv4/tunnel4.ko
LD [M] net/ipv4/xfrm4_tunnel.ko
LD [M] net/ipv6/ah6.ko
LD [M] net/ipv6/esp6.ko
LD [M] net/ipv6/ip6_tunnel.ko
LD [M] net/ipv6/ipcomp6.ko
LD [M] net/ipv6/mip6.ko
LD [M] net/ipv6/ipv6.ko
LD [M] net/ipv6/sit.ko
LD [M] net/ipv6/tunnel6.ko
LD [M] net/ipv6/xfrm6_mode_beet.ko
LD [M] net/ipv6/xfrm6_mode_transport.ko
LD [M] net/ipv6/xfrm6_mode_tunnel.ko
LD [M] net/ipv6/xfrm6_tunnel.ko
LD [M] net/sunrpc/auth_gss/rpcsec_gss_krb5.ko
LD [M] net/sunrpc/auth_gss/auth_rpcgss.ko
LD [M] net/sunrpc/sunrpc.ko
LD [M] net/xfrm/xfrm_ipcomp.ko
...
If you choose Y you'll build-in this modules in kernel. When you choose M you must load modules with insmod in particular order.
Okay - thanks. That seemed fairly obvious. If only I looked had at it some more.
Can I use the ramdisk provided in the SDK?
Something tells me that these two methods:
Now, get the kernel on the phone:
1. use fastboot to boot from RAM (not persistent)
~/android-sdk-linux_86/tools/fastboot boot arch/arm/boot/zImage
OR
2. use fastboot to flash it to NAND (boot.img from a nandroid backup)
~/android-sdk-linux_86/tools/fastboot -b flash:raw boot ./zImage ./ramdisk.img
Click to expand...
Click to collapse
aren't going to work because of the S-ON SPL that is required.
I'll try ZipBuilder in a bit though as ideally, it would be nice to just be able to flash it in a zip.
Okay, I think I got it working with ZipBuilder!
I flashed it, and it still booted so that's a good sign.
I'll attach the update_signed.zip.
Is there any for sure way I can see if it worked? (other than loading up the modules and plugging something in - I need to get a cord soldered first).
I copied the modules from my kernel build directory and placed them directly in the system/lib/modules directory. Were they supposed to have the hierarchy like they did in the kernel build directory?
Anyway, here's what ZipBuilder said:
Code:
Directory Check: OK - 'kernel'
Directory Check: OK - 'META-INF'
Directory Check: OK - 'META-INF/com'
Directory Check: OK - 'META-INF/com/google'
Directory Check: OK - 'META-INF/com/google/android'
Directory Check: OK - 'system/'
Directory Check: OK - 'system/lib'
Directory Check: OK - 'system/lib/modules'
File Check: OK - 'kernel/dump_image'
File Check: OK - 'kernel/mkbootimg'
File Check: OK - 'kernel/mkbootimg.sh'
File Check: OK - 'kernel/unpackbootimg'
File Check: OK - 'META-INF/com/google/android/update-binary'
File Check: OK - 'META-INF/com/google/android/updater-script'
zImage exists!
Removed!
cp: cannot stat `../drivers/net/wireless/bcm4329/bcm4329.ko': No such file or directory
update.zip exists!
Removed!
adding: system/ (stored 0%)
adding: system/lib/ (stored 0%)
adding: system/lib/modules/ (stored 0%)
adding: system/lib/modules/bfusb.ko (stored 0%)
adding: system/lib/modules/fuse.ko (stored 0%)
adding: system/lib/modules/usbserial.ko (stored 0%)
adding: system/lib/modules/hid-pl.ko (stored 0%)
adding: system/lib/modules/hid-quanta.ko (stored 0%)
adding: system/lib/modules/sunrpc.ko (stored 0%)
adding: system/lib/modules/hid-mosart.ko (stored 0%)
adding: system/lib/modules/ub.ko (stored 0%)
adding: system/lib/modules/hid-gaff.ko (stored 0%)
adding: system/lib/modules/lockd.ko (stored 0%)
adding: system/lib/modules/usbhid.ko (stored 0%)
adding: system/lib/modules/usbmon.ko (stored 0%)
adding: system/lib/modules/btusb.ko (stored 0%)
adding: system/lib/modules/asix.ko (stored 0%)
adding: system/lib/modules/smsc95xx.ko (stored 0%)
adding: system/lib/modules/xfrm6_mode_tunnel.ko (stored 0%)
adding: system/lib/modules/ah6.ko (stored 0%)
adding: system/lib/modules/int51x1.ko (stored 0%)
adding: system/lib/modules/cifs.ko (stored 0%)
adding: system/lib/modules/sit.ko (stored 0%)
adding: system/lib/modules/smsc75xx.ko (stored 0%)
adding: system/lib/modules/catc.ko (stored 0%)
adding: system/lib/modules/cdc_ether.ko (stored 0%)
adding: system/lib/modules/tunnel6.ko (stored 0%)
adding: system/lib/modules/auth_rpcgss.ko (stored 0%)
adding: system/lib/modules/xfrm6_mode_transport.ko (stored 0%)
adding: system/lib/modules/syscopyarea.ko (stored 0%)
adding: system/lib/modules/ehci-hcd.ko (stored 0%)
adding: system/lib/modules/nfs.ko (stored 0%)
adding: system/lib/modules/ipcomp6.ko (stored 0%)
adding: system/lib/modules/hid-ortek.ko (stored 0%)
adding: system/lib/modules/kaweth.ko (stored 0%)
adding: system/lib/modules/gl620a.ko (stored 0%)
adding: system/lib/modules/usbcore.ko (stored 0%)
adding: system/lib/modules/hid-petalynx.ko (stored 0%)
adding: system/lib/modules/mcs7830.ko (stored 0%)
adding: system/lib/modules/ipheth.ko (stored 0%)
adding: system/lib/modules/ath3k.ko (stored 0%)
adding: system/lib/modules/hid-sunplus.ko (stored 0%)
adding: system/lib/modules/ftdi_sio.ko (stored 0%)
adding: system/lib/modules/hso.ko (stored 0%)
adding: system/lib/modules/usbnet.ko (stored 0%)
adding: system/lib/modules/rpcsec_gss_krb5.ko (stored 0%)
adding: system/lib/modules/plusb.ko (stored 0%)
adding: system/lib/modules/xfrm6_tunnel.ko (stored 0%)
adding: system/lib/modules/hid-ntrig.ko (stored 0%)
adding: system/lib/modules/hid-monterey.ko (stored 0%)
adding: system/lib/modules/zd1201.ko (stored 0%)
adding: system/lib/modules/ipcomp.ko (stored 0%)
adding: system/lib/modules/zaurus.ko (stored 0%)
adding: system/lib/modules/cdc_eem.ko (stored 0%)
adding: system/lib/modules/pegasus.ko (stored 0%)
adding: system/lib/modules/xfrm4_tunnel.ko (stored 0%)
adding: system/lib/modules/wlan.ko (stored 0%)
adding: system/lib/modules/cdc_subset.ko (stored 0%)
adding: system/lib/modules/esp6.ko (stored 0%)
adding: system/lib/modules/mip6.ko (stored 0%)
adding: system/lib/modules/dm9601.ko (stored 0%)
adding: system/lib/modules/hid-sony.ko (stored 0%)
adding: system/lib/modules/rtl8150.ko (stored 0%)
adding: system/lib/modules/udlfb.ko (stored 0%)
adding: system/lib/modules/cp210x.ko (stored 0%)
adding: system/lib/modules/nfs_acl.ko (stored 0%)
adding: system/lib/modules/sysfillrect.ko (stored 0%)
adding: system/lib/modules/cpufreq_userspace.ko (stored 0%)
adding: system/lib/modules/bcm203x.ko (stored 0%)
adding: system/lib/modules/tunnel4.ko (stored 0%)
adding: system/lib/modules/ipv6.ko (stored 0%)
adding: system/lib/modules/xfrm6_mode_beet.ko (stored 0%)
adding: system/lib/modules/ramzswap.ko (stored 0%)
adding: system/lib/modules/sysimgblt.ko (stored 0%)
adding: system/lib/modules/hid-microsoft.ko (stored 0%)
adding: system/lib/modules/net1080.ko (stored 0%)
adding: system/lib/modules/bpa10x.ko (stored 0%)
adding: system/lib/modules/fb_sys_fops.ko (stored 0%)
adding: system/lib/modules/rndis_host.ko (stored 0%)
adding: system/lib/modules/ip6_tunnel.ko (stored 0%)
adding: system/lib/modules/hid-samsung.ko (stored 0%)
adding: system/lib/modules/hid-stantum.ko (stored 0%)
adding: system/lib/modules/xfrm_ipcomp.ko (stored 0%)
adding: META-INF/ (stored 0%)
adding: META-INF/com/ (stored 0%)
adding: META-INF/com/google/ (stored 0%)
adding: META-INF/com/google/android/ (stored 0%)
adding: META-INF/com/google/android/update-binary (stored 0%)
adding: META-INF/com/google/android/updater-script (stored 0%)
adding: kernel/ (stored 0%)
adding: kernel/unpackbootimg (stored 0%)
adding: kernel/dump_image (stored 0%)
adding: kernel/zImage (stored 0%)
adding: kernel/mkbootimg.sh (stored 0%)
adding: kernel/mkbootimg (stored 0%)
Done!
Let me know if I did it wrong.
I'm assuming the wireless driver didn't load because it wasn't supposed to for the G1 (e.g. the G1 doesn't have that wireless chip?).
Also, what does "stored 0%" mean?
EDIT: Oops! I just looked at the guide by kodovoimeji again and realized I wasn't supposed to put the modules in the zip at all, I was supposed to copy them over to the SD Card which makes a lot more sense anyway.
Hi, is this allready done? I didn't understood at all. I know how Android platform works, but I am a big dummy in English yet.
michael-knight's update-signet.zip is final?
Adding USB HOST support to the kernel is one thing, the next step is to actually add drivers for various USB DEVICES, otherwise USB HOST isn't going to do much for you. One of the drivers that I find particularly useful, especially for something like a phone, are the various USB-to-RS232 adapter cable drivers. This would turn the phone into an INCREDIBLE debugging device.
Keyboard need too some drivers?
thank you very muchhh
Disclaimer: Do only use this information if you know what you're doing!
PATH=$PATH:/home/markus/android/sdk/platform-tools
Get kernel from phone:
adb shell
su
dd if=/dev/block/mmcblk0p8 of=/sdcard/external_sd/stockboot.img
Exit adb shell
adb pull /sdcard/external_sd/stockboot.img
Separate the zImage from the ramdisk (see below for abootimg):
abootimg -x stockboot.img
unpacks the archive and copies contents to working directory:
gunzip -c initrd.img | cpio -i
Do your edits, e.g. default.prop, add:
debug.performance.tuning=1
video.accelerate.hw=1
windowsmgr.max_events_per_sec=150
--> move all files to new folder, cd into this folder:
repacks files from working directory into an archive (MAKE SURE NO OTHER FILES ARE IN THE WORKING DIRECTORY!!)
find . | cpio -o -H newc | gzip > ../myinitrd.img
New boot.img:
./mkbootimg --kernel zImage --ramdisk myinitrd.img --cmdline "console=null androidboot.hardware=qcom androidboot.emmc=true hw=6" -o myBuiltBoot.img --base 0x00400000 --pagesize 4096
You can also use abootimg to create your new .img file, it has an easier syntax as it exports the commandline to a .cfg file and you can use that while creating the package.
Push your new kernel.img to the phone:
adb push myBuiltBoot.img /sdcard/external_sd/myBuiltBoot.img
Write kernel to kernel-partition in phone:
adb shell
su
dd if=/sdcard/external_sd/myBuiltBoot.img of=/dev/block/mmcblk0p8
adb reboot
< pray >
Sources:
http://forums.androidcentral.com/lg...ense-back-up-your-phone-without-nandroid.html
http://forum.xda-developers.com/showthread.php?t=1227269
http://forum.xda-developers.com/showthread.php?t=1292557
Also quite handy: http://packages.debian.org/de/sid/abootimg
wouldnt just editing build.prop in /system without touching kernel do the same job? ^_^
Yep. I just wanted to describe the whole process of extracting and packing the needed files. The edit was just an example. And in fact, i made a typo, it's called default.prop.
The installation patching instructions look pretty annoying. Has anyone done this and has a CWM flashable patch I could use?
http://forum.xda-developers.com/showthread.php?t=1357056
This is what I get when using the patch generator:
Code:
PDroid Patcher v0.3 - Patch v1.27
Patching C:\Users\Ryan\Desktop\StockMod-2-UCLA3-0.2kernel.zip
Extracting framework files from ROM
inflated: system/framework/core.jar
inflated: system/framework/framework.jar
inflated: system/framework/services.jar
inflated: META-INF/com/google/android/updater-script
inflated: META-INF/com/google/android/update-binary
Decompiling original files
I: Baksmaling...
I: Copying assets and libs...
I: Baksmaling...
I: Copying assets and libs...
I: Baksmaling...
I: Copying assets and libs...
Cleaning up smali
C:\Users\Ryan\AppData\Roaming\PDroidPatcher\tmp>..\tools\sed "/^\s*\.\(line\s[0-9]\{1,\}\)\s*$/d" framework.mod.jar.out\smali\android\app\ContextImpl.smali 1>framework.mod.jar.out\smali\android\app\ContextImpl.smali.new
C:\Users\Ryan\AppData\Roaming\PDroidPatcher\tmp>move /Y framework.mod.jar.out\smali\android\app\ContextImpl.smali.new framework.mod.jar.out\smali\android\app\ContextImpl.smali
1 file(s) moved.
C:\Users\Ryan\AppData\Roaming\PDroidPatcher\tmp>..\tools\sed "/^\s*\.\(line\s[0-9]\{1,\}\)\s*$/d" framework.mod.jar.out\smali\android\content\ContentResolver.smali 1>framework.mod.jar.out\smali\android\content\ContentResolver.smali.new
C:\Users\Ryan\AppData\Roaming\PDroidPatcher\tmp>move /Y framework.mod.jar.out\smali\android\content\ContentResolver.smali.new framework.mod.jar.out\smali\android\content\ContentResolver.smali
1 file(s) moved.
C:\Users\Ryan\AppData\Roaming\PDroidPatcher\tmp>..\tools\sed "/^\s*\.\(line\s[0-9]\{1,\}\)\s*$/d" services.mod.jar.out\smali\com\android\server\am\ActivityManagerService.smali 1>services.mod.jar.out\smali\com\android\server\am\ActivityManagerService.smali.new
C:\Users\Ryan\AppData\Roaming\PDroidPatcher\tmp>move /Y services.mod.jar.out\smali\com\android\server\am\ActivityManagerService.smali.new services.mod.jar.out\smali\com\android\server\am\ActivityManagerService.smali
1 file(s) moved.
C:\Users\Ryan\AppData\Roaming\PDroidPatcher\tmp>..\tools\sed "/^\s*\.\(line\s[0-9]\{1,\}\)\s*$/d" services.mod.jar.out\smali\com\android\server\ServerThread.smali 1>services.mod.jar.out\smali\com\android\server\ServerThread.smali.new
C:\Users\Ryan\AppData\Roaming\PDroidPatcher\tmp>move /Y services.mod.jar.out\smali\com\android\server\ServerThread.smali.new services.mod.jar.out\smali\com\android\server\ServerThread.smali
1 file(s) moved.
C:\Users\Ryan\AppData\Roaming\PDroidPatcher\tmp>..\tools\sed "/^\s*\.\(line\s[0-9]\{1,\}\)\s*$/d" core.mod.jar.out\smali\java\lang\ProcessManager$ProcessImpl.smali 1>core.mod.jar.out\smali\java\lang\ProcessManager$ProcessImpl.smali.new
C:\Users\Ryan\AppData\Roaming\PDroidPatcher\tmp>move /Y core.mod.jar.out\smali\java\lang\ProcessManager$ProcessImpl.smali.new core.mod.jar.out\smali\java\lang\ProcessManager$ProcessImpl.smali
1 file(s) moved.
Applying PDroid patches
patching file smali/android/app/ContextImpl.smali
Hunk #2 succeeded at 155 (offset 8 lines).
Hunk #3 succeeded at 695 (offset 20 lines).
Hunk #4 succeeded at 1270 (offset 112 lines).
Hunk #5 succeeded at 1294 (offset 112 lines).
Hunk #6 succeeded at 1570 (offset 161 lines).
Hunk #7 succeeded at 1823 (offset 161 lines).
patching file smali/android/content/ContentResolver.smali
patching file smali/android/privacy/IPrivacySettingsManager.smali
patching file smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
patching file smali/android/privacy/IPrivacySettingsManager$Stub.smali
patching file smali/android/privacy/PrivacyFileObserver.smali
patching file smali/android/privacy/PrivacyPersistenceAdapter.smali
patching file smali/android/privacy/PrivacySettings$1.smali
patching file smali/android/privacy/PrivacySettingsManagerService.smali
patching file smali/android/privacy/PrivacySettingsManager.smali
patching file smali/android/privacy/PrivacySettings.smali
patching file smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
patching file smali/android/privacy/surrogate/PrivacyAccountManager.smali
patching file smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
patching file smali/android/privacy/surrogate/PrivacyContentResolver.smali
patching file smali/android/privacy/surrogate/PrivacyCursor.smali
patching file smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
patching file smali/android/privacy/surrogate/PrivacyLocationManager.smali
patching file smali/android/privacy/surrogate/PrivacyTelephonyManager$PrivacyPhoneStateListener.smali
patching file smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
patching file smali/com/android/server/am/ActivityManagerService.smali
Hunk #1 succeeded at 12780 (offset 92 lines).
Hunk #2 succeeded at 18937 (offset 104 lines).
patching file smali/com/android/server/ServerThread.smali
Hunk #1 succeeded at 43 with fuzz 1.
Hunk #2 succeeded at 522 (offset 139 lines).
patching file smali/java/lang/PrivacyInputStream.smali
patching file smali/java/lang/PrivacyProcessManager$PrivacyFileReader.smali
patching file smali/java/lang/PrivacyProcessManager.smali
patching file smali/java/lang/ProcessManager$ProcessImpl.smali
Creating updater script
Original mount statement not found, using default updater script
Building modified framework.jar
I: Checking whether sources has changed...
I: Smaling...
W: Unknown file type, ignoring: framework.mod.jar.out\smali\android\app\ContextImpl.smali.orig
W: Could not find resources
I: Building apk file...
created: META-INF/
inflated: META-INF/MANIFEST.MF
inflated: preloaded-classes
adding: preloaded-classes(in = 65693) (out= 11977)(deflated 81%)
updated manifest
Building modified services.jar
I: Checking whether sources has changed...
I: Smaling...
W: Unknown file type, ignoring: services.mod.jar.out\smali\com\android\server\ServerThread.smali.orig
W: Unknown file type, ignoring: services.mod.jar.out\smali\com\android\server\am\ActivityManagerService.smali.orig
W: Could not find resources
I: Building apk file...
created: META-INF/
inflated: META-INF/MANIFEST.MF
updated manifest
Building modified core.jar
I: Checking whether sources has changed...
I: Smaling...
W: Could not find resources
I: Building apk file...
created: META-INF/
inflated: META-INF/MANIFEST.MF
inflated: org/apache/harmony/dalvik/ddmc/README.txt
inflated: com/ibm/icu4jni/ThirdPartyProject.prop
inflated: org/apache/xalan/Version.src
inflated: org/apache/xalan/processor/XSLProcessorVersion.src
inflated: org/apache/xalan/res/XSLTInfo.properties
inflated: org/apache/xml/serializer/XMLEntities.properties
inflated: org/apache/xml/serializer/HTMLEntities.properties
inflated: org/apache/xml/serializer/Version.src
inflated: org/apache/xml/serializer/output_text.properties
inflated: org/apache/xml/serializer/output_unknown.properties
inflated: org/apache/xml/serializer/output_html.properties
inflated: org/apache/xml/serializer/output_xml.properties
inflated: org/apache/xml/serializer/Encodings.properties
inflated: java/security/security.properties
inflated: java/util/logging/logging.properties
inflated: org/xmlpull/ThirdPartyProject.prop
inflated: org/kxml2/ThirdPartyProject.prop
inflated: org/xml/ThirdPartyProject.prop
inflated: classes.dex
adding: com/(in = 0) (out= 0)(stored 0%)
adding: com/ibm/(in = 0) (out= 0)(stored 0%)
adding: com/ibm/icu4jni/(in = 0) (out= 0)(stored 0%)
adding: com/ibm/icu4jni/ThirdPartyProject.prop(in = 318) (out= 202)(deflated 36%)
adding: java/(in = 0) (out= 0)(stored 0%)
adding: java/security/(in = 0) (out= 0)(stored 0%)
adding: java/security/security.properties(in = 5084) (out= 1837)(deflated 63%)
adding: java/util/(in = 0) (out= 0)(stored 0%)
adding: java/util/logging/(in = 0) (out= 0)(stored 0%)
adding: java/util/logging/logging.properties(in = 3123) (out= 1129)(deflated 63%)
adding: org/(in = 0) (out= 0)(stored 0%)
adding: org/apache/(in = 0) (out= 0)(stored 0%)
adding: org/apache/harmony/(in = 0) (out= 0)(stored 0%)
adding: org/apache/harmony/dalvik/(in = 0) (out= 0)(stored 0%)
adding: org/apache/harmony/dalvik/ddmc/(in = 0) (out= 0)(stored 0%)
adding: org/apache/harmony/dalvik/ddmc/README.txt(in = 78) (out= 69)(deflated 11%)
adding: org/apache/xalan/(in = 0) (out= 0)(stored 0%)
adding: org/apache/xalan/processor/(in = 0) (out= 0)(stored 0%)
adding: org/apache/xalan/processor/XSLProcessorVersion.src(in = 4126) (out= 1696)(deflated 58%)
adding: org/apache/xalan/res/(in = 0) (out= 0)(stored 0%)
adding: org/apache/xalan/res/XSLTInfo.properties(in = 1061) (out= 606)(deflated 42%)
adding: org/apache/xalan/Version.src(in = 4999) (out= 1909)(deflated 61%)
adding: org/apache/xml/(in = 0) (out= 0)(stored 0%)
adding: org/apache/xml/serializer/(in = 0) (out= 0)(stored 0%)
adding: org/apache/xml/serializer/Encodings.properties(in = 11338) (out= 3094)(deflated 72%)
adding: org/apache/xml/serializer/HTMLEntities.properties(in = 4353) (out= 2220)(deflated 49%)
adding: org/apache/xml/serializer/output_html.properties(in = 1841) (out= 922)(deflated 49%)
adding: org/apache/xml/serializer/output_text.properties(in = 1525) (out= 832)(deflated 45%)
adding: org/apache/xml/serializer/output_unknown.properties(in = 1769) (out= 948)(deflated 46%)
adding: org/apache/xml/serializer/output_xml.properties(in = 1818) (out= 943)(deflated 48%)
adding: org/apache/xml/serializer/Version.src(in = 4720) (out= 1869)(deflated 60%)
adding: org/apache/xml/serializer/XMLEntities.properties(in = 1086) (out= 647)(deflated 40%)
adding: org/kxml2/(in = 0) (out= 0)(stored 0%)
adding: org/kxml2/ThirdPartyProject.prop(in = 209) (out= 173)(deflated 17%)
adding: org/xml/(in = 0) (out= 0)(stored 0%)
adding: org/xml/ThirdPartyProject.prop(in = 224) (out= 178)(deflated 20%)
adding: org/xmlpull/(in = 0) (out= 0)(stored 0%)
adding: org/xmlpull/ThirdPartyProject.prop(in = 224) (out= 179)(deflated 20%)
updated manifest
Creating flashable patch zip
added manifest
adding: system/(in = 0) (out= 0)(stored 0%)
adding: system/framework/(in = 0) (out= 0)(stored 0%)
adding: system/framework/core.jar(in = 1908530) (out= 1897353)(deflated 0%)
adding: system/framework/framework.jar(in = 4087409) (out= 4062341)(deflated 0%)
adding: system/framework/services.jar(in = 883227) (out= 882283)(deflated 0%)
ignoring entry META-INF/
adding: META-INF/com/(in = 0) (out= 0)(stored 0%)
adding: META-INF/com/google/(in = 0) (out= 0)(stored 0%)
adding: META-INF/com/google/android/(in = 0) (out= 0)(stored 0%)
adding: META-INF/com/google/android/update-binary(in = 224244) (out= 144112)(deflated 35%)
adding: META-INF/com/google/android/updater-script(in = 239) (out= 142)(deflated 40%)
Creating flashable restore zip
added manifest
adding: system/(in = 0) (out= 0)(stored 0%)
adding: system/framework/(in = 0) (out= 0)(stored 0%)
adding: system/framework/core.jar(in = 1925304) (out= 1915877)(deflated 0%)
adding: system/framework/framework.jar(in = 4066524) (out= 4044700)(deflated 0%)
adding: system/framework/services.jar(in = 901158) (out= 900324)(deflated 0%)
ignoring entry META-INF/
adding: META-INF/com/(in = 0) (out= 0)(stored 0%)
adding: META-INF/com/google/(in = 0) (out= 0)(stored 0%)
adding: META-INF/com/google/android/(in = 0) (out= 0)(stored 0%)
adding: META-INF/com/google/android/update-binary(in = 224244) (out= 144112)(deflated 35%)
adding: META-INF/com/google/android/updater-script(in = 240) (out= 142)(deflated 40%)
Successfully created PDroid patch.
PDroid Patch: C:\Users\Ryan\Desktop\PDroidPatcher\PDroid-v1.27-StockMod-2-UCLA3-0.2kernel.zip.
You can flash it through recovery (for example CWM).
To restore your ROM and remove PDroid, flash PDroid-RESTORE-StockMod-2-UCLA3-0.2kernel.zip
TRY MOUNTING /SYSTEM IN RECOVERY (CWM) IF FLASHING THE PATCH DOES NOT WORK
One of the first things I did for the phone was trying to get this to work. It didn't haha, but I was a novice compared to my level of comfort with modifying apks etc. I might give it another go.
Me three
I would be really interested in seeing this work in the Skyrocket as well! From reading through the posts last night it appears one needs to have DEODX'd ROM to make this work.
What is pdroid?
Sent from my SAMSUNG-SGH-I727 using xda premium
remf4i said:
What is pdroid?
Sent from my SAMSUNG-SGH-I727 using xda premium
Click to expand...
Click to collapse
permissions manager that doesnt load as an app (aka block facebook from using gps, reading contacts, reading phone status, IMEI, etc).
I.E. LBE privacy guard loads once the phone boots, Pdroid would effectively block once the phone receives power and doesnt wait for the phone OS to start.
This stemmed from a fear that LBE privacy guard wasnt very honest, but I went back to it and used droidwall from allowing LBE to communicate any data.
orlandoxpolice said:
permissions manager that doesnt load as an app (aka block facebook from using gps, reading contacts, reading phone status, IMEI, etc).
I.E. LBE privacy guard loads once the phone boots, Pdroid would effectively block once the phone receives power and doesnt wait for the phone OS to start.
This stemmed from a fear that LBE privacy guard wasnt very honest, but I went back to it and used droidwall from allowing LBE to communicate any data.
Click to expand...
Click to collapse
Thanks for the heads up on LBE, after some more research. It scares me that it's written by a Chinese source, and isn't open sourced, their website doesn't even work. I'm too leary of the Chinese Gov sponsored hacking against US targets.
creedicd said:
Thanks for the heads up on LBE, after some more research. It scares me that it's written by a Chinese source, and isn't open sourced, their website doesn't even work. I'm too leary of the Chinese Gov sponsored hacking against US targets.
Click to expand...
Click to collapse
Just use droidwall and block its ability to send any info packets from your ohone
Sent from my SAMSUNG-SGH-I727 using xda premium
Anyone have a patch for sky ics 7 speed- faux 10u- ucla3 modem?
I have yet to understand how to make it
Sent from my samsung-sgh-i727 using XDA
orlandoxpolice said:
The installation patching instructions look pretty annoying. Has anyone done this and has a CWM flashable patch I could use?
http://forum.xda-developers.com/showthread.php?t=1357056
Click to expand...
Click to collapse
Why would you use this???
odeccacccp said:
Why would you use this???
Click to expand...
Click to collapse
Do you like to have any control over the information on your phone?
I am using Pdroid on Sky-ICE 7.4 in addition to LBE. So far, I have have no problems running both on this ROM.
Also, whenever I flash a new ROM, I use Pdoid.
However, I have a T989...but I would assume it would work just as well on on an I727.
My method (when installing a new ROM):
1) Open PdroidPatcher.exe on Windows
2) Select a ROM of your choice (Pdroid prompts you for the file)
3) Patch
4) Copy both the original ROM and the Pdroid generated .zip file to your SD
5) Reboot into CWM
6) *** BACKUP ***
7) Wipe (I use darkside's superwipe)
8) Install ROM from SD card
9) I let the ROM boot up and then reboot again into CWM
10) Install Pdroid generated .zip file
11) Reboot and make sure you install the Pdoid app from the market (play store)
12) Enjoy!
It really isn't that complicated - but if it doesn't work for you, don't blame me