View source for Android on Freerunner
From Openmoko
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Templates used on this page:
Return to Android on Freerunner.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Templates used on this page:
Return to Android on Freerunner.
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
|
This page is dedicated to the installation of Android on the Neo 1973 and Neo FreeRunner handsets.
You can find general informations (porting/development and day to day usage) about Android and Neo phones here : Android
The Android kernel image can be more than 2MB in size. The UBoot environment that comes with your FreeRunner is only able to boot a kernel less than 2MB in size. To use a kernel larger than 2MB you need to:
The SD Card in your FreeRunner needs to be configured with two 2 primary partitions before Android will boot. First a VFAT/MSDOS (16 or 32) which acts as the '/sdcard' storage area (for pictures, movies, music, etc). Second an ext3 primary partition which Android uses as '/data' with in which it stores settings, caches, etc.
I use a 2GB card which I have split in half. fdisk shows me:
/dev/mmcblk0p1 1 2454 996310 6 FAT16
/dev/mmcblk0p2 2455 4908 996324 83 Linux
formatted as
sudo mkfs.vfat /dev/mmcblk0p1
sudo mkfs.ext3 /dev/mmcblk0p2
There is no need to populate the ext3 partition at all. The VFAT partition can be populated with media content if you so desire.
There are currently a few prebuild images:
Michael Trimarchi's images with latest fixes Sean McNeil images
I have placed an older 2.6.26 kernel with Android support at:
uImage-android
I have put up a jffs2 image that replaces rootfs on the Freerunner at:
androidfs.jffs2
As noted above, this installation requires you to wipe out the existing kernel and rootfs in NAND on your Freerunner.
With your SDCARD all set, you are ready to flash the kernel and rootfs:
sudo {path_to}/dfu-util -d 0x1d50:0x5119 -a kernel -D uImage-android
sudo {path_to}/dfu-util -d 0x1d50:0x5119 -a rootfs -D androidfs.jffs2
There are currently a few prebuild images: Radek Polak's SD card images (install on ext3, first partition on SD must be FAT16)
You can also boot from the SD Card using the pre built images like so :-
sudo ./Mntjffs.sh freerunner-v5.jffs2 image/
Some notes about booting android from sdcard :
--- filesystem/root/init.rc 2008-12-15 17:51:14.000000000 +0100 +++ phyce.init.rc 2008-12-19 15:56:25.000000000 +0100 @@ -24,7 +24,7 @@ mkdir /sqlite_stmt_journals 01777 root root mount tmpfs tmpfs /sqlite_stmt_journals size=4m - mount rootfs rootfs / ro remount + mount rootfs rootfs / rw remount write /proc/sys/kernel/panic_on_oops 1 write /proc/sys/kernel/hung_task_timeout_secs 0 @@ -38,14 +38,14 @@ # mount yaffs2 mtd@system /system ro remount # We chown/chmod /data again so because mount is run as root + defaults - mount ext3 /dev/block/mmcblk0p2 /data nosuid nodev - chown system system /data - chmod 0771 /data +# mount ext3 /dev/block/mmcblk0p2 /data nosuid nodev +# chown system system /data +# chmod 0771 /data # Same reason as /data above - mount yaffs2 mtd@cache /cache nosuid nodev - chown system cache /cache - chmod 0770 /cache +# mount yaffs2 mtd@cache /cache nosuid nodev +# chown system cache /cache +# chmod 0770 /cache
Most of the hardware on Freerunner seems to work on latest Android images, but not always perfectly.
If you want to see details of what is already usable, please have a look at: Android_usage
To assist in debugging and to gain shell access to the phone with Android, you can use the instructions found here: Android debug bridge