好记性不如铅笔头

操作系统

buildroot简单笔记

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"

可以看到,已经成功的跑起来了。

发表评论

4 × 5 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据