嵌入式-2 编译镜像文件

来源:互联网 发布:淘宝开店人工客服电话 编辑:程序博客网 时间:2024/06/14 05:58
编译的第一步是配置环境。一些软件需要下载配置,如Git,java8(openJDK),g++,gcc等。其中java是构建android所需要的。设置编译器,嵌入式所需的编译器是交叉编译工具链,工具链:一般由编译器、连接器、解释器和调试器组成。下载好编译链后,放置ubuntu系统合适的位置中(如/home/hn/arm),然后设置环境变量。    1. 设置环境变量可在root下设置全局的环境变量,也可以设置当前用户的环境变量。全局设置:  
su   //进入root用户cd /rootvim .bashrc
在.bashrc文件最后添加一行:
export PATH=$PATH:/home/hn/arm/arm-xxx/bin     
退出vim,并输入命令:
source .bashrc //更新环境变量
当前用户设置类似,不同的修改如下:
vim ~/.bashrcsource ~/.bashrc
最后,在Ubuntu 命令行中输入命令“arm”,然后按2次TAB 键,如果在命令行中能够看

到arm 编译器的信息,就表明交叉编译工具安装成功。(arm-none-linux-gnueabi-g++等)
2. 编译构建
1) uboot构建
uboot目录下一般有相应的脚本文件(build_uboot.sh或build.sh类似文件名),写好了编译脚本,可以修改其中参数,比如编译链的位置等信息。
先加入uboot源码目录,然后执行编译脚本即可:

./build_uboot.sh name

里面一般需要将bl1,bl2等合成到一个文件中,类似如下:

cat BL1.bin BL2.bin all00_padding.bin u-boot.bin > u-boot-all.bin

最后生成的就是文件:u-boot-all.bin。(随便取的名字)
2) kernel构建
kernel下有makefile,执行make命令即可构建。
先进入kernel源码目录,然后执行:

make menuconfig

配置相应的内核参数。
最后调用make即可:

make

kernel最后生成的就是文件Image 或 zImage .其中zImage是压缩过的,而Image没有压缩。
3) Android构建
Android源码目录下也有相应的脚本文件,直接执行即可。
进入源码目录,执行编译脚本:

./build.sh name param1 param2  //param1 param2 代表相应的参数,可以有0或多个

Android最后生成的文件主要是:ramdisk-uboot.img和system.img.
其中ramdisk-uboot.img是roofs,也就是根文件系统。
system.img 就是android。
其他可能生成 factory,recovery 文件,工厂模式,恢复模式镜像。
这里写图片描述
这里写图片描述

原创粉丝点击