[SOLVED] adb push doesn't work - Galaxy S I9000 Q&A, Help & Troubleshooting

Hi, everyone!
I have a Samsung Galaxy S (GT-I9000) with Replicant 4.0 0005 installed and "adb push local_file remote_file" isn't working (and I've "adb pushed" files before).
I know this isn't a Replicant forum, but I think the problem must be ADB or Linux configuration related, so I hope you guys can help me.
I can see the phone both in recovery mode and with the phone on and USB Debugging on:
# lsusb
...
Bus 001 Device 005: ID 18d1:4e22 Google Inc. Nexus S (debug)
...
I can see phone with adb as well:
# adb devices
List of devices attached
30337E817E6100EC device
I can boot phone into recovery mode via "adb reboot recovery" so I assume adb recognizes and communicates with the phone.
As Replicant doesn't support proprietary firmwares I must push wifi and bluetooh firmwares into /system/vendor/firmware. First, I create the directory:
# adb shell
~ # df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 189592 48 189544 0% /dev
/dev/block/mtdblock2 256000 208868 47132 82% /system
/dev/block/mtdblock3 17920 2336 15584 13% /cache
~ # mount -o rw,remount -t yaffs2 /dev/block/mtdblock2 /system
~ # mkdir /system/vendor/firmware
Then, I try to push the files:
~ # adb push fw*bin /system/vendor/firmware/
error: device not found
If I leave adb shell and run "adb push fw*bin /system/vendor/firmware/" in Linux command line all I get is the list of the options of adb command but no errors.
Any clues where to look to make adb push work? (I haven't seen any message in /var/log/messages)
Thanks in advance

SOLVED. adb doesn't seem to support wildcards, so I used this script, provided by Paul Kocialkowski, main maintainer of Replicant project:
ls fw* | while read file; do adb push $file /system/vendor/firmware/; done

Related

[Q] Problem with ADB and Removing Apps

I'm not new to coding per se, I'm a web designer and developer and most of this makes complete sense to me, but I'm not sure what I'm doing wrong here. I have decided I want to learn more by customizing the stock .5 RUU rom (reverted back from .6). So I am working on removing the stock Sprint apps at the moment. I rooted via UnrEVOked one-touch. I am running ROM Manager with the ClockWorkMod Recovery Image.
Here's my setup. I'm running Parallels on my Macbook with Windows XP. I added android-sdk-windows to my C:\ drive and started into the ADB. (I do have SU permission). I have USB Debugging running and I'm in Charge Only Mode.
Code:
C:\android-sdk-windows\tools>adb shell
$ su
su
[B]mount -o rw,remount Permission denied[/B]
$ # mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
$ cd system/app
cd system/app
$ ls
[Returns the long list of System Apps that are installed ]
$ # rm amazonmp3.apk
# rm amazonmp3.apk
$ exit
C:\android-sdk-windows\tools> exit
This is just an test, trying to remove the amazonmp3.apk. I reboot into recovery and reboot the system from there, but the app isn't removed. I've highlighted the possible "problem" commands. - The "Permission denied" error is automatic, I don't get to finish writing the remount code before it automatically gives me the "denied" error
Any ideas on what I'm doing wrong? I've read that the UnrEVOked app doesn't give you full root access, is this correct?
When in tools directory type
Adb remount
Adb shell
Rm (app name).apk /system/app
or if you removing several apps you may want to cd into the app dir
Code:
adb remount
adb shell
cd /system/app
rm amazonmp3.apk
yeah, I think that the UnrEVOked one-touch just doesn't cut it because I get Permission denied on the "adb remount" command
getting this:
Code:
adb shell
$ cd /system/app
cd /system/app
rm amazonmp3.apk
rm failed for amazonmp3.apk, Read-only file system
TexasTerp said:
getting this:
Code:
adb shell
$ cd /system/app
cd /system/app
rm amazonmp3.apk
rm failed for amazonmp3.apk, Read-only file system
Click to expand...
Click to collapse
Not really sure cause I've never used that method of rooting. Try using the regaw version found in the android Dev forum

adb not working with N1 rooted?

hi,
two days ago i rooted my Nexus One FRF91-Vodafone with these two methods ( forum.xda-developers.com/showthread.php?p=7548842 and forum.xda-developers.com/showthread.php?t=736271). Still some commands of adb don't work and i can't find a solution.
Code:
C:\>cd android/tools
C:\android\tools>adb devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
HT05EP800252 device
C:\android\tools>adb shell
$ su
su
# id
id
uid=0(root) gid=0(root)
# exit
exit
$ exit
exit
C:\android\tools>adb remount
remount failed: Operation not permitted
C:\android\tools>adb root
adbd cannot run as root in production builds
C:\android\tools>
as you can see the device is connected in debug mode and i am rooted but the commands "adb remount" and "adb root" don't work (and maybe some other commands? i don't know). does it happen because the bootloader is still locked? if so, is there a way to have those commands working without unlocking it? if not, what could it be?
sorry for my english
thanks a lot
I'd have to guess because "remount" and "root" are not the way to do it.. Where are you seeing this is the way to do what you need to do?
how shoul it be used? i found a lot place where is written just like that. besides i read that the default.prop should be like this:
Code:
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=0
ro.allow.mock.location=0
ro.debuggable=1
persist.service.adb.enable=1
for adb to work properly
but mine is like this
Code:
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=0
and i don't understand why, i cant change it because it's a read-only file
What about:
Code:
mount -o remount,rw /system
?
i have this same problem, im guessing you went the way without unlocking your bootloader?
if so i dont think you can do adb remount
but what you can do is this method
adb shell
su
#mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
this will remount your phone system to read-write and you should be good to push/pull/cp/rm/clear/ and what your trying to do
Thanks for the info. I was having the same issue with my N1. The full mount path worked
Kage_
If you're really slick, I imagine you could add an alias "remount" to your shell profile script (.csh or something similar) to execute that full command for you when you needed it

[Q] Newbie trying to confirm root on Nexus One 2.2.1 FRG83

Ladies and Gents:
Please help me out.
I am trying to install a "Japanese IME" that sir JMaurice has kindly provided through one of the forums.
Did everything (I think) required in order to get my N1 connected and recognized by my laptop. Then used SuperOneClickv1.5.5-ShortFuse to gain root. Started on the IME installation and got the following.
>adb devices
List of devices attached
HTxxxPxxxxxx device
>adb kill-server
* server not running *
>adb root
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
adbd cannot run as root in production builds
>adb remount
remount failed: Operation not permitted
So I decided to confirm root.
>adb shell
$ su
su
# exit
exit
$ exit
exit
I couldn't start the "adb push" sequence due to the errors above. What am I doing wrong?
Did you reboot after executing SuperOneClick? Try that.
Jack_R1 said:
Did you reboot after executing SuperOneClick? Try that.
Click to expand...
Click to collapse
Believe I rebooted. Rebooted again just in case. Still gives me the following:
>adb root
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
adbd cannot run as root in production builds
>adb remount
remount failed: Operation not permitted
Weird, but already seen on the forum not a long time ago, I think. I'm not sure what can be done in this situation. "adb remount" can be easily substituted by shell commands, root shell you're still achieving by "su", but how to solve this - I have no idea. Might be permissions thing.
Jack_R1 said:
Weird, but already seen on the forum not a long time ago, I think. I'm not sure what can be done in this situation. "adb remount" can be easily substituted by shell commands, root shell you're still achieving by "su", but how to solve this - I have no idea. Might be permissions thing.
Click to expand...
Click to collapse
Thanks for your replies. Am searching the forums for a similar post; still no luck. Hopefully someone will chime in with an answer.
Thanks again.
You have root, you just don't have an insecure boot.img
Rusty! said:
You have root, you just don't have an insecure boot.img
Click to expand...
Click to collapse
Please clarify. Where possible, detailed explanation/instructions would be most appreciated.
You have root, that's all fine.
To use the command adb remount, you need an insecure bootloader, as you don't have this (due to using the stock boot.img) you have to mount /system as RW in a different way:
su
mount -o remount,rw /dev/mtdblock3 /system
Rusty! said:
You have root, that's all fine.
To use the command adb remount, you need an insecure bootloader, as you don't have this (due to using the stock boot.img) you have to mount /system as RW in a different way:
su
mount -o remount,rw /dev/mtdblock3 /system
Click to expand...
Click to collapse
What I am trying to achieve after adb remount is:
adb push iWnnIME/jp.co.omronsoft.iwnnime /data/data/
adb push iWnnIME/[email protected]@[email protected] /data/dalvik-cache/
adb push iWnnIME/libiwnn.so /system/lib/
.
.
.
adb push iWnnIME/libnjubase2.so /system/lib/
adb push iWnnIME/DroidSansJapanese.ttf /system/fonts/
adb install iWnnIME/iWnnIME.apk
This will actaully be the first time for me to use su. Could you confirm whether the following sequence of commands are correct?
>adb shell
$ su
# mount -o remount,rw /dev/mtdblock3 /data
# exit
$ exit
> adb push iWnnIME/jp.co.omronsoft.iwnnime /data/data/
> adb push iWnnIME/[email protected]@[email protected] /data/dalvik-cache/
>adb shell
$ su
# mount -o remount,rw /dev/mtdblock3 /system
# exit
$ exit
> adb push iWnnIME/libiwnn.so /system/lib/
.
.
.
> adb push iWnnIME/libnjubase2.so /system/lib/
> adb push iWnnIME/DroidSansJapanese.ttf /system/fonts/
> adb install iWnnIME/iWnnIME.apk
Please let me know if I am missing anything.
Wrong. You don't need to remount data, it's always writeable, and the command is erroneous - you're mounting system partition and calling it "data". You need to just push the apps to /data, as shown below:
> adb push iWnnIME/jp.co.omronsoft.iwnnime /data/data/
> adb push iWnnIME/[email protected]@[email protected] /data/dalvik-cache/
> adb shell
$ su
# mount -o remount,rw /dev/mtdblock3 /system
# exit
$ exit
> adb push iWnnIME/libiwnn.so /system/lib/
.
.
.
> adb push iWnnIME/libnjubase2.so /system/lib/
> adb push iWnnIME/DroidSansJapanese.ttf /system/fonts/
> adb install iWnnIME/iWnnIME.apk
Jack_R1 said:
Wrong. You don't need to remount data, it's always writeable, and the command is erroneous - you're mounting system partition and calling it "data". You need to just push the apps to /data, as shown below:
> adb push iWnnIME/jp.co.omronsoft.iwnnime /data/data/
> adb push iWnnIME/[email protected]@[email protected] /data/dalvik-cache/
> adb shell
$ su
# mount -o remount,rw /dev/mtdblock3 /system
# exit
$ exit
> adb push iWnnIME/libiwnn.so /system/lib/
.
.
.
> adb push iWnnIME/libnjubase2.so /system/lib/
> adb push iWnnIME/DroidSansJapanese.ttf /system/fonts/
> adb install iWnnIME/iWnnIME.apk
Click to expand...
Click to collapse
I think I am starting to understand this. I punched in the first adb push sequence and got the following:
> adb push iWnnIME/jp.co.omronsoft.iwnnime /data/data/
push: iWnnIME/jp.co.omronsoft.iwnnime/dicset/master/njuserphone.a -> /data/data/dicset/master/njuserphone.a
failed to copy 'iWnnIME/jp.co.omronsoft.iwnnime/dicset/master/njuserphone.a' to '/data/data/dicset/master/njuserphone.a': No such file or directory
Checked in tools directory and the appropriate directory/file combination was there. Does this indicate that I have to create the appropriate directory in my phone?
Someone? Anyone?
Or is it possible to execute the same adb sequence in shell as su?
I must admit, I've never pushed more that a single file at a time over, given you appear to be trying to push an entire directory tree, perhaps you might be better off copying it over to the SD card in Windows, and using busybox to get it where you need it.
Exactly as Rusty suggested above me. Otherwise you need to create all the directories manually, through adb shell mkdir <your_directory_that_is_not_on_the_phone> .

How can I run 'adb root' on Nexus One

Hi,
I have rooted Nexus One which runs on GingerBread. I can open 'adb shell' and then execute 'su' there.
But when I try to 'adb remount', it fails.
Code:
$ adb root
adbd cannot run as root in production builds
$ adb remount
remount failed: Operation not permitted
Basically, I want to copy a file from my Desktop (MacOSX) to /system/bin on the device, is there anyway to do that on my Nexus One?
You rooted a stock OS - it doesn't have insecure boot, so ADB doesn't allow remount and other root commands.
hap497 said:
Hi,
I have rooted Nexus One which runs on GingerBread. I can open 'adb shell' and then execute 'su' there.
But when I try to 'adb remount', it fails.
Code:
$ adb root
adbd cannot run as root in production builds
$ adb remount
remount failed: Operation not permitted
Basically, I want to copy a file from my Desktop (MacOSX) to /system/bin on the device, is there anyway to do that on my Nexus One?
Click to expand...
Click to collapse
It seems like you are trying a bunch of things without reading beforehand, and understanding what you are doing. As has been said to you before, you cannot use the adb remount command with a secure boot image. If you want read/write access to the /system partition, you need to do the following:
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
Now you have read/write access to the /system partition. No you can copy files from your sdcard to the system partition if you want. When you are finished with whatever you have to do, don't forget to issue the following command:
mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
There you have it. However, if you would have read a bit, instead of starting a new thread for each question you had, you would already have found what to do...

Root droid1 running 2.2.3

Is it still possible to root my original droid (running 2.2.3)? Baseband version C_.1.43.1P , kernel 2.6.32.9
I checked many threads but most of the download links of apk or other app are dead.
I really need to root this phone, if somebody has instructions and files, I would really appreciate it.
So I found this working root method from some other forum, sharing in case anyone needs it, I doubt it though
Go to settings on your phone
then applications
then development
check the box for usb debugging[/Hide]
2.) Extract rageagainstthecage.zip to c:\droidroot
3.) Connect your phone to the computer via usb cable
4.) on the computer open the command prompt. (In the start menu under accessories)
5.) cd to your adb tools directory. For most the command would look like this cd C:\android-sdk-windows\tools
6.) adb devices (This should list a device as a long number under list of devices. If it doesnt something is wrong.)
7.) adb push c:\droidroot\rageagainstthecage-arm5.bin /data/local/tmp
8.) adb shell
9.) cd /data/local/tmp
10.) chmod 0755 rageagainstthecage-arm5.bin
11.) ./rageagainstthecage-arm5.bin (This can take a minutes just let it go until you are returned to your adb tools folder)
12.) adb devices
13.) adb shell (you should now see a # instead of a $)
14.) mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system
15.) exit
16.) adb push c:\droidroot\Superuser.apk /system/app
17.) adb push c:\droidroot\su /system/bin
18.) adb push c:\droidroot\busybox /system/bin
19.) adb shell
20.) chmod 4755 /system/bin/su
21.) chmod 4755 /system/bin/busybox
22.) mv /system/recovery-from-boot.p /system/recovery-from-boot.p.disabled Note if you are on a build earlier than froyo this step will fail. That is fine and expected.
23.) mount -o ro,remount -t yaffs2 /dev/block/mtdblock4 /system
24.) rm /data/local/tmp/rageagainstthecage-arm5.bin
25.) exit

Categories

Resources