Question

I am working on a system on which currently linux kernel and microwindows windowing system is running. Code of current linux system drivers is available to me. I want to port android on it, just as a hobby project.

can you please tell me what all understanding of linux-kernel is required to port it?

Please give me references (Books, Tutorials) to build-up understandings.

Thanks, Sunny.

P.S. I have basic understanding of linux.

Configuration of device is

450 Mhz ARM9,
64 MB RAM,
256 MB NAND
480x272 resolution.
Was it helpful?

Solution

To start porting Android, a basic understanding of the changes to the linux kernels is required. Also, you'll need to understand which drivers besides the Linux are required. linuxfordevices describes what was changed to the Linux kernel for the sake of Android. They also provide handy links like a diff of the changes they made....

On Android architecture, I found the youtube presentation Android Architecture]1 helpful.

I expect some issues in the display resolution. Android applications expect a number of standard resolutions. As a first step, I suggest to limit display to the next smaller size and then improve on this once it is up and running.

Since I've looked into Adroid for use in e-readers, I'm very interested in the porting myself. For this reason, I have registered for a (web based) training on android hardware (porting). I have looked for books etc. on the subject, but the books I found were much more on using Android and writing applications.

OTHER TIPS

Since you already have Linux up and running on your board you most likely won't need to have a deep understanding of the kernel. It will need to be modified, however, to include the following additional Android specific features. This may be as easy as applying some patches but it could be more involved.

  • Low Memory Killer
  • Android Logger
  • Android Shared Memory Subsystem (Ashmem)
  • Android Power Management (Wakelocks)
  • Binder IPC

In user space, Android uses its own display software called Surface Manager so you won't be using the Nano-X Window System (formerly known as Microwindows).

For an overview of what will likely be involved in a port, I would give the Android Porting Guide a read.

Websites on porting Android to other ARM based devices that may include helpful tips:

  1. Beagleboard (Cortex)
  2. Zoom OMAP (Cortex)
  3. Nokia Internet Tablet (ARM9E)
  4. Neo 1973 (ARM9TDMI)
  5. Intel Bulverde Evaluation Board (XScale)
  6. Sharp Zaurus SL-C760 (XScale)

Online groups that may be able to help:

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top