buildroot官方教材3

buildroot官方教材
buildroot官方的教程training

简单的练习实验,用来熟悉基本的Buildroot的使用。
步骤如下:
1. 获取Buildroot。
2. 为BeagleBone Black配置最小的minimal系统。
3. 开始构建。
4. 准备相应的BeagleBone Black硬件环境。
5. 烧写Flash,测试生成的系统。

默认的构建的目录组织:
所有的生成的文件都在顶层文件夹里的output文件夹中。
配置文件为顶层文件夹中的.config文件。
buildroot/
.config
arch/
package/
output/
fs/

可以通过如下的命令O=/path/to/directory重新自定义生成的文件夹。
此时的配置文件保存在 ( O ) 文 件 夹 中 。 如 : 源 码 文 件 夹 为 : b u i l d r o o t / 工 程 1 的 生 成 文 件 夹 为 : f o o − o u t p u t / . c o n f i g 工 程 2 的 生 成 文 件 夹 为 : b a r − o u t p u t / . c o n f i g 构 建 命 令 如 下 : ‘ m a k e O = . . / f o o − o u t p u t / m e n u c o n f i g ‘ 。 也 可 使 用 如 下 的 命 令 指 定 源 码 位 置 : ‘ m a k e − C . . / b u i l d r o o t / O = (O)文件夹中。 如: 源码文件夹为:buildroot/ 工程1的生成文件夹为:foo-output/ .config 工程2的生成文件夹为:bar-output/ .config 构建命令如下:`make O=../foo-output/ menuconfig`。 也可使用如下的命令指定源码位置:`make -C ../buildroot/ O= (O)buildroot/1foooutput/.config2baroutput/.configmakeO=../foooutput/menuconfig使makeC../buildroot/O=(pwd) menuconfig`。

下面是一个使用自定义生成文件夹构建的完成的命令操作:
$ ls
进入源码文件夹
arch board boot … Makefile … package …
$ mkdir ../foobar-output
创建生成文件夹foobar-output
$ cd ../foobar-output
进入foobar-output文件夹
$ make -C ../buildroot O=$(pwd) menuconfig
配置系统
$ make
构建系统
根据需求可能还需要有以下操作。
如,调整配置,重新构建,清除构建内容等。
$ make menuconfig
$ make
$ make clean

配置文件:
.config文件包括了所有的配置选项(除非那些未满足依赖需求的选项)。
实际上我们很难使用和人为地去编辑该文件。
defconfig仅仅保存了那些非默认的选项。
比较容易读懂,也可以人为进行编辑,并用于自动的进行构建配置。

例如,对于Buildroot的默认配置,其defconfig文件的内容为空,这是因为现在所有的选项都是默认的选项。
当需要将处理器架构更换为ARM时,只需要在defconfig文件中添加一行:

BR2_arm=y

如果你还需要加stress包,则defconfig中也只有两行代码:

BR2_arm=y
BR2_PACKAGE_STRESS=y

使用时,首先将defconfig文件复制到configs文件夹中,然后通过如下的命令来加载该defconfig文件,并覆盖当前的.config文件。

make <foo>_defconfig

也可通过如下的命令来创建一个defconfig文件。
make savedefconfig
保存到BR2_DEFCONFIG配置选项指向的文件。
默认的,如果从头构建的配置保存在当前文件夹,如果是加载的defconfig则保存在加载defconfig文件的位置。

Buildroot自带的defconfig文件:
Buildroot自带了许多公开发行硬件平台的defconfig文件,包括:
1. RaspberryPi,BeagleBone Black,CubieBoard,Microchip evaluation board,Mininowboard,various i.MX6 boards。
2. QEMU仿真平台。
使用命令:make list-defconfigs可以罗列出所有的defconfig文件。
大多数的自带的defconfig文件都是最小化的,仅仅构建了工具链,bootloader,内核和最小的根文件系统。
使用如下的命令,使用自带的defconfig文件来构建系统:

$ make qemu_arm_vexpress_defconfig
$ make

附加的说明可以在board/<boardname>中找到,如:
board/qemu/arm-vexpress/readme.txt
defconfig可以分为若干琐碎的文本文件,并通过如下的命令连接起来(为platform1构建系统):

$ ./support/kconfig/merge_config.sh platform1.frag packages.frag > \
			.config
$ make olddefconfig
$ make

olddefconfig将最小化的defconfig扩展为全部选项的.config文件。
但这些碎片的文本无法保存到defconfig文件中,必须手动保存到defconfig文件中。

清除目标文件:
如下的命令清除所有的构建生成的文件,但不清除配置文件。

$ make clean

如下的命令清除所有的文件,包括配置文件和默认路径的下载文件。

$ make distclean

查看构建的信息:
默认情况下Buildroot隐藏了许多的构建时的命令,只显示最重要的一部分,如果要得到全部的信息,可以传递V=1给make命令。

$ make V=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值