移植Android2.1(转自友善之臂)

原创 2011年01月19日 23:52:00

最近有点时间,尝试了移植Android on Freerunner开源项目所提供的Android2.1,还是使用之前的2.6.27内核,在上面做了一点少少的修改。
到目前为止,触摸屏已经校正,网络正常,声卡驱动用原来的OSS驱动,拨号有声音,但不能播放音乐,估计是libmediaplayer库的问题。
截图:


  
下面简单介绍一下移植的过程:
一、文件系统:
1.下载源文件:
建立源文件目录 mkdir ~/android_src
初始化repo   cd ~/android_src & repo init -u git://gitorious.org/android-on-freerunner/freerunner_platform_manifest.git (主线是2.1版本)
同步源文件 repo sync
整个过程会比较慢,可以同时开几个窗口来分别同步一些较大的project,例如 repo sync kernel,repo sync prebuilt,repo external/opencore,这样会快很多。
2.编译文件系统:
make
大概需要3─4个小时,这个跟机器的性能有关。
3.修改文件系统以适应Mini2440。
1)添加tslib触摸屏校正工具已经tslib所依赖的libc库和c++库,android系统本身使用的是Bionic c库。
2)添加buzybox,/myDev文件夹,/system/etc/shine文件夹
3)创建linuxrc启动脚本,/system/etc/myInit.rc初始化脚本,/system/etc/net.conf网络配置文件。
4)修改init.rc,去掉除mount tmpfs tmpfs /sqlite_stmt_journals size=4m之外所有的mount命令,并添加以下语句:
symlink /dev/snd/dsp /dev/eac 创建声卡的软连接
service console /bin/busybox sh //让系统使用buzybox的shell控制台
     console
service myInit /bin/busybox sh /system/etc/shine/myInit.rc //运行myInit.rc脚本,进行网络初始化等
     oneshot
5)将无线网卡的库文件复制的/system/etc/framework下

二、内核
在原来2.6.27内核的基础下,做了以下的改动:
1.添加kasim大侠所提供的power supply class驱动,但是不能将该设备添加到smdk2440_devices[] __initdata下,否则不能用linuxrc启动脚本来启动系统。
2.配置内核是要选上Power management options中的Wake lock,Wake lock stats和Userspace wake locks,否则触摸屏会没有反应。
3.使SD卡能够被系统识别,必须要选上General setup-->Create deprecated sysfs files,并修改/system/etc/vold.conf文件,将media_path设置为/devices/platform/s3c2440-sdi/mmc_host/mmc0/
4.修改LCD驱动(drivers/video/s3c2410fb.c)以支持双重缓冲,android的显示系统需要双缓冲的支持。
5.修正触摸屏驱动中坐标方向错误的问题。

三、精简系统
64M内存对与Android系统来说实在是太少了,加载所有系统程序后,再打开其他程序会变得很慢。
为此可以删掉一些暂时用不到的系统软件如Phone,AlarmClock等(位于/system/app下),甚至可以只保留以下六个较为重要的系统程序:
LatinIME.apk,Launcher.apk,PackageInstaller.apk,Settings.apk,SettingsProvider.apk,UserDictionaryProvider.apk
然后再安装自己的软件,经过精简后,系统运行的效率会有很大的提高,个人感觉要比1.5版本系统更为流畅。



四、其他问题
系统休眠后不能唤醒,目前的解决办法是将系统设置成保持唤醒状态:
设置-->应用程序-->开发-->保持唤醒状态



在精简后的系统上安装最新的Android版QQ,运行很流畅,Android版QQ的UI也做得非常漂亮的说,下面是运行截图:



希望这些内容对大家用所帮助,也欢迎大家一起来分享自己的移植经验以及成果!

附件:
根文件系统:下载
内核镜像:下载
内核源码:下载

ps:
安装文件系统之前先把/system/etc/shine/pointercal删掉,否则触摸屏可能会不准。如果想重新校正触摸屏,也可以先删掉pointercal文件再重启系统。
为了能正确配置网络,还需要创建ifconfig和route的软连接,具体如下:
rm /system/bin/ifconfig
rm /system/bin/route
cd /bin
ln -s busybox ifconfig
ln -s busybox route

友善之臂 tslib一线触摸完美移植

开发板:友善之臂 mini210   博主曾耗费两三天移植tslib,都没有成功,各种失败,各种报错。 经过本人对 友善之臂 /etc/init.d/rcS (PS:该文件是文件系统初始化文件) 严格...
  • ESD1406
  • ESD1406
  • 2015年01月30日 16:29
  • 295

移植Android2.1(转自友善之臂)

最近有点时间,尝试了移植Android on Freerunner开源项目所提供的Android2.1,还是使用之前的2.6.27内核,在上面做了一点少少的修改。 到目前为止,触摸屏已经校正,网络正常...
  • shangyaowei
  • shangyaowei
  • 2013年12月19日 20:36
  • 292

移植Android2.1(转自友善之臂)

最近有点时间,尝试了移植Android on Freerunner开源项目所提供的Android2.1,还是使用之前的2.6.27内核,在上面做了一点少少的修改。 到目前为止,触摸屏已经校正,网络正常...
  • shangyaowei
  • shangyaowei
  • 2013年12月19日 20:36
  • 412

友善之臂tiny4412-1306开发板安卓系统烧写

折腾了很久,终于烧写成功。不废话,咱们说说流程吧。首先,我们需要有一个基于tiny4412的kernrl,从友善之臂官网获取。然后解压:1、tar -xvf  linux-3.5 .... 然后cp ...
  • morixinguan
  • morixinguan
  • 2016年07月24日 18:17
  • 4408

一线触摸tslib移植完全说明--转载

我已经上传了完善好的源代码,已经加入对一线触摸的支持,如果想直接使用,不用自己加补丁: 请到http://code.google.com/p/openwrt-for-embedded/,点击Downl...
  • bobbat
  • bobbat
  • 2016年05月23日 12:42
  • 462

Android系统移植(二)

一、启动镜像制作 上一讲当中我们总结了,Android系统运行所需要的三大部分:bootlader,kernel和ramdisk.那我们怎么才能获得它们呢?接下来我们来看看怎么制作bootlader,...
  • u014770862
  • u014770862
  • 2016年02月05日 09:20
  • 1106

Android平台,友善之臂6410,串口读写(测试通过版)

Android平台,友善之臂6410,串口读写(测试通过版) Tiny6410搭建Android 2.3系统,Android程序实现对6410串口的读写,串口接收射频模块cc1100数据包。...
  • thanklife
  • thanklife
  • 2014年07月29日 21:19
  • 1860

友善之臂6410开发板搭建开发环境

1. 让开发板动起来    先要找到开发板的COM0(串口0),然后和电脑的串口连起来。几乎所有开发板的COM0都是115200波特率,8位数据位,1位停止位,1位起始位,无奇偶校验,无数据流控制。...
  • lucykingljj
  • lucykingljj
  • 2014年12月08日 16:19
  • 2121

手把手教你写Linux设备驱动---input子系统(二)--按键驱动实现(一)(基于友善之臂4412开发板)

在上一节里,我们用一个应用程序实现了鼠标的控制,并控制鼠标用相对位移不断的画一个正方形,感觉非常有意思,这一节,我们将通过一个简单按键实例来真正的实现一个input设备驱动程序。http://blog...
  • morixinguan
  • morixinguan
  • 2017年04月11日 00:11
  • 1497

友善之臂tiny4412-如何搭建android开发环境(64位操作系统)

参考连接: http://blog.csdn.net/zmnqazqaz/article/details/37908695 http://blog.csdn.net/luobin1984/arti...
  • cotex_Han
  • cotex_Han
  • 2015年06月07日 11:49
  • 945
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:移植Android2.1(转自友善之臂)
举报原因:
原因补充:

(最多只允许输入30个字)