主题 : 号召移植android4.1.2给tiny210(TODO整理) 复制链接 | 浏览器收藏 | 打印
君子终日乾乾,夕惕若,厉,无咎
级别: 侠客
UID: 8588
精华: 0
发帖: 61
金钱: 310 两
威望: 65 点
贡献值: 0 点
综合积分: 122 分
注册时间: 2009-08-29
最后登录: 2018-02-08
楼主  发表于: 2012-11-09 23:49

 号召移植android4.1.2给tiny210(TODO整理)

1.google的nexus s,也就是2儿子已经有官方4.1.2的支持了,aosp下面也有crespo的device profile,cyanogenmod也有crespo的cm10支持
2.s5pv210和s5pv110好像是同系列cpu,kernel支持都是相同的也就是https://en.wikipedia.org/wiki/Samsung_Exynos#Exynos_3110
3.google官方也有放出nexus s需要的binary,https://developers.google.com/android/nexus/drivers
4.之前有高手已经移植了cm7
5.aosp的crespo device profile,https://android.googlesource.com/device/samsung/crespo

我们再参照友善的官方源码应该可以移植出4.1.2来,接下来就是根据官方的device profile再结合上面的资源制作出tiny210的device profile,然后无尽的调试。

既然板子的kernel代码是开放的,就算是hal代码不开放,相信我们也可以根据cmmod和aosp的hal适配成功。友善不愿意开放代码,我们就自己来吧。

TODOs:
最开始要以最简单的方式来移植,只求能正常boot起来,基本特性可以正常工作。以后再逐渐完善。
文件系统和镜像工具,考虑使用linaro项目的相关工具,尽量利用已有的项目(多谢http://www.aiothome.net/u.php?action-show-uid-27.html)。

0.用github托管代码,主要的改动都集中到tiny210的device profile里面
1.选择cm10或者aosp 4.1.2开始?(cm10)
2.从crespo的device profile开始
3.从友善4.0.3和crespo里面取需要的binary库(pvr和egl以及hal库)
4.友善的内核为了多个linux都不改内核代码,没有完全按照android的要求去做,比如framebuffer设备节点就不在/dev/graphics/fb0,这个android代码好像是hardcode吧
5.那个linuxrc也是为了兼容多个linux的启动参数,唉,这个就不要了吧。。。
6.没有sdflasher对应在linux下如何把各个image放到sdcard上

进展:
0.开工,制作device profile,编译cm代码(暂停状态,出差,工作可能异动
1.使用uboot引导友善提供的内核源码,启动官方镜像,找到支持fastboot和dnw的uboot代码 http://www.aiothome.net/read.php?tid-25944.html,希望能一起测试完善,这里的校验什么的我还没有测试
2.友善的内核需要小小修改才能启动,希望能顺便把有关问题解决了并上传到github
3.uboot 启动linux内核遇到问题(串口始终没有任何信息),查阅了论坛相关的帖子,更换几个可用的bootloader都无果,希望确认问题所在(在kasim的帮助下已经解决)
4.uboot(带fastboot的改版和kasim的2012版都可以正常引导内核镜像了),linux3.0内核和最新光盘的android两个版本的文件系统都不能正常启动,正在查错
[ 此帖被vmlinz在2013-01-06 16:53重新编辑 ]
君子终日乾乾,夕惕若,厉,无咎
级别: 侠客
UID: 80305
精华: 0
发帖: 91
金钱: 460 两
威望: 92 点
贡献值: 0 点
综合积分: 182 分
注册时间: 2012-10-22
最后登录: 2017-09-13
1楼  发表于: 2012-11-10 09:25
顶一个
级别: 骑士
UID: 29604
精华: 9
发帖: 171
金钱: 1830 两
威望: 366 点
贡献值: 9 点
综合积分: 522 分
注册时间: 2010-10-01
最后登录: 2016-04-13
2楼  发表于: 2012-11-10 10:10
这个可以有。4.2系统都出来了,真是跟不上google的节奏了。
我看就是cm也只能在google的稳定版上开发,不然得累死。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2012-11-10 11:18

 回 楼主(vmlinz) 的帖子

支持!Nexus S用的其实就是S5PCV210(S5PV210和S5PC110其实是一样的)。
如果楼主能做一份详细的移植task list, 我相信论坛里还是有几个高手可以跟你一起合作的。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
君子终日乾乾,夕惕若,厉,无咎
级别: 侠客
UID: 8588
精华: 0
发帖: 61
金钱: 310 两
威望: 65 点
贡献值: 0 点
综合积分: 122 分
注册时间: 2009-08-29
最后登录: 2018-02-08
4楼  发表于: 2012-11-10 14:38
正在编译高手移植的cm7,看看他是怎么弄的,整理好思路就开始弄
君子终日乾乾,夕惕若,厉,无咎
级别: 新手上路
UID: 76018
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2012-08-17
最后登录: 2016-04-20
5楼  发表于: 2012-11-10 15:24
好东西!!!1
级别: 骑士
UID: 61140
精华: 1
发帖: 213
金钱: 1125 两
威望: 225 点
贡献值: 1 点
综合积分: 446 分
注册时间: 2011-12-23
最后登录: 2016-11-20
6楼  发表于: 2012-11-10 17:01
算我一个,我也开始着手这方面的移植,只是一个人时间精力都不够
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
贡献值: 3 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
7楼  发表于: 2012-11-10 17:31
顶!!表示感兴趣!!这里给个patch,之前一位大哥发给我的,也就是那个samsung 安卓4.0.3官方patch,不知这里还有没有用?

另外我觉得,我们有必要大幅修改甚至重新移植kernel,因为:

1、init方式太神奇,而且有些模块不开源,影响整体开发,而且不符合GPL协议……

2、不支持CPU调频

3、不支持zRam和其他一些细微特性
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
级别: 风云使者
UID: 36096
精华: 3
发帖: 2513
金钱: 14075 两
威望: 2815 点
贡献值: 3 点
综合积分: 5086 分
注册时间: 2011-01-11
最后登录: 2015-11-15
8楼  发表于: 2012-11-10 17:36
另外,这个:https://sourceforge.net/projects/hustudio/files/patches/samsung_android_platform_ics.patch/download

三棒子4.0.3官方patch,感谢mxl_mxl哥!(如侵权请提醒删除,这里纯属共享),如果patch直接编译后会出问题,这是mxl哥原帖:http://aiothome.net/read.php?tid=24133
极度缺钱,求捐赠……支付宝兼邮箱:huming2207@qq.com
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
9楼  发表于: 2012-11-10 17:48

 回 7楼(huhu2207) 的帖子

1、init方式太神奇,而且有些模块不开源,影响整体开发,而且不符合GPL协议……

按照AOSP源代码构建的Android文件系统会使用同一的initramfs作为ramdisk,并且使用Android统一的init。

2、不支持CPU调频

不管是kernel.org内核还是AOSP的samsung内核,都已经支持S5PV210的cpufreq驱动,使用默认的ondemand governor应该就可以实现按照CPU loading实时调频率了。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."