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

Binoy Babu picture Binoy Babu · Mar 29, 2012 · Viewed 9.6k times · Source

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?

Answer

Paul Lammertsma picture Paul Lammertsma · Apr 11, 2012

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.