WEB开发网
开发学院手机开发Android 开发 移植android 到定制开发板 阅读

移植android 到定制开发板

 2010-05-28 15:32:00 来源:WEB开发网   
核心提示:2.1.2软件除了上述kernel和tools chain,为了方便调试,移植android 到定制开发板(2),最好有静态编译的Busybox和Strace等工具,也可以从Benno的blog上下载到他编译好的版本,JFFS2不支持这种操作,所以要使用别的文件系统,2.2 基本流程下载Android内核代码下载官方2

2.1.2软件

除了上述kernel和tools chain,为了方便调试,最好有静态编译的Busybox和Strace等工具。也可以从Benno的blog上下载到他编译好的版本。

2.2 基本流程

下载Android内核代码

下载官方2.6.23内核

制作Android和2.6.23内核的diff文件

去除diff文件中和Goldfish和QEMU相关的代码,如果你的系统已经支持YAFFS2,还可以去除这部分代码

将diff文件Patch到你自己的内核上,如果需要,修改内核相关文件代码使得patch能够顺利完成。(这部分大概是主要的工作量,如果你的内核版本差得比较远的话 8 )

如果必要,修改你的内核代码中Framebuffer的驱动,使其Virtual_yres 等于两倍的Yres,并实际分配两倍分辨率大小的framebuffer内存。

配置内核,确保下列内容得到配置:

CONFIG_ARM_THUMB=y

CONFIG_AEABI=y

CONFIG_BINDER=y

CONFIG_ANDROID_LOG=y

CONFIG_ANDROID_POWER=y

CONFIG_ANDROID_POWER_STAT=y

从SDK中获取Android的文件系统,基本上你只需要System etc sbin init这几个目录/文件就可以了,其它自建,其中data目录是有内容的,但是这个目录的内容可以由Android在启动时动态的创建出来。(可以使用 adb工具在EMULATOR先tar包装,再拷贝出来。M3的release也可以从benno那里直接拿到他抓出来的文件系统)

确保你的dev目录下有足够系统启动的设备节点,如console等,其它的节点Android在启动过程中会自动创建出来。

使用NFSROOT或者chroot等手段启动Android的文件系统。

启动流程的大致外在表现分阶段依次是:

LCD上出现Android几个字符

LCD短时间的Blank

LCD上出现一个左右滚动的红色滚动条 (如果有问题,基本上就死在这一步了 8 )

进入主界面

目前为止我的状态是:键盘可以工作,触摸屏有响应但是未校准,位置不对,启动最后阶段以及之后启动新的程序,出现Vmalloc分配内存Failed问题,导致如Brower等应用程序不能完全启动。其它网络等东东还没开始看呢 8 )

3 一些TIPS

Android会对文件使用memory mapped的方式进行操作,JFFS2不支持这种操作,所以要使用别的文件系统。当然也有绕过去的办法,自己搜一下吧 8 )

Tags:移植 android 定制开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接