I have a relatively old phone that I would like to make some use of again. It's the GT-I9000, and it's currently stuck in a bootloop.
I'd like to install CyanogenMod on it. I've already flashed it with the CWM, however, I'm experiencing problems when trying to finally put the actual mod on the internal sd card.
First off, when I execute: adb push cm.zip /sdcard
, ADB complains that /sdcard
is a directory... Of course it is!
So, I've tried to be a bit more specific... adb push cm.zip /sdcard/Videos
- I didn't expect any significant change, but there was. It now complained about the permission being denied.
I overcame this on Linux by becoming root, and executed the command again...
Then, it complained about not having enough space...
I used the CWM recovery to navigate internal storage, and noticed that it really was crammed with all my data.
In order to get more space, I tried factory resetting, data wiping, and partitioning. The first two finished successfully, but didn't delete any of my files, and CWM recovery couldn't partition the thing.
After that, I noticed that ADB can provide a shell connection, so I tried adb shell
.
On both Windows and Linux, this is the error:
link_image[1963]: 2950 could not load needed library 'libm.so' for '/system/bin/sh' (reserve_mem_region[832]: OOPS: 2950 prelinked library 'libm.so' mapped at 0x40008000, not at 0xafc00000)CANNOT LINK EXECUTABLE
So I suspect it has something to do with my Android phone, not my computers.
And the best thing is: my phone cannot read external cards for some reason. What a great combination!
How can I wipe internal storage without a shell connection?
Answer
First, if your source is a file, adb push
requires the target to be a file as well. Hence, the correct syntax would be:
adb push cm.zip /sdcard/cm.zip
Second, a factory-reset usually doesn't touch the SDCard (internal or external), unless there's an option offered to do so and you checked that.
As for the link error: That looks like something on the device is screwed up. You're probably in recovery mode when trying this, and (just a guess, but a good one) the partition holding the required library file was not mounted.
I don't know what options are available for your device specifically, but there are generally several ways to flash a device, as e.g.:
update.zip
via recovery (which is what you're just trying)- side-loading via
adb sideload
- using fastboot
- using a device (or manufacturer) specific flash tool, in your case kies, odin, or heimdall
I'd suggest the last mentioned method: you could e.g. first flash the latest official ROM via Odin/Heimdall, so it is able to boot correctly again. After that, you would have a working device again, and could cleanup your SDCard to use the update.zip
method for flashing your CM image.
Another way to free some space: If you know some of the "big filenames", you could try using adb push
to overwrite them with "small ones". Say, if there's a video file with 500 MB size in /sdcard/Videos/bigmovie.mp4
, you could take an empty text file empty.txt
( 0 Bytes ) and push it over the video:
adb push empty.txt /sdcard/Videos/bigmovie.mp4
This should set enough space free to finally push your cm.zip
to the card.
No comments:
Post a Comment