2.6 编译 Mipsandroid Froyo回到 Mipsandroid froyo 源码目录。现在,开始编译!
$ . env.sh
$ make showcommands |
然后去睡觉。醒来后,差不多就编好了。
第三章 Android Kernel完成了制作 rootfs 的活后,现在我们开始制作内核。
Android 的内核位于 android.git.kernel.org 上,在撰写本文时,其最新版本是 2.6.35.7。感谢 LLC 的不懈努力!是他们使得龙芯相关的支持代码全部进入了 mainstream,进而自动地被 Google 收纳进了 Android 内核中。这意味着 Android 内核默认已经支持龙芯了,只需适当配置即可!
3.1 下载内核建立目录 android-kernel, 进入后输入如下命令
git clone git://android.git.kernel.org/kernel/common.git |
下载内核完毕后进入 common 目录查看和选择内核的分支版本,使用 git branch –a 查看版本分支,然后输入 git checkout origin/android-2.6.35 选择最新的 2.6.35 版本
3.2 配置和编译内核
首先,编译过龙芯内核的人都知道,龙芯内核对编译器和工具链版本要求较高。具体编译方法网上已经很多了,有交叉的也有本机的,所以本文不再赘述。想学习内核编译方法的可去 lemote bbs 查询。
接下来配置刚下到的内核。进入内核目录后,将 lemote2f 默认配置文件拷贝出来。然后进入配置菜单
$ cp arch/mips/configs/lemote2f_defconfig .config $ make menuconfig
|
这里讲的几点都非常重要。
1)内核一定要配置位32位!
虽然龙芯支持64位模式,而且在32位下最多只能访问512M内存,但是由于 Google 给 Android 增加的驱动都从未在 64 位模式下调试过,你会遇到无数的问题。考虑到 512M 内存对 Froyo 来说应该是够了,所以无须在 64 位上浪费时间。
2)页大小是 16k。这是默认值,也可以选64K。但是需要和我们 rootfs 中 bionic libc 的设定一致。
3) 阅读 Documentation/android.txt 里面对配置的要求。但由于对应得不是很好,所以只能作参考
4) 在 General Setup 里面,勾选 Enable the Anonymous Shared Memory Subsystem
5) 在 Device Drivers->Staging Drivers->Android 下,勾选所有东西。
全部选完后,保存退出。输入 make 编译内核。如果你是交叉编译那应该还要指定工具链。
至此,所有的开发编译工作均已完成。现在就让我们来把它安装到龙芯笔记本上吧!
第四章 安装
第一步,打开龙芯笔记本。
第二步,用尽一切你的知识技能,设法在硬盘上腾一个分区出来。不用很大,几百兆足矣。假设你跟我一样,分区是 /dev/hda8。
4.1 安装内核进入编译内核的目录,在根目录下会发现一个 vmlinuz,这个就是生成的内核可执行文件。将它拷贝到龙芯笔记本的 boot 分区里(一般就是 /boot 目录下)。
修改 boot 分区里的 /boot/boot.cfg 文件,增加一个启动项:
title Android
kernel (wd0,0)/vmlinuz-android
args console=tty root=/dev/hda8 rw init=/init androidboot.console=tty0 |
4.2 安装 rootfs在龙芯笔记本上,格式化 /dev/hda8 为 ext3。把它挂载在,比如说,/mnt/hda8。
在编译机上,去到我们 mipsandroid froyo 的编译目录下。将 out/target/product/generic/root/ 下所有内容拷贝到龙芯笔记本的 /mnt/hda8/ 下。将 out/target/product/generic/system/ 下所有内容拷贝到龙芯笔记本的 /mnt/hda8/system 下。文件系统组装即告完成。
好了,激动人心的时刻到来了!在龙芯笔记本上输入 reboot,开机后选择 Android,回车!看没看到激动人心的:
A N D R O I D
稍等1分多钟后,系统成功进入图形界面。有视频为证:
阅读(1663) | 评论(0) | 转发(0) |