Android底層開發(一)Android源碼編譯


Android源碼編譯分為三部分:uboot編譯,內核編譯,文件系統制作
一、編譯uboot—-路徑是/home/george/src_210
1》拷貝到ubuntu,並解壓
tar -xvf uboot-fs210_V5.tar.bz2
這里寫圖片描述
2》修改交叉編譯器——vim Makefile
149 CROSS_COMPILE = /opt/toolchain/toolchain-4.3.2-farsight/bin/arm-none-linux-gnueabi-
3》選擇平台—-開發板
make fs210_nand_config
Configuring for fs210_nand board…
4》編譯
make -j2
生成 —- u-boot.bin
/opt/toolchain/toolchain-4.3.2-farsight/bin/arm-none-linux-gnueabi-objcopy –gap -fill=0xff -O binary u-boot u-boot.bin
/opt/toolchain/toolchain-4.3.2-farsight/bin/arm-none-linux-gnueabi-objdump -d u- boot > u-boot.dis

二、編譯內核——路徑是/home/george/src_210/linux-3.0.8-FS210
1》拷貝到ubuntu,並解壓
tar -xvf linux-3.0.8-FS210.tar.bz2
2》修改交叉編譯器vim Makefile
195 ARCH ?= arm
196 CROSS_COMPILE ?= /opt/toolchain/toolchain-4.5.1-farsight/bin/arm-none-linux-gnueabi-
3》選擇soc
cp config_for_FS210_Android_v1.0 .config
4》執行 make menuconfig
或者vim arch/arm/mach-s5pv210/mach-fs210.c
修改下面結構體:
static struct dm9000_plat_data smdkv210_dm9000_platdata = {
.flags = DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM,
.dev_addr = { 0x00, 0xe9, 0x00, 0xff, 0xec, 0xee },//修改0xee為0x55
};

5》編譯 make uImage

三、編譯Android源碼——路徑是/home/george/src_210/android4.0-fs210_v2
1》設置初始化編譯環境,執行腳本——設置交叉編譯器,同時會生成一個命令:lunch

        george@George-JI:~/src_210/android4.0-fs210_v2$ source ./build/envsetup.sh    //每一次打開終端時,都必須執行
        including device/farsight/fs210/vendorsetup.sh
        including device/moto/stingray/vendorsetup.sh
        including device/moto/wingray/vendorsetup.sh
        including sdk/bash_completion/adb.bash
2》選擇一個產品 ------ 開發板

george@George-JI:~/src_210/android4.0-fs210_v2$ lunch 或者 lunch full_fs210-eng
full —- 將一個標准的Android系統中必須有的輸入法等一些內置應用全部編譯出來
fs210—- 產品名,華清,華為,小米等
eng—-工程師
* 注意:每一次打開一個新的終端,都要執行上面兩個步驟.*
這里寫圖片描述

3》編譯Android源碼 make( 如果源碼已經編譯過了,跳過這步驟)


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com