Buildroot 是工具链整合工具,使用方法基本可以借鉴,使用说明文件参考:
https://buildroot.org/downloads/manual/manual.html
一、 搭建编译环境
Ubuntu16.04
支持软件:
? Build tools:
o which
o sed
o make (version 3.81 or any later)
o binutils
o build-essential (only for Debian based systems)
o gcc (version 4.8 or any later)
o g++ (version 4.8 or any later)
o bash
o patch
o gzip
o bzip2
o perl (version 5.8.7 or any later)
o tar
o cpio
o unzip
o rsync
o file (must be in /usr/bin/file)
o bc
? Source fetching tools:
o wget
o git
nuc980 buildroot 文件下载地址:
https://gitee.com/OpenNuvoton/NUC970_Buildroot
需要在码云注册用户信息,然后可以下载此源码,可以通过 git clone 方式, 或 Download zip包方式.
二、 配置 buildroot 相关参数
$ make nuvoton_nuc980_defconfig
$ make menuconfig
- 修改kernel 和 GNU 下载源地址,可以节省编译时间哈。红色箭头指示位置需要特别关注。
2) Toolchain 选择缺省方式
3) 修改内核下载地址,为gitee 码云地址。
指定内核配置文件路径,此文件是单独编译内核使用的defconfig文件,文件存放到图示路径。
-
修改Uboot下载地址
指定uboot配置文件路径,此文件是单独编译uboot使用defconfig文件,存放到图示路径。 -
Busybox 配置文件如图所示
三、buildroot 编译
第一次编译时划分时间较长,主要是下载各种需要资源文件,保证网络通信。
$ make -j4
Ubuntu环境不同可能会出现各种错误,一般网络下载资源失败比较常见.
四、 配置kernel、uboot、uClibc 的方法
$ make linux-menuconfig
$ make uboot-menuconfig
$ make uclibc-menuconfig
配置方法与单独使用方法相同.
五、 编译输出内容在 output 文件夹下
robot@ubuntu:~/buildroot/build-2016$ ls output/
build host images staging target
编译工具 镜像文件 rootfs 文件
把target 文件下内容拷贝至rootfs文件夹中,就可以使用mkyaffs2 工作制作烧写文件.
六、 实际测试结果
Uboot-spl.bin、uImage、rootfs文件系统烧写至开发板能够正常使用, uboot.bin 文件启动时报env crc 错误,此问题我正在查找中,有知道原因同学告知我一下。
现象描述: uboot编译配置文件采用相同defconfig 文件,未做任何修改,单独使用uboot2016环境编译就没有问题,buildroot 编译出来的uboot.bin 与单独编译文件大小相同。