How-to: Add ARM emulation (Binary Translator aka "libhoudini") on Android-x86 4.0 ICS builds Step by Step.

How-to: Add ARM emulation (Binary Translator aka “libhoudini”) on Android-x86 4.0 ICS builds Step by Step.

Okey the Buildroid guy “Dan” did it again, a week back he was released an special VirtualBox x86 image with the ARM emulator in this article “Running ARM apps” there you can read all that you need to know about how ARM Emulator/Binary Translator aka libhoudini do the job, and how to Dan did the impresive hack.

Now, Dan back with a surprise to all of us that are envolved in the android-x86 project directly or not, he was released some libs and some patches for our builds, so we can now apply that in our build enviroments to get our builds with the ARM emulator RUNNING..!, so he did a explanation that you can find here: Using ARM emulation on other Android x86 distributions

In any case, I’ll go try to do here an step by step guide for the proccess… so there we go-.

You can find android-x86 sources and a how-to get the sources from here : http://www.android-x86.org/getsourcecode

And to build your Android-x86 with libhoudini support just.. :

UPDATE WARNING (05-july-2012)!!!  THE FIRST STEP WAS TO APPLY A PATCH IN THE SOURCE CODE, WE DONT NEED APPLY THIS PATCH ANYMORE (I WAS DELETED THIS PART OF THE TUTORIAL) , NOW THE PATCH IS INCLUDED IN THE ANDROID-X86 SOURCE CODE, SO WE JUST NEED TO DO REPO SYNC IF OUR CODE IS OLD AND FOLLOW THE REST OF THE GUIDE FROM HERE.

  • Put the libhoudini.so to /android-x86/icecream/out/target/product/your_device/system/lib
  • Put the libdvm_houdini.so to /android-x86/icecream/out/target/product/your_device/system/lib
  • Download the file arm libs and extract that to /android-x86/icecream/out/target/product/your_device/system/lib/arm

UPDATE (July 11-2012) Chih Wei Huang did some changes in the source, Now we DONT need to build the libnativehelper_GBfake.so never more, and NOW we DONT need to add the “LD_PRELOAD /system/lib/libnativehelper_GBfake.so” to our init.rc never more.

UPDATE (July 16-2012) The last step was to add the “ro.product.cpu.abi2=armeabi”  line to your system.prop (this put Houdini in ARMv5 mode), but you DONT need to apply that step anymore, because this is included by default in all Android-x86 source code and builds.

NEW UPDATE ( July-14-2012) : Now the 3.0.36 kernel WORKS well, you can compilate and run without problems, so we DONT need to use kernel 3.0.8 anymore.

Build your iso now, and enjoy :D

Regards.

Share