Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rooting ICS emulator; pushing su fails with "Out of memory"

I'm trying to root my ICS AVD, and have tried this:

adb shell mount -o rw,remount -t yaffs2 /dev/block/mtdblock03 /system  
adb push su /system/xbin/su  
adb shell chmod 06755 /system  
adb shell chmod 06755 /system/xbin/su

It fails with the following error:

failed to copy 'su' to '/system/xbin/su': Out of memory

How can I fix this?

like image 227
Binoy Babu Avatar asked Mar 29 '12 08:03

Binoy Babu


2 Answers

This blog explains the problem:

To avoid the "Out of memory" error when trying to copy the su-executable to /system/bin, you need to start the emulator manually with a large –partion-size argument:

$ emulator -avd MYNAME -partition-size 300

Then:

$ adb remount
$ adb push su /system/bin/su
$ adb shell chmod 06755 /system/bin/su

Note that MYNAME above is the name of the emulator. Also note that if you are using snapshots, you will need to start the emulator without it due to the change in hardware configuration. Append -no-snapshot-load to do so.

like image 124
Paul Lammertsma Avatar answered Nov 16 '22 19:11

Paul Lammertsma


With this you'll have 512MB of size on /system

ICS is the name I gave to my android emulator:

android-sdk-linux/tools$ emulator -avd ICS -partition-size 512

like image 8
Rafa Avatar answered Nov 16 '22 17:11

Rafa