今天,开始学习Android底层的开发。(注:我是新手小白,纯粹学习笔记,大神们可以直接略过了)
第一部分 编译运行我的第一个Android system。
准备工作:
下载源码:包括u-boot源码,Linux-kernel源码,Android源码,
具体的版本对应关系,以及如何下载这些源码
可以参考这篇博客 http://blog.csdn.net/koozxcv/article/details/49932795
特别说明:我使用的开发板平台为fs210,使用其他平台的朋友请将fs210换成对应的平台即可。
开始编译:
第一步,编译u-boot
这里要说明一下,不同版本的的u-boot编译过程不相同,具体的编译方法,建议参考对应开发板的参考资料。
我使用的是三星公司s5pv210的开发板。
cd ~/src_210
tar -xvf uboot-fs210_V5.tar.bz2
a,设置交叉工具链--vim Makefile
150 CROSS_COMPILE = /opt/toolchain/toolchain-4.3.2-farsight/bin/arm-none-linux-gnueabi-
b,选择一个开发板
george@George-JI:~/src_210/uboot-fs210_V5$ make fs210_nand_config
Configuring for fs210_nand board...
c,编译
make -j2
生成u-boot.bin
第二步,编译内核
这里要说明一下,不同版本的的内核编译过程不相同,具体的编译方法,建议参考对应开发板的参考资料。
使用非开发板厂商提供的内核,编译过程中出问题概率很大,新手慎重。
先解压源码:
linux-3.0.8-FS210.tar.bz2
进入源码目录
a,设置交叉工具链 vim Makefile
195 ARCH ?= arm
197 CROSS_COMPILE ?= /opt/toolchain/toolchain-4.5.1-farsight/bin/arm-none-linux-gnueabi-
b,选择一个soc
cp config_for_FS210_Android_v1.0 .config
修改mac地址:(实际过程是类似于DM9000的网卡驱动的移植)
vim arch/arm/mach-s5pv210/mach-fs210.c
417 static struct dm9000_plat_data fs210_dm9000_platdata = {
418 .flags = DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM,