buildroot是一个非常强大的嵌入式编译工具,这里简单的笔记下如何使用。
官网【 https://buildroot.org/ 】
文档【 https://buildroot.org/docs.html 】
根据文档介绍,buildroot建议使用vagrant,以免污染本地环境。作者最近换回了Win7,因此正好使用。关于vagrant的简单介绍,可以参考【 vagrant简单使用笔记 】
这里可以看下buildroot建议的vagrantfile的写法:【 https://buildroot.org/downloads/Vagrantfile 】
可以看到,这里和一般的vagrantfile的区别是限定了memory的最小Size:2048MB。还有一些默认的安装软件。
这里作者仅仅设置最小MEMORY,其他不动。
当vagrant启动之后,
CONTENTS
1 下载必要的基础编译软件:
sudo apt-get -q update sudo apt-get -q -y install make gcc g++ python bc build-essential libncurses5-dev bzr mercurial libc6:i386 unzip sudo apt-get -q -y autoremove sudo apt-get -q -y clean
2 下载buildroot:
wget https://buildroot.org/downloads/buildroot-2016.08.1.tar.gz tar -axf buildroot-2016.08.1.tar.gz
3 编译一个现有的配置,验证环境:
ubuntu@ubuntu-xenial:~/br_proj/buildroot-2016.08.1$ make qemu_x86_64_defconfig #这里我们编译一个qemu虚拟机,方便验证 ubuntu@ubuntu-xenial:~/br_proj/buildroot-2016.08.1$ make 。。。。。。。 。。。。。。。 /usr/bin/install -m 0644 support/misc/target-dir-warning.txt /home/ubuntu/br_proj/buildroot-2016.08.1/output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
4 使用QEMU验证编译成果的正确性:
首先参考文档【 QEMU简单使用笔记 】搞定QEMU。
将buildroot中编译成功的文件拷贝到Win7中。
ubuntu@ubuntu-xenial:~/br_proj/buildroot-2016.08.1/output$ ls images/ bzImage rootfs.ext2 ubuntu@ubuntu-xenial:~/br_proj/buildroot-2016.08.1/output$ cp -rf images /vagrant/
在Win7下,使用QEMU加载编译的kernel。这里我们编译的config是【 qemu_x86_64_defconfig 】。
[D:\code\Boxes\images]$ qemu-img.exe create -f qcow2 -b rootfs.ext2 vmdisk1 128M Formatting 'vmdisk1', fmt=qcow2 size=134217728 backing_file=rootfs.ext2 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 [D:\code\Boxes\images]$ qemu-system-x86_64.exe -hda vmdisk1 -kernel bzImage -append "root=/dev/sda"
可以看到,已经成功的跑起来了。
发表评论