the guys from http://euedge.com managed to run Android on a Sharp Zarurus SL-C760, which is a Linux base Mini-Computer with the following stats:
CPU: Intel® XScale™ (PXA255, 400 MHz)
Display: 640 x 480 dots, 3.7", 65,536-color
Speicher: 128 MB flash memory
64 MB SDRAM
The work is not yet finished, as touchscreen-input is not yet working and network-connections are not yet posible, but probably will be soon!
Read their full article.
Here comes the outline of the process:
- Code: Select all
1.Build or download a console image for the SL-C760 from the Angstrom Distribution.
2.Build a patched kernel for Android. I used the android.diff from Benno to patch the linux-rp-2.6.23 kernel of the Angstrom distribution. I had to do some minor tweaks in the patch to apply cleanly: I removed some Goldfish device specific parts. In the kernel configuration enable all Android specific options except the USB gadget and the QEMU / debug options.
3.Flash the console image and the patched kernel onto the device.
4.Extract the contents of the /data and the /system drives from the emulator using Busybox tar. Benno provides a busybox compiled for the emulator here. Make sure you get the device files as well.
5.Extract the ramdisk image of the emulator using gzip and cpio.
6.Build a directory tree of the Andoid software which mimics the emulator layout. Make sure to preserve the file ownerships and permissions from the tar archives.
7.Share this directory over NFS
8.Connect your Zaurus to your host PC either with usbnet or wlan.
9.Mount the NFS share on your Zaurus to /android
10.Copy the /dev/binder to /android/dev/binder. This was necessary because in the emulator the binder device had major number 252 while in the Zaurus it had 253. Make sure that the binder device has the mode 666.
11.Create a small script on your Zaurus as /android/a.sh with the following contents:
mount -t proc proc /proc
mount -t sysfs sysfs /sys
/system/bin/app_process -Xzygote /system/bin --zygote &
/system/bin/dbus-daemon --system &
12.Create a small script on your Zaurus as /bin/a.sh with the following contents:
chroot /android /a.sh
13.Execute /bin/a.sh as root on your Zaurus and hope for the best