【vfp精品源码栏目提醒】:网学会员为广大网友收集整理了,Tiny6410Andoid系统开发指南 - 其它资料,希望对大家有所帮助!
Tiny6410 Android 的开发指南 ----在 Fedora14 上搭建 Android 编译环境 ---编译配置 Android 系统镜像 2011 年 8 月 2 日 一、建立 Android 编译环境说明:在这里主要介绍如何从源代码编译 Android 系统并生成可烧写的 Images1.1 关于开发平台和交叉编译器 Android 开发环境与 Linux 开发环境主要的区别在于,Android2.3.4 需要安装 Fedora14 开发平台才能编译, 而其它例如安装交叉编译器和 mktools 工具链,其方法与 Linux 基本相同,它所使用的编译器和标准 Linux 是相同的。
注意:编译安装 Android 整个系统至少需要 5G 的硬盘空间! 首先,下载 Vmware workstation 虚拟机和 Fedora14 系统镜像。
然后,在 windows 下安装虚拟机,并在虚拟机上安装上Fedora14 系统。
如果对 Vmware workstation 不熟悉,可以上百度上面问问,在这里我就不详细介绍了,至于它的一些使用技巧我会在用到时提到。
至于怎么安装 Fedora14 也不详细介绍了,只要你安装过 Linux 系统我相信你一定会安装。
我们的重点是上面我所说的怎样去搭建和配置 Android 系统镜像,至于这些工具和系统的安装不在详细说明,网上这样的资料很多,想了解的请自己到网上搜索。
当你安装好了,大体就像下图那样: 一开始,可能你的 Fedora 系统没有连上网,你可以右击连接,不过这个前提是你的虚拟机网络配置是 net,这样你才能连接外网。
如图所示: Fedora14 默认不能用 root 用户登录 GUI,这会造成很大的不便,用以下方法可以使得 Fedora14 可以使用 root 用户登录:1.进入普通用户,在终端输入 su2.输入 root 密码3.用 vi 修改两个文件把 auth required pam_succeed_if.so user root quiet 注释掉vi /etc/pam.d/gdmvi /etc/pam.d/gdm-password操作如下:3.1 输入 a3.2 在 auth required pam_succeed_if.so user root quiet 前加上3.3 按一下 Esc3.4 输入:wq4.重新登录 因为 我们要向虚 拟机上面传 送文件,所 以我们需要把Fedora14 上面的 smb 服务开启,其实 VM 上面自带一个工具,但是本人还是喜欢 smb 服务,下面就简单的介绍下: 常见问题和解决办法: 访问某台计算机“无任何网络提供程序接受指定的网络路径”怎么解决? 网络共享只从主 IP 的网段查找主机,问题就出在目标 IP 必须与本地主 IP 同一网段! 这时 你需要将 Fedora 的 IP 地址设置成和你windows 的 IP 地址是同一个网段的即可。
注意:为了使 Fedora 的 IP 地址和你的 IP 地址是同一个网段,请使用桥接模式,如下图所示:此时我的主机 IP 是 192.168..1.166我的 Fedora 的 IP 地址我设置成 192.168.1.167这样我在 window 下 ping Fedora 能 ping 通,这就说明网络已经设置好了接下来就是配置 Smb 服务了如下图所示:配置共享目录:添加可访问的用户你可以看不到可供你选择的用户,你需要首先添加用户:如果都设置好了,重启网络和 smb 服务即可,在 windows下访问了 !注意:请首先关闭 Fedora 的防火墙!OK 好了,现在可以在 windows 下像访问 windows 一样去访问 Fedora 目录。
1.2.建立交叉编译环境 在 Linux 平 台 下 , 要 为 开 发 板 编 译 内 核 , 图 形 界 面Qtopia/Qt4,bootloader,还有其他一些应用程序, 均需要交叉编译工具链。
Step1 : 将 光 盘 Linux 目 录 中 的arm-linux-gcc-4.5.1-v6-
vfp-20101103.tgz 复制到 Fedora14中的某个目录,如:/tmp/Linux/。
cd /tmp/Linux/tar xvzf arm-linux-gcc-4.5.1-v6-
vfp-20101103.tgz –C /执 行 该 命 令 , 将 把 arm-linux-gcc 安 装 到/opt/FriendlyARM/toolschain/4.5.1 目录。
说明:以上的交叉编译器是 Tiny6410 开发板自带的,所以会解压到以上提到的目录,你也可以在网上下载一个。
Step2:把编译器路径加入系统环境变量,运行命令gedit /root/.bashrc编辑/root/.bashrc 文件,注意“bashrc”前面有一个“.” ,修 改 最 后 一 行 为 export PATHPATH:/opt/FriendlyARM/toolschain/4.5.1/bin,注意路径一定要写对,否则将不会有效。
如图:重新登录系统不必重启机器,注销下即可,使以上设置生效,在命令行输入 arm-linux-gcc –v,会出现如下信息,这说明交叉编译环境已经成功安装。
1.3 配置和编译 U-boot说明:Android 所用的 U-boot 其实和标准 Linux 是一样的,根据开发板不同的内存DDR RAM容量,需要使用不同的 U-boot配置项。
1.3.1 配置编译支持 NAND 启动的 U-boot1解压安装 u-boot 源代码首先创建工作目录/opt/FriendlyARM/Tiny6410/android在命令行执行mkdir –p /opt/FriendlyARM/Tiny6410/android在工作目录/opt/FriendlyARM/Tiny6410/android 中执行:cd /opt/FriendlyARM/Tiny6410/androidtar xvzf /tmp/Android/u-boot-mini6410-20101106.tar.gz将创建生成 u-boot-mini6410 目录,里面包含了完整的内核源代码这里的 mini6410 和 Tiny6410 差不多,这是的代码是通用的。
1.3.2 配置编译支持 NAND 启动的 U-boot进入 U-boot 源代码目录,执行cd /opt/FriendlyARM/Tiny6410/linux/u-boot-mini6410make mini6410_nand_config-ram256make将会在当前目录配置并编译生成支持 Nand 启 动 的U-boot.bin好了 看看的确是得到了 u-boot.bin 文件,在这里为了区分,将其改为 u-boot_nand-ram256.bin1.3.3 配置编译支持 SD 卡启动的 U-boot和上面配置编译支持 NAND 启动的 U-boot 一样只需把最后的 make 命令修改下即可:make mini6410_sd_config-ram256make将会在当前目录配置并编译生成支持 SD 启动的 U-boot.bin重命名 得到如下图所示:1.4 配置和编译 Linux 内核1.4.1 解压安装 Android 内核源代码在工作目录/opt/FriendlyARM/Tiny6410/android 中执行:cd /opt/FriendlyARM/ Tiny6410/androidtar xvzf /tmp/Android/ android-kernel-2.6.36-20110517.tar.gz将创建生成 linux-2.6.36-android 目录,里面包含了完整的内核源代码1.4.2 配置和编译 Linux 内核Android 所用的 Linux 内核和标准的 Linux 内核有所不同,但使用的方法和步骤是相似的;如果你对配置 Linux 内核不熟悉,建议你使用我们提供的缺省内核配置。
我们的板使用的是 A70 型号的 LCD所以编译时 我们需要使用相应的配置文件cd /opt/FriendlyARM/mini6410/android/linux-2.6.36-androidcp config_android_a70 .config 注意 config 前面有个”.”make最后会在 arch/arm/boot 目录下生成 zImage,我们把它重新命名为 azImage_a70 放入光盘中,以便区分。
1.5 从源代码中提取 Android 文件系统1.5.1 解压安装 Android 系统源代码包在工作目录/opt/FriendlyARM/mini6410/android 中执行:cd /opt/FriendlyARM/mini6410/androidtar xvzf /tmp/Android/ android-2.3-fs-20110520.tar.gz将创建 Android-2.3 目录。
1.5.2 提取 Android 文件系统 Android 系统十分庞大,从网上下载的源文件很难顺利的成功编译,我曾经试过了,出现了很多提醒和错误,而且编译一次需要好长的时间。
为此友善公司专门做了 2 个脚本build-android、genrootfs.sh 帮助我们去编译,具体如下: 在命令行执行: cd /opt/FriendlyARM/mini6410/android/Android-2.3 ./build-android 就开始编译 Android-2.3 系统,你需要等待很长的时间,建议开发 Android 系统不要虚拟机编译,使用多核的 CPU 加真实的 Linux 系统会快一些。
我就是在虚拟机上面编译的,真的好慢。
然后,再执行脚本: ./genrootfs.sh 就可以从编译完的 Android 系统提取出我们需要的目标文件系统了,最后会生成 rootfs_dir 目录。
至此,我们已经从源代码开始,创建了在开发板上运行运行Android 所需的所有核心系统文件:Bootloader 内核和文件系统。
但是我们得到的文 件系统部分则是一个目录,这就需要mktools 系列工具 先把它制作成单个映像文件,才能方便使用。
1.6 制作 UBIFS 格式的文件系统映像注意:针对不同组织结构的 Nand Flash,分别有不同的压制工具,在此以三星 2 代MLC Nand Flash 为例如 K9GAG08U0E 等,以下简称 MLC2。
上一篇:
ARM_处理器最新开发平台现状介绍
下一篇:
如何当一个轻松的班主任