开发环境
虚拟机:14.0.0 build-6661328
操作系统:Ubuntu 16.04 64位
安装qemu
apt-get install qemu
亲测,执行这个命令,可以安装支持x86及arm的qemu,
使用buildroot一键生成uboot和linux内核及根文件系统
首先下载buildroot的源代码,下载地址:
http://buildroot.org/downloads/buildroot-2012.05.tar.gz
其中以下需要修改,其他自己选择:
- Kernel :内核版本改选为 3.3.7版本
- Package Selection for the target : Busybox已经包含在里面了,我们也可以选择更多的项目,比如 Qt, EFL, directfb之类的图形库。在 Graphic libraries and application子目录里选择。
- Filesystem images :在 Flash Type这项,改为 NAND flash with 512B Page and 16 KB erasesize 。
- Toolchain:我选上了GDB和GDBServer方便调试。
接下来执行make
(注意这里不要加-j4之类参数,否则后面编译会出错),这个没有加参数测试。
如果遇到库问题,添加以下库,罗列下,安装时只缺少了bison.
apt-get install g++
apt-get install g++
apt-get install bison
apt-get install flex
apt-get install gettext
apt-get install texinfo
apt-get install patch
apt-get install git-core
apt-get install xz-utils
apt-get install automake
如果一切顺利, make 结束后,在 buildroot-2012.05目录的 output/images/ 子目录下可以找到生成的四个文件:
u-boot.bin: bootloader的镜像
uImage: u-boot格式的(用mkimage命令生成的)Linux内核镜像
rootfs.jffs2: jffs2格式的根文件系统镜像
rootfs.tar: 根文件系统源码打包
不出意外,一般都不会顺利。
我遇到了错误,Makefile:4052: recipe for target 'doc/cpp.info' failed
这个网上看到了解决方法,https://blog.csdn.net/ee230/article/details/78675779
我直接降低了texinfo的版本,方法如下:
wget http://ftp.gnu.org/gnu/texinfo/texinfo-4.13a.tar.gz
tar -zxvf texinfo-4.13a.tar.gz
cd texinfo-4.13
./configure
make
sudo make install
接着make,编译完毕。