移植android系统到mini2440

本文介绍了作者如何将Android系统移植到Mini2440平台,采用的方法是先构建一个可用的Android内核,再在此基础上添加Mini2440的驱动补丁,减少了移植过程中的错误。通过Tekkaman Ninja提供的Linux内核补丁,成功编译出内核,并在配置内核和文件系统后,实现了通过NFS启动基本的Android系统。

      在上周五,我将最新android系统的Linux内核2.6.29下载下来,针对我的G1手机进行了打补丁(nand flash、多点触摸支持),并编译出了G1的Linux内核,使用Fastboot引导入G1,实践证明此内核可以使用。之后便开始了向mini2440移植的工作。


我的移植和之前的网上已有的人的移植方法有不同,之前的移植者都是向已经移植好S3C2440的内核里打Android补丁,这样补丁量大,出错的机会也大。而我经过考虑,决定使用反方法,先实现可以使用的Android内核,然后在这之上打上mini2440的补丁。这样避免了打大量的补丁产生大量的错误。而这个2440的补丁要实现LCD 、触摸屏和网卡等基本驱动。


我从Tekkaman Ninja处得到了他最新的Linux-2.6.29.4的补丁(Tekkaman Ninja会在近期发布此补丁)。在去除了内核中的fusion模块(用于DFB)和Yaffs模块(G1内核已经有了)后把这个补丁打在了我的android的Linux内核2.6.29上,很快,也很顺利(除了Makefile有问题之外,但很好解决,就是改一下交叉编译器)。


然后就是配置内核,这很关键,我一开始大部分按照G1去配置(除了system type和一些驱动的配置),可是用在启动到nfs文件系统的时候就挂了。后来我根据网上的文章,只是在原来mini2440的配置上稍作修改,添加必要的android系统特有的驱动,编译好后就可以引导最简单的文件系统,这说明这内核基本OK了。


要证明这个内核的可用性,只能使用android的文件系统来测试了。在此之前已经有高人搞了一个可以在ARMV4上使用的Android文件系统(armv4.tar.gz)。其实这个文件系统是从openmoko 的 freerunner 的文件系统中简化来的。现在暂时用拿来主义先测试一下内核,以后在自己做一个。


在下载文件系统armv4.tar.gz之后,根据网上的说明:


3.

评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值