Some hacky hacks to get Froyo (Android 2.2) to work (alpha quality) on an Eken M001 tablet
C Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
overlay
overlay_m003/system
patches
rt3070_ralink_src
script
touchpad_init
README
build_all_sd_boot_images.sh
build_sd_boot.sh
build_sd_boot_images.sh

README

These are some rough scripts I found useful bringing up a hacky Froyo
(Android 2.2) on my M001:

* build_sd_boot.sh - script to build an SD card which is mounted.
* build_sd_boot_image.sh - script to use an SD card to build images for distribution
* overlay/ - files to overlay over the default AOSP source tree.
* script/ - script directory for FAT partition
* patches/ - patches to be applied manually to the AOSP tree, to get things to work (read patches/README).

You'll need linux w/ mkimage installed in order to use build_sd_boot.sh.

In this form, these scripts should allow you to take an AOSP source
tree and make a boot-from-SD-card Froyo install. I think it would be a
good base script for making an Eken installer SD card image, as well.

Please do whatever you want with it, but -please- share anything you
find. The only way to move forward is by working together.

BTW, I know that having this pile of scripts is a horrible horrible
hack, and most of it could be integrated directly into the Android
tree. When I first did this, I didn't know if it would work at all, so
doing it this way made it reproducible without requiring major effort
on my part. If this becomes a real effort then we should -undoubtedly-
move into a proper custom Android tree and use their build process
for everything.

Enjoy,

- Angus (aka projectgus)

NB: overlay/data/busybox/busybox is "benno's" precompiled Android busybox from his blog, details & source available at that link:
http://benno.id.au/blog/2007/11/14/android-busybox


************
KNOWN ISSUES
************

* No video acceleration (not even double-buffering)

* No touchscreen calibration 
  (comes with my M001 calibration, copy /data/wmt/touchcal to /system/etc/touchcal to bring yours over.)

* No suspend/resume (same as old firmware.)

* No music player (as you're booting from the SD card, Android doesn't detect one for media.)

* Wifi is suspect (please test.)

* Some apps may not work properly due to the graphics mode being set at 32-bit color not 16-bit.

* Unstable, unreliable, hacky and horribly slow. ;)

* Uses horribly hack-mixup kernel, kernel is built from "my" copy of VIA's tree with
  make -j8 ubin modules ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- KERNELRELEASE=2.6.29-00236-g4f8dbbb-dirty
   ... then modules are partially taken from existing Android distros, as some are different/missing. Eww.


****
TODO
****

(This is a massive list atm, this is a very rough hack!)

* Change from using 'generic' board config to a specific wm8505 config
* Use BUILD_ flags to disable unnecessary Froyo features
* Test Wifi properly
* Test audio (will probably not work.)
* Test battery level tracking.
* Test SetCPU (should work.)
* Port or recreate the touchscreen calibration app.
* Make a proper installer package instead of boot-from-SD.
* Disable 16Mb VPP "memory block" allocation (I think does nothing atm.)
* Screen rotation support.
* Double-buffering support (default method doesn't work, but may be possible.)
* Graphics acceleration support (???)
* Move from binary-only components (wifi module, etc.) to OSS ones.

Kernel-side:
* Enable double-buffering
* Apply compcache patches for "ramzswap"
* Suspend/Resume support
* Work out how to support RGB565 16bpp instead of forcing 32bpp.