ITKeyword,专注技术干货聚合推荐

注册 | 登录

Android移植之文件系统总结

linweig 分享于 2009-12-28

推荐:Android系统移植 之 touch

转:http://hi.baidu.com/xx%B9%C2%D3%B0%C6%AE%C1%E3xx/blog/item/d8257c44941db12bcefca3c1.html    我们现在就开始移植工作吧。首先把你的tslibonandroid文件

2018阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)
领取地址https://promotion.aliyun.com/ntms/yunparter/invite.html

Opendroid原创,转载请注明

推荐:Linux3.4.0 Yaffs2文件系统移植-支持Android4.0

本文章主要针对FS100,S5PC100的Android4.0.4 Yaffs2文件系统移植过程,对于类似Android系统或类似Linux内核(版本高于2.6.35)有参考意义。 本文分两部分: Nan

最近搞Android移植,文件系统自然是重头戏,移植的绝大多数问题,也都出在这里。这里总结一下一些经验技巧等。
1. 文件系统的结构
   制作Android文件系统,仅需要编译出的root和system两个文件夹即可,不需要data目录,data会在启动过程中自行创建并写入文件。无论选择什么文件系统,这都是可行的。
2. 文件系统的选择
1)使用nfs的话,最简单,保证网卡驱动和kernel启动参数,另外配置好host上的nfs目录及权限即可。建议有网卡,或者能作usb over ethernet的都先作下nfs启动,方便一些。
2)真机文件系统。用在nand上的文件系统,自然是jffs2和yaffs。但是Android的平台依赖于文件系统的mmap操作,jffs2并不支持这个操作,故yaffs2更适合。yaffs的麻烦之处在于依赖于nand flash数据块的备用空间。所以烧写等要麻烦些。 测试的话可以通过支持yaffs烧写的bootloader写入,或者用nfs作引。
3)技巧,其实android需要mmap操作的目录,仅是data目录,所以如果没有烧写yaffs的条件,可以尝试用jffs2作root,以yaffs mount另外一个nand节点为根下的data目录的作法。这个方法能解决yaffs的麻烦。mount的设置,在init.rc里面可以修改。
4)很多老一点板子,比如2440,都只带64m nand,这个空间是无法支持android的,android大概需要80m左右的空间,kernel+root fs+data(不考虑有人裁减的情况),我们可以选择sd卡来作data分区,mount的方式跟3一样,确保sd/mmc卡你的kernel已经支持即可。
5)谈到sd,不能不谈谈从sd卡直接启动这一方式,sd卡也是很方便一个载体,因为可以在host上直接通过fdisk,mkfs,cp等命令就可作好。可以选用ext2/ext3等作文件系统(支持mmap),不能用vfat。
我测试过如下方式的启动:
nfs, yaffs2, jffs2(root)+yaffs(data), jffs2(root)+sd ext2(data), sd ext2等 没有括号没有单独mount data目录。
3. 文件系统的调试
做了这么多,调试方面自然有些经验,一些容易出现的问题是:
1)nfs权限问题,nfs通信问题(如mtu, blocksize)
2)启动参数配置问题, ip, serverip, init节点,root fs type等,都有可能是问题所在
3)init.rc中mount命令的使用,有一条remount成ro的误用
4)可用空间太少,多出现在data目录的操作
5)kernel的支持是否开启(初级)
6)bootloader nand写入出错(需仔细查验)
等等,想起来再补充。

推荐:将directFB移植到Android系统上

确切的说是将DirectFB-examples-1.0.0中的一个例子在Android系统中跑起来 思路很简单,就是将所需的库拷到相应的目录下就OK 我用的是live usb 在copy lib 的时候

Opendroid原创,转载请注明 最近搞Android移植,文件系统自然是重头戏,移植的绝大多数问题,也都出在这里。这里总结一下一些经验技巧等。 1. 文件系统的结构    制作Android文件系统,仅需要编

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。