Android 开发基础知识
2010-05-28 15:50:00 来源:WEB开发网CROSS_COMPILE ?= arm-linux-
所以设置PATH环境变量,保证能找到正确的工具链
假设工具链位于: /usr/local/marvell-arm-linux-4.1.1/ 设置为:
export PATH:=/usr/local/marvell-arm-linux-4.1.1/bin/:$PATH
2> 更改编译选项(网络启动或者本机启动)
内核顶层目录执行:
make menuconfig
General setup --->
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
() Initramfs source file(s) (NEW)
如果需要支持网络启动反选 [] Initial RAM filesystem and RAM disk (initramfs/initrd) support
如果需要支持本地启动选中 [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
设置 () Initramfs source file(s) (NEW) 为 root
拷贝 cupcake 编译结果 out/target/product/littleton/root/ 到内核顶层目录
3> 编译
内核顶层目录执行 make zImage
编译好的内核:
arch/arm/boot/zImage
5. 搭建网络开发环境
1> 安装nfs服务器
sudo apt-get install nfs-kernel-server nfs-common
2> 修改nfs服务器配置文件/etc/exports ,确保有以下配置项
/nfsroot/rootfs *(rw,no_root_squash,sync)
我们在内核中已经固定,手机通过网络方式启动,默认从 /nfsroot/rootfs
读取文件系统,修改配置项后需要重启nfs服务器:
sudo /etc/init.d/nfs-kernel-server restart
3> 配置网络根文件系统
拷贝 out/target/product/littleton/root/ 内容到 /nfsroot/rootfs 目录
拷贝 out/target/product/littleton/system 内容到 /nfsroot/rootfs/system
修改 /nfsroot/rootfs/init.rc 去掉几个mount命令
为了使大家的过程,结果统一,可以使用脚本 mkfs.cupcake 完成
在执行 mkfs.cupcake.nfs 脚本前先到 cupcake-jianping 目录下执行: . ./make_env15.sh设置环境变量,
获取通过手动输入android源码的位置,让脚本来设置环境变量。
二 ubuntu下烧录内核和文件系统
1. 硬件:
更多精彩
赞助商链接