登录
注册
一键加入QQ群
友善之臂官方网站
首 页
联系我们
淘宝店铺
维基教程
资料下载
搜索帖子!
NanoPC-T2
Core4418
NanoPC-T3 Plus
Core6818
NanoPi-M4B
NanoPC-T4
NanoPC-T6
NanoPi-NEO
NanoPi-NEO Core
NanoPi-NEO Air
NanoPi-M1 Plus
NanoPi-Duo2
NanoPi-NEO3
核心板:
Smart210
Tiny210
Smart4418
Smart6818
SOM-RK3399V2
CM3588(新品)
路由器:
R1
R1S
R2S
R2S Plus
R2C Plus
R4S
R5S
R5C
R6C
R6S
热门版块:
开发板实战手册及教程
友善之臂官方客服中心
站点服务
Linux技术交流区
站务管理与公告
裸机程序和微型OS
默认风格
用户中心首页
编辑个人资料
查看个人资料
好友列表
用户权限查看
积分管理
积分转换
特殊组购买
收藏夹
我的主题
基本统计信息
到访IP统计
管理团队
管理统计
在线统计
会员排行
版块排行
帖子排行
个人首页
我的收藏
好友近况
友善之家
Android技术交流区
android2.3.4文件系统移植
友友粉丝快线
开发板销售中心
嵌入式最新资讯
友善之臂最新动态
友善之臂官方客服中心
开发板实战手册及教程
应用方案和定制开发
NanoPi 交流与讨论
NanoPi 玩家交流区
ROM发布区
硬软DIY及开发
嵌入式交流与讨论
Android技术交流区
Linux技术交流区
U-boot技术交流区
WinCE技术交流区
Ubuntu技术交流区
裸机程序和微型OS
OpenWRT讨论区
开发板硬件讨论区
相关资料下载及使用技巧
站点服务
二手交易区
我的论坛我的贴
站务管理与公告
上一主题
下一主题
新 帖
主题 : android2.3.4文件系统移植
复制链接
|
浏览器收藏
|
打印
carlin
菜鸟在路上
级别: 圣骑士
作者资料
发送短消息
加为好友
UID:
42749
精华:
6
发帖:
241
金钱:
1530 两
威望:
306 点
贡献值:
6 点
综合积分:
602 分
注册时间:
2011-04-11
最后登录:
2016-07-19
楼主
发表于: 2012-03-21 10:05
全看
|
小
中
大
android2.3.4文件系统移植
由于好奇,所以想练下手。计划从官方下载android2.3.4源码,移植到tiny6410.哈哈,反正有友善的代码参考。我相信一定能成功!
环境:ubuntu10.10 32位
一.在ubuntu从官方下载android2.3.4R1源码,官方网站有配置和下载介绍
http://source.android.com/source/downloading.html
下载成功。
复制代码
下载源码步骤
1.
$ mkdir ~/bin
$ PATH=~/bin:$PATH
2.
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
3.
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
4.
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.4_r1
5.
$ repo sync
如果中间有停下,就继续执行第5步repo sync,就会继续下载。
二.编译android2.3.4R1,由于默认的是用64位系统编译,我的是32系统,所以遇到一些麻烦,没事。百度一下,再对比下友善的代码,改了5个文件,很简单。
继续make,成功!已经生成system.img 等三个文件
复制代码
编译步骤进到android源码的根目录执行make命令,如果是32位系统编译会出错。因为官方的android源码默认要求用64位系统编译,解决方法如下
复制代码
----------------------------64位改32位编译方法-----------------------------------
因为Android2.3默认是64位的系统上编译,需要手动修改build/core/main.mk,把这个判断部分注释掉:
#ifneq (64,$(findstring 64,$(build_arch)))
#$(warning ************************************************************)
#$(warning You are attempting to build on a 32-bit system.)
#$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
#$(warning ************************************************************)
#$(error stop)
#endif
(二)
重新make,如果是安装了JDK6版本,会又报错:
Docs droiddoc: out/target/common/docs/api-stubs
Could not load ‘clearsilver-jni’
java.library.path = out/host/linux-x86/lib
make: *** [out/target/common/docs/api-stubs-timestamp] Error 45
make: *** Waiting for unfinished jobs….
Could not load ‘clearsilver-jni’
java.library.path = out/host/linux-x86/lib
make: *** [out/target/common/docs/doc-comment-check-timestamp] Error 45
这是由于clearsilver在编译时如果检测到使用Java JDK 6,就使用64位编译,因为Google的一个员工更新了几个文件。这里可以看到详细的修改记录:[url]http://android.git.kernel.org/?p=platform/external/clearsilver.git;a=commitdiff;h=d36910a8110d8377b22301274d2b5131a732a72b[/url]
修改这几个文件,该回到32位编译环境即可:
external/clearsilver/cgi/Android.mk
external/clearsilver/java-jni/Android.mk
external/clearsilver/util/Android.mk
external/clearsilver/cs/Android.mk
把编译选项-m64改成-m32即可
-------------------------------------------------------------------------------------------
三.模拟器加载自己编译的系统运行,也成功。
复制代码
默认使用内核路径
prebuilt/android-arm/kernel/kernel-qwmu
模拟器运行之前配置ANDROID_PRODUCT_OUT环境变量
$ declare -x ANDROID_PRODUCT_OUT="{Android根目录}/out/target/product/generic"
在android 源码根目录执行命令:
$./out/host/linux-x86/bin/emulator
这样模拟器就跑起来了
四.在学习制作android文件系统,在研究友善的脚本中。。。
五.让自己的制作的文件系统在tiny6410中跑起来。
[ 此帖被carlin在2012-03-21 10:40重新编辑 ]
顶端
回复
引用
分享
xiang.luo
级别: 新手上路
作者资料
发送短消息
加为好友
UID:
65757
精华:
0
发帖:
1
金钱:
5 两
威望:
1 点
贡献值:
0 点
综合积分:
2 分
注册时间:
2012-03-22
最后登录:
2012-03-22
1楼
发表于: 2012-03-22 13:29
全看
|
小
中
大
楼主,几个问题求解答:
1,默认使用内核路径
prebuilt/android-arm/kernel/kernel-qwmu
这个是为了做什么,相关指令是什么.
2,模拟器加载时./out/host/linux-x86/bin/emulator提示没有指定SDK,
3, 你编译之后的system.img/ramdisk.img/userdata.img怎么打包成yaffs.
顶端
回复
引用
分享
上一主题
下一主题
友善之家
Android技术交流区
http://www.aiothome.net
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问