replacing system files - XPERIA X10 Android Development

As per my script i am working on, I have updated build.prop and a few other files, namely init.rc and am wondering how i can effectively replace this file with my modified one
Ive been at it for a few hours now, trying to get it to happen, but no dice
So does anyone else have any suggestions?

Nutterpc said:
As per my script i am working on, I have updated build.prop and a few other files, namely init.rc and am wondering how i can effectively replace this file with my modified one
Ive been at it for a few hours now, trying to get it to happen, but no dice
So does anyone else have any suggestions?
Click to expand...
Click to collapse
Try something like:
@echo Pulling files from device.
@adb shell chmod 4777 /init.rc
@adb pull /init.rc
@adb shell chmod 4777 /system/build.prop
@adb pull /system/build.prop
@echo Pausing while files are edited......
pause
@echo Push edited files to device
@adb push init.rc /init.rc
@adb shell chmod 0755 /init.rc
@adb push build.prop /system/build.prop
@adb shell chmod 0755 /system/build.prop
@echo Done.
You can run that in a directory. It will pull the init.rc and build.prop files, pause while you edit, then push them back.
Afte it pulls and pauses you can simply replace them on your PC with your edited copies then press any key in the script to replace.
Hope it helps.
PS: I tested on my device, no issues.

Nutterpc said:
As per my script i am working on, I have updated build.prop and a few other files, namely init.rc and am wondering how i can effectively replace this file with my modified one
Ive been at it for a few hours now, trying to get it to happen, but no dice
So does anyone else have any suggestions?
Click to expand...
Click to collapse
Yu can follow the following thread
http://forum.xda-developers.com/showthread.php?t=824711
Once in su mode at adb shell, 2 commands to pull to sdcard, edit on card with notepad++, one command to put it back then reboot (need busybox).

Unfortunately, that won't work. As init.rc is stored on the ramdisk, you'll need to replace it every boot. Check out how it's done on the 2.2 ROM.

Related

rebrand e10i

hello,
I'm new to android and i could re-brand my phone just using the tutorial
i have used adb to get in to the root of e10i (x10 mini)"the su"
i want to understand
first is default.prop this is the file i need to edit becous' i didn't/couldn't find and build.prop in the system dir ?
assume yes i did pull it by using \adb.exe pull default.prop is this right but when I'm trying to push it back after edit
\android-sdk-windows\tools\adb.exe push / default.prop
it stuck
this file cloud not be deleted using rm under the su
$ ls
ls
sqlite_stmt_journals
cache
sdcard
etc
system
sys
sbin
proc
init.rc
init.qcom.sh
init.qcom.rc
init.qcom.post_boot.sh
init.goldfish.rc
init.delta.sh
init.delta.rc
init
default.prop
data
root
dev
$ rm default.prop
rm default.prop
rm failed for default.prop, Read-only file system
nether of cp over wiret it
i did try to change the permission
$ chmod 777 default.prop
chmod 777 default.prop
Unable to chmod default.prop: Read-only file system
can anyone could help me to re-brand this phone ????
Push back to /sdcard instead, and from there copy to /system.
Sorry, might have answered to wrong question
skogholm said:
Push back to /sdcard instead, and from there copy to /system.
Sorry, might have answered to wrong question
Click to expand...
Click to collapse
i could push it to the phone but i could not relapse it
I would do like this:
adb shell
su
pull /system/build.prop
cat /system/build.prop > /sdcard/build.prop.original (make a copy...)
.. modify the file in whatevertool
adb push build.prop /sdcard
adb shell
su
cat /sdcard/build.prop > /system/build.prop
But be careful...

[Q] ADB Problems

I just rooted my x2, and installed eclipse. I cant get adb to push, I get permisson denied. I cant do adb remount cuz I get operation not permitted. I had it working once, but now It wont let me do it. Im trying to theme and I need adb push to work. I also tried putting an app on the sdcard and using root explorer to change the apk, all i did was make 1 png edit and the apk wasnt working. Im not sure whats going on and any help would be nice.
TheMuffStuff said:
I just rooted my x2, and installed eclipse. I cant get adb to push, I get permisson denied. I cant do adb remount cuz I get operation not permitted. I had it working once, but now It wont let me do it. Im trying to theme and I need adb push to work. I also tried putting an app on the sdcard and using root explorer to change the apk, all i did was make 1 png edit and the apk wasnt working. Im not sure whats going on and any help would be nice.
Click to expand...
Click to collapse
My Thoughts Are,
PC Mode
Updated Drivers
Correct Path Pointing To ADB Folder Inside Android SDK
Some Computers Need The USB Cable To Be Plugged In The Back Not The Front Due To Front Ports Aren't Supported
Make Sure You're Using The Right Commands ie. adb push <Local> <Remote> -Copy File/Dir To Device
Im gunna try some more today, also when I just make 1 png edit in an apk, and use my sdcard, then root explorer to swap the apks, the new apk gets an error, even tho I only made 1 edit. Its being weird.
Edit: Ive tried PC Mode, updated all drivers. My paths are fine, as im on the same computer that ive done all my theming on for my fascinate/charge. I am using USB's in the back, same one ive always used. Im using the right commands. My phone is rooted using the 1 click script. Im not really sure what else it could be. Im just getting permission errors, I have a feeling its a root problem. I dont know.
Edit:: The only thing I can think of is trying to sbf back to stock, update to pre-rooted gingerbread, and try that?
Honestly it sounds like you are not rooted. I had troubles running the script as well after it came out. I had already rooted earlier in the day using the actual researchers blog instructions.
http://vulnfactory.org/blog/2011/08/25/rooting-the-droid-3/
Those steps are all you need then you can push the su and Superuser.apk files. I wrote a vb script file to install the drives and push the files but I need to do more testing before I put that out for people to try. Using the one click is nice but with everything flying by so fast its easy to miss an error. If you have the one click extracted open a command prompt and navigate to that folder. Then run the commands as follows:
adb shell
mv /data/local/12m /data/local/12m.bak
ln -s /data /data/local/12m
(POWER OFF DEVICE IT WILL REBOOT ON ITS OWN)
adb shell
rm /data/local/12m
mv /data/local/12m.bak /data/local/12m
mv /data/local.prop /data/local.prop.bak
echo "ro.sys.atvc_allow_netmon_usb=0" > /data/local.prop
echo "ro.sys.atvc_allow_netmon_ih=0" >> /data/local.prop
echo "ro.sys.atvc_allow_res_core=0" >> /data/local.prop
echo "ro.sys.atvc_allow_res_panic=0" >> /data/local.prop
echo "ro.sys.atvc_allow_all_adb=1" >> /data/local.prop
echo "ro.sys.atvc_allow_all_core=0" >> /data/local.prop
echo "ro.sys.atvc_allow_efem=0" >> /data/local.prop
echo "ro.sys.atvc_allow_bp_log=0" >> /data/local.prop
echo "ro.sys.atvc_allow_ap_mot_log=0" >> /data/local.prop
echo "ro.sys.atvc_allow_gki_log=0" >> /data/local.prop
(POWER CYCLE)
adb shell
(# WILL BE LISTED)
exit
adb remount
adb push busybox /system/xbin/busybox
adb push su /system/xbin/su
adb push Superuser.apk /system/app/Superuser.apk
adb shell chmod 4755 /system/xbin/su
adb shell chmod 755 /system/xbin/busybox
Anything that is in () is not to be typed but informative. The steps above have worked for me on 2 X2's so far and a friends DROID3.

Nook Tablet Root - MAC Instructions

UPDATE: See my other thread for a much easier solution that does all the hard work for you...
This assumes a factory fresh nook and a mac that hasn't previously been used. I just reset mine again (Hold Power until you get prompted, pick power off, then when it's off, press N and then turn it back on) and went through this. Works reliably.
On the NOOK
Browse to this:
http://www.launcherpro.com/apk/LauncherPro-0.8.6.apk
When it's done, click on notifications center
Press on downloaded apk file
Complete action using package installer
It should say "install blocked"
Press settings
Tick unknown sources (press ok)
Pick Development
Tick USB debugging (press ok)
Tick the other USB debugging further down
Uncheck Automount
Back/Back
On the MAC
Download Android SDK http://developer.android.com/sdk/index.html
Unzip it
Start a shell
Cd to the dir where you unzipped it
cd to tools directory
run ./android - android sdk manager launches
Tick Android SDK platform tools
Click install 6 packages - wait until it's all done. "done loading packages"
Open a new shell
See if there is .android directory in your home directory, if not "mkdir -p ~/.android" in your home directory
echo 0x2080 > ~/.android/adb_usb.ini
adb kill-server
Connect the Nook via MicroUSB to your Mac
The nook should show you notification saying usb debugging connected. If not something's wrong with the settings in the menu earlier
Download http://dl.dropbox.com/u/15069134/Nook&Zergy.zip
unzip that file
Adjust your PATH variable to include the directory containing the adb binary from the sdk, eg:
export PATH=$PATH:YOURDOWNLOADDIR/android-sdk-macosx/platform-tools/
Type which adb
This should show you the full path to the adb binary, if not your path is set wrong, assuming that is right
adb devices
You should see:
List of devices attached
[YOUR NOOKCOLOR SN] device
adb push zergrush /data/local/zergy
adb shell "chmod 755 /data/local/zergy;cd /data/local/;./zergy"
adb wait-for-device install Superuser.apk
adb remount
adb push su /data/local/tmp/
adb shell "cd /data/local/tmp;chmod 777 su;cd /;mount -o remount,rw -t rootfs rootfs /"
adb push su /system/bin/su
adb shell chmod 4755 /system/bin/su
Download http://goo-inside.me/gapps/gapps-gb-20110828-signed.zip
Unzip this file.
cd gapps-gb-20110828-signed/system/app/
rm SetupWizard.apk
adb push GoogleServicesFramework.apk /system/app
adb push Vending.apk /system/app
adb push CarHomeGoogle.apk /system/app
adb push FOTAKill.apk /system/app
adb push GenieWidget.apk /system/app
adb push GoogleBackupTransport.apk /system/app
adb push GoogleCalendarSyncAdapter.apk /system/app
adb push GoogleContactsSyncAdapter.apk /system/app
adb push GoogleFeedback.apk /system app
adb push GoogleFeedback.apk /system app
adb push GoogleFeedback.apk /system/app
adb push GooglePartnerSetup.apk /system/app
adb push GoogleQuickSearchBox.apk /system/app
adb push LatinImeTutorial.apk /system/app
adb push MarketUpdater.apk /system/app
adb push MediaUploader.apk /system/app
adb push NetworkLocation.apk /system/app
adb push Talk.apk /system/app
adb push OneTimeInitializer.apk /system/app
adb shell chmod 644 /system/app/*
Click on Notification center again, and press on the Golancher Icon again. Install the Goauncher
Reboot
After reboot, slide to unlock and it should ask "complete action using..". Pick LauncherPRO
Open Marketplace which should be on the launcher screen
Sign in with your google credentials, attach the device to your account
Install button savior from the Marketplace.
Browse to www.amazon.com/app-email
Click notifications and watch for Amazon appstore apk download
Click and install.
You should now be live with Android Market & Amazon Market.
My word I hope these kind of instructions get captured in a wiki somewhere...
Just what I was looking for, worked perfect first try. My frustrations are out the window, not my Nook Tablet!!!
Sweet. One person helped, my debt is repaid the community
Sweet Indeedie!
Thanks @t-r-i-c-k - you just helped yet another.
Note to others - I did have a problem getting my device listed with adb, I re-ran the tgps_launcher app for the debug settings and un-checked and re-checked USB Debugging lines (2 of them) and that seem to do it. I also re-plugged the USB cable a one point so that may have been part of the trick as well - not real sure. You may have to fiddle a bit.
EDIT: ok running tgps_launcher, it is the first USB Debugging checkbox to un-check then re-check.
---------- Post added at 05:48 AM ---------- Previous post was at 05:09 AM ----------
Ok, just had a bit of a scare after rooting...
I had left the NT in terminal, su'd to root and the display timed out. NOTHING would bring it back to life!! EXCEPT plugging in the USB cable and running 'adb devices' ... and it powered on!! Whew!!!!
(before this I held the power button for a good 30 seconds and tried a repower to no avail)
I tried to replicate but always got my unlock back on no matter what I did?!
Ok so here is where I am getting stuck.
t-r-i-c-k said:
See if there is .android directory in your home directory, if not "mkdir -p ~/.android" in your home directory
echo 0x2080 > ~/.android/adb_usb.ini
adb kill-server
Click to expand...
Click to collapse
I'm pasting the "mkdir -p ~/.android" command into the terminal and it doesn't seem to do anything. No such directory is created.
Perhaps I'm missing something. I'm not as used to using the terminal on my Mac as I am on Linux.
MonkeysInACan said:
Ok so here is where I am getting stuck.
I'm pasting the "mkdir -p ~/.android" command into the terminal and it doesn't seem to do anything. No such directory is created.
Perhaps I'm missing something. I'm not as used to using the terminal on my Mac as I am on Linux.
Click to expand...
Click to collapse
Nope - not the your Nook terminal - do it on your Mac
...assuming you are doing it on your mac...
if you use 'cd' (and [Enter] of course) and you'll be in your home folder ("~")
if mkdir returns an error then it probably already exists - try 'ls -a' and see if you see it.
if it exists then use the echo command again - there is no visible output - it used by adb
MonkeysInACan said:
Ok so here is where I am getting stuck.
I'm pasting the "mkdir -p ~/.android" command into the terminal and it doesn't seem to do anything. No such directory is created.
Perhaps I'm missing something. I'm not as used to using the terminal on my Mac as I am on Linux.
Click to expand...
Click to collapse
It makes a hidden directory in your home directory. ls -lart ~ to see it
Yay!!! It works!!!! It took a bit of tweaking, and a few extra steps (making sure all the directories were right) but it worked. Thanks a lot!
It all seemed to work really well except I got a force close on the google framework when I rebooted. Not sure if I should start from scratch or not. One thing I can't figure out how to do is erase apps that install from the market. Clicking settings brings up the Nook settings which doesn't have any record of the apps I installed via market.
Also, is there any way to enable USB debugging after the reboot? When I plugged in the usb cable again to try to repush the framework I just get usb storage.
Ok, I found a link to the app that lets me toggle USB debugging though I'm getting a permissions error when I try to push. Also figured out that I can uninstall apps through the market app itself.
Thanks very much for the instructions you've posted here.. very helpful!
viniosity said:
It all seemed to work really well except I got a force close on the google framework when I rebooted. Not sure if I should start from scratch or not. One thing I can't figure out how to do is erase apps that install from the market. Clicking settings brings up the Nook settings which doesn't have any record of the apps I installed via market.
Also, is there any way to enable USB debugging after the reboot? When I plugged in the usb cable again to try to repush the framework I just get usb storage.
Ok, I found a link to the app that lets me toggle USB debugging though I'm getting a permissions error when I try to push. Also figured out that I can uninstall apps through the market app itself.
Thanks very much for the instructions you've posted here.. very helpful!
Click to expand...
Click to collapse
I have seen that google services framework crash once too. I just ignored it and everything seems fine. I did notice at least one other person in the main thread who reported the same. I may wipe my device and try the process again, this time with another Launcher too. I also noticed the app store doesnt show everything either. Notably facebook seems missing. If you go right to it from a link you get a "this is not compatible with your device" at the top. Going to play around more after work. On the whole though, this is awesome!
Sent from my BNTV250 using Tapatalk
I've gotten to this spot:
adb devices
You should see:
List of devices attached
[YOUR NOOKCOLOR SN] device
I can see the serial number, but I can't get any farther. This is the error I get: cannot stat 'zergrush': No such file or directory
Any ideas people? I'm brand spanking new to terminal and commands and stuff like this. Thanks for your help.
beatlesfan01 said:
I've gotten to this spot:
adb devices
You should see:
List of devices attached
[YOUR NOOKCOLOR SN] device
I can see the serial number, but I can't get any farther. This is the error I get: cannot stat 'zergrush': No such file or directory
Any ideas people? I'm brand spanking new to terminal and commands and stuff like this. Thanks for your help.
Click to expand...
Click to collapse
You need to be in the directory where you unzipped the zip from dropbox . Do ls -l and you should see the zergrush file, su etc
Sent from my BNTV250 using Tapatalk
Ok I renamed the folder from dropbox "Nookroot" This is what I get. I'm copy pasting "adb push zergrush /data/local/zergy" from first post.
MYNAME-iMac-2:Nookroot emt1052$ ls -l
total 4048
-rwxr-xr-x 1 emt1052 staff 96256 Sep 20 2010 AdbWinApi.dll
-rwxr-xr-x 1 emt1052 staff 60928 Sep 20 2010 AdbWinUsbApi.dll
-rwxr-xr-x 1 emt1052 staff 4229 Nov 21 14:38 NookandZergy.bat
-rwxr-xr-x 1 emt1052 staff 843503 Feb 29 2008 Superuser.apk
-rwxr-xr-x 1 emt1052 staff 578611 Sep 20 2010 adb.exe
-rwxr-xr-x 1 emt1052 staff 413129 Nov 20 21:55 busyboxinstall.apk
-rwxr-xr-x 1 emt1052 staff 14175 Nov 20 13:52 debug.apk
-rwxr-xr-x 1 emt1052 staff 22228 Feb 29 2008 su
drwxr-xr-x 6 emt1052 staff 204 Nov 20 15:57 system
-rwxr-xr-x 1 emt1052 staff 23056 Nov 16 09:09 zergRush
MYNAME-iMac-2:Nookroot emt1052$ adb push zergrush /data/local/zergy
-bash: desktop/android-sdk-macosx/platform-tools/adb: No such file or directory
Sorry if I'm making some dumb mistake, and thanks for your help.
Try this
beatlesfan01 said:
...
MYNAME-iMac-2:Nookroot emt1052$ adb push zergrush /data/local/zergy
-bash: desktop/android-sdk-macosx/platform-tools/adb: No such file or directory
...
Click to expand...
Click to collapse
@beatlesfan01: I wonder if /data/local doesn't exist on your NT - or you don't have permissions...
maybe try (from your Mac shell)
Code:
mac-osx$ adb shell
$ ls /data/local
a) you should get the single '$ ' prompt after the adb cmd - this is the NT's shell
b) you should get no error from 'ls /data/local
If you get errors for /data/local, then try this (while still in the 'adb shell'):
Code:
$ mkdir /data/local
$ chmod 777 /data/local
If you get an error on the 'mkdir' do the 'chmod' anyway - actually the 'chmod ...' may be the only thing you need.
Then try stuff again.
I did the first part and got this:
MYNAME-iMac-2:~ emt1052$ adb shell
$ ls /data/local
tmp
$
beatlesfan01 said:
I did the first part and got this:
MYNAME-iMac-2:~ emt1052$ adb shell
$ ls /data/local
tmp
$
Click to expand...
Click to collapse
*** NOTE EDIT ***
Ok, try 'ls -l /data' and look for 'local'
the permissions should look like '-rwxrwxrwx' - if not try 'chmod 777 /data/local' and try your adb push cmd again.
Got this:
ls -l /data/local
drwxrwx--x shell shell 2011-11-21 16:06 tmp
$ chmod 777 /data/local
$ adb push zergrush /data/local/zergy
adb: permission denied
$
I DO appreciate your help with this.
Based on your last post - you are issuing the adb push command on the Nook.
It has to be issued on the Mac...
beatlesfan01 said:
Got this:
ls -l /data/local
drwxrwx--x shell shell 2011-11-21 16:06 tmp
$ chmod 777 /data/local
$ adb push zergrush /data/local/zergy
adb: permission denied
$
I DO appreciate your help with this.
Click to expand...
Click to collapse
Ok - weird. I did mis type and edited my previous post BUT the chmod should have looked after the permission issue anyway...
Try 'chmod 777 /data' - can you do that without an error - using the 'adb shell'?
EDIT: @rmm200 - thanks - I didn't notice that one

ADB push alternative from Android device itself (non-rooted)

I have a non-rooted Android device with stock ROM 4.4.2 and I have the following test shell script:
Code:
adb push test.sh /data/local/tmp
adb shell "cd /data/local/tmp; chmod 755 test.sh"
adb.exe shell "sh /data/local/tmp/test.sh > /dev/null 2>&1 &"
If I run this over ADB from PC to my device, it simply works.
Now convert this to:
Code:
cp test.sh /data/local/tmp
cd /data/local/tmp; chmod 755 test.sh
/system/bin/sh /data/local/tmp/test.sh > /dev/null 2>&1 &"
and it doesn't work. It says permission denied on /data/local/tmp.
Is there any other EXT4 place on a non-rooted device that I can do this?
Well, I cd to /data/local/tmp and even submitting a 'ls' command inside Terminal Emulator doesn't work, it says permission denied, but when doing it from PC to Android using ADB it's fine. Is there any workaround for this? I want to be able to do this on the device itself.
Thanks
idoit said:
I have a non-rooted Android device with stock ROM 4.4.2 and I have the following test shell script:
Code:
adb push test.sh /data/local/tmp
adb shell "cd /data/local/tmp; chmod 755 test.sh"
adb.exe shell "sh /data/local/tmp/test.sh > /dev/null 2>&1 &"
If I run this over ADB from PC to my device, it simply works.
Now convert this to:
Code:
cp test.sh /data/local/tmp
cd /data/local/tmp; chmod 755 test.sh
/system/bin/sh /data/local/tmp/test.sh > /dev/null 2>&1 &"
and it doesn't work. It says permission denied on /data/local/tmp.
Is there any other EXT4 place on a non-rooted device that I can do this?
Well, I cd to /data/local/tmp and even submitting a 'ls' command inside Terminal Emulator doesn't work, it says permission denied, but when doing it from PC to Android using ADB it's fine. Is there any workaround for this? I want to be able to do this on the device itself.
Thanks
Click to expand...
Click to collapse
No there isnt, not if you try using /data partition. ADB can read this partition (and that too was added around android kitkat itself for purpose of adb backup
etc). So ADB can read this partition, but terminal emulator and such cannot.
Assuming that you have a great reason to simply not copy the sh file to user-usable internal memory, /system partition is the one place where you can copy things without actually having root (and even access them with terminal emulator, but not manipulate them), and this isn't that simple either. Rather, the method will be device dependent. For instance, if you have a phone like Nexus phones, simply download stock firmware, open/extract it depending on what format it is (img or tar), add your sh file and repack the firmware, then flash it into the phone. The firmware should be same as your current installed so your applications dont mess up. But this method is not only long (and messy if your device has integrity checks on firmware files), but also not possible on some phones (as far as I know).
You can also try copying the sh file with adb to /data/data/com.android.terminal. Then you should be able to access this with terminal emulator (since an app has permissions inside its own data folder). However I have not tested this method and I am not sure it will work.
Besides this, every app (including terminal emulator) runs in a sandbox and does not have access to anything except /system (read-only access), emulated user-storage and its own data inside /data/data/. So in phone itself, you cannot read the file unless you copy it to /system or user-memory. And this finally implies that except above two methods, there is no other way to copy file to some other place except user-memory and be able to read it using some app inside phone itself without rooting.
Thanks for your comprehensive reply. I resolved the problem. Yes, it's right, I can simply run the shell script without even moving it to /data/local/tmp... so now I can conveniently running it directly from my phone without having to turn a computer on and do it over ADB.
thankx

4.0.3 build.proc

Does anyone has a copy of the original build.proc of version 4.0.3 tablet s? Can you share?
I might have screw up mine...and it's not loading.
After adb is successful, does anyone know the command to push the build.proc into /system?
I have a back up in system/build.prop.bak
I have an adb access and device recognised. can anyone help me and provide the steps (one by one) to get it renamed?
I tried to push one copy from my pc but it fail because it is read-only file system. How can i make it R/W?
Here is the commands 2do:
Code:
adb devices - check if u device is recognized
adb pull /system/build.prop C:\...\ - get build.prop file
edit how u want
Code:
adb shell
su
mount -o rw,remount /system
//Come back to ADB
adb push C:\...\build.prop /system/build.prop - repush build.prop file
adb shell chmod 644 /system/build.prop - fix permission
adb reboot
Hope this can be helpful
Thanks! Let me try...
ataraxist said:
Thanks! Let me try...
Click to expand...
Click to collapse
Quick edit w/ commands for push file:
(Copy before build.prop file on internal storage,
Code:
adb push C:\...\build.prop /mnt/sdcard/
)
Commands:
Code:
adb shell
su
mount -o rw,remount /system
cd mnt/sdcard
cp build.prop /system
chmod 644 /system/build.prop - fix permission
reboot

Categories

Resources