转自:http://momodalo.blogspot.com/2008/02/android-porting-experience.html
Recently, I have spent 3 working days on porting Android to our PXA270 HW platform
Brief Condition:
HW:
PXA270 with PCI and IDE support
SW:
Linux 2.6.21 source code with our own driver (for PCI & IDE)
Linux 2.6.23 source code with android patch
Method:
1. porting customized driver from 2.6.21 to 2.6.23
2. porting android patch to 2.6.21
First of all, I must to explain what Android Kernel require.
1. EABI support
config:
CONFIG_AEABI=y
2. Thumb support
config:
CONFIG_ARM_THUMB=y
3. OpenBinder (from PalmSource)
file:
drivers/binder, include/linux/binder*
config: CONFIG_BINDER
4. Android Special Device
file:
drivers/android, include/linux/android*
config:
CONFIG_ANDROID_POWER
CONFIG_ANDROID_POWER_STAT
CONFIG_ANDROID_LOGGER
It looks like porting android patch into 2.6.21 is more simple. Therefore, I decide to use the second method. After porting drivers/android/*, EABI and Thumb. I can see a red-dot on the screen. Then I start to porting the openbinder to get into the Android desktop.
There are a lot of web pages talking about porting the Android binary into ARM platform. The steps is copy system/, data/, etc/, /init. And Writing a startup script to start Android. You can find these information in http://benno.id.au/blog/, http://nemustech.blogspot.com/2007/12/android-porting-to-real-target-hw.html. After I do all of this, the android still block in
clock_gettime(CLOCK_MONOTONIC, {127, 101400000}) = 0clock_gettime(CLOCK_MONOTONIC, {127, 103070000}) = 0clock_gettime(CLOCK_MONOTONIC, {127, 104026000}) = 0futex(0x134ac, FUTEX_WAIT, -1, {4, 997000000}) = 0Finally, I found that my rootfs is jffs2, but jffs2 can't support mmap and /init will be failed. I put everything into the IDE hard disk and format as ext2 and BINGO!!!!!Here is a very useful reference discuss.http://groups.google.com/group/android-internals/browse_thread/thread/93570c41bce07f16
分享到:
相关推荐
### 嵌入式Android移植、扩展与定制 #### 知识点概览 1. **嵌入式Android概述** 2. **移植Android系统至不同硬件平台** 3. **定制化Android系统的方法** 4. **扩展Android功能的技术** 5. **Android构建系统的深入...
标题和描述中提到的《Embedded Android Porting, Extending, and Customizing》是一本与嵌入式Android移植、扩展和定制相关的专业书籍。这本书被视为创建基于Android系统的系统开发者的重要参考资源。由于本书不是由...
总的来说,"Android-Porting-on-Embedded-Platform"涵盖了Android在嵌入式平台移植的全貌,包括硬件驱动开发、内核移植、系统编译、UI适配以及测试调试等多个层面的知识。无论是对硬件工程师还是软件开发者,深入...
综上所述,《嵌入式Android - Porting, Extending and Customizing》这本书不仅深入浅出地讲解了如何将Android系统移植到各种嵌入式设备上,还提供了大量的实践案例和实用技巧,对于希望在这个领域有所作为的专业...
### Android Porting Guide详解 #### 一、概览 本文档是关于如何为特定硬件平台进行Android系统移植的指南。Android作为一个开源项目,其灵活性允许开发者根据不同的硬件需求进行定制和优化。本指南由Rockie Cheng...
"Android Porting On Real Target" Android 作为一个移动设备软件栈,包括操作系统、中间件和关键应用程序。本文档将详细介绍 Android 架构和将其移植到真实硬件目标的过程。 Android 架构 Android 的核心组件...
to an Android platform from software perspective. It first explains how install the required kernel driver, then it describes step by step how to adapt the Android Open Source Project sources from the...
《Android移植与研究实行》是针对Android操作系统在台湾地区的移植和优化进行深入探讨的专业资料。这份压缩包包含的PDF文档,很可能是详细讲解了如何将Android系统适应台湾的硬件环境、语言需求以及本地化服务的过程...
### Android移植指南在嵌入式平台上的关键技术点 #### 一、引言 自谷歌推出开源的Android平台以来,移动电话领域受到了极大的关注,并且在原始设备制造商(OEM)社区中也引发了强烈的兴趣,他们希望将Android定制...
标题与描述概述的知识点主要涉及Android系统中Wi-Fi驱动的移植过程,这在移动设备开发领域是一项关键技能,尤其对于那些希望优化或自定义设备Wi-Fi功能的开发者来说至关重要。以下是对这一知识点的深入解析: ### ...
Android_Porting移植与研究实行.zip Android_Porting移植与研究实行.zip Android_Porting移植与研究实行.zip Android_Porting移植与研究实行.zip Android_Porting移植与研究实行.zip Android_Porting移植与研究实行....
### Android WiFi移植指南 本文档将引导您逐步了解如何在定制版Android系统中添加新的WiFi驱动并确保WiFi功能正常运行。此文档最初是为Android 2.1版本编写的,但其中的概念和技术同样适用于之前的Android版本,...
### Android移植指南 #### 了解您的硬件 在开始移植嵌入式Linux和Android到新硬件之前,最重要的是深入了解目标硬件的细节。这包括但不限于系统芯片(SoC)、内存配置、外设连接方式以及电源管理等关键组件。 1. ...
Android内核移植(Android Kernel Porting)是Android系统开发中的一个重要环节,涉及到将Linux内核定制为适应Android设备硬件需求的过程。在这个过程中,开发者需要理解Linux内核与Android系统的交互,以及如何根据...
### Android移植到A1200的指南 随着Android系统的普及与开源社区的不断发展,越来越多的技术爱好者和技术团队开始尝试将Android系统移植到不同的硬件平台上。本文档基于“A1200.pdf”文件提供的信息,详细介绍了...
Android_Porting台湾 移植与研究实行.zip