buildroot使用

在开发板测试CAN总线时发现缺少iproute工具,因BusyBox未包含该工具,故需借助Buildroot构建根文件系统。通过`make menuconfig`配置Buildroot,选择iproute2和ubifs root filesystem。在配置和构建过程中可能需要安装bison、flex和texinfo等依赖。Buildroot简化了交叉编译工具链、内核和根文件系统的构建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试can总线时,在开发板中输入ip -details -statistics link show can0

显示信息


BusyBox v1.20.2 (2014-09-23 14:33:50 CST) multi-call binary.                    
                                                                                
Usage: ip [OPTIONS] {address | route | link | tunnel | rule} {COMMAND}          
                                                                                
ip [OPTIONS] OBJECT {COMMAND}                                                   
where OBJECT := {address | route | link | tunnel | rule}                        
OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }  

原因是busybox中不带iproute工具,所以需要使用buildroot工具来添加ip工具,生成根文件系统,重新下载进开发板。

以下为网上参考资料:

3.1 配置和一般使用方法

       Buildroot里面有一个很好的配置工具,与Linux内核中或在Busybox中很类似。需要注意的是你可以(并且必须)使用普通用户权限来构建一切,而没有必要使用root权限配置和使用Buildroot。第一步运行配置助手(configuration assistant):

  1. $ make menuconfig  

来运行基于Cures的配置器,或者

  1. $ make xconfig  

  1. $ make gconfig  

来运行基于Qt或者GTK界面的配置器。

       所有这些“make”命令都需要建立一个配置实用程序(utility),所以你可能需要安装“development”包配置所使用的实用程序的相关库。对于Debian系列的系统,menuconfig接口需要libncurses5-dev包,而xconfig需要libqt4-dev包,gconfig则需要libglib2.0-dev、libgtk2.0-dev和libglade2-dev。

       对于在配置工具的每一个菜单项,你可以找到并进入相关的帮助说明。

       一旦配置完成,配置工具将产生一个.config文件来存储你的配置。它将被Makefile所使用。

       下一步我们做:

  1. $ make  

       你绝不可以对Buildroot使用make –jN:它不支持顶级并行make(top-level parallel make)。但是你可以使用BR2_JLEVEL选项来告诉Buildroot对每个包的编译使用make –jN。

       通常,此命令将执行以下步骤:

              按照需要下载源文件;

              如果使用内部(internal)工具链则,配置、创建和安装交叉编译工具链;如果外部(external)工具链被用到则导入;

              创建和安装被选中的目标包;

              如果被选择的话,创内核镜像;

              如果被选择的话,创建bootloader;

              如果选中创建格式,创建根文件系统。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`

在make menuconfig出现的界面中选中networking applications----->iproute2(new),并选中filesystem images---->ubifs root filesystem,保存。

继续执行make,出现缺少bison的提示,原因是缺少一些必须的工具,可以执行以下语句:

sudo apt-get update

sudo apt-get install build-essential

sudo apt-get install bison

sudo apt-get install flex

重新执行make命令,出现去少makeinfo的提示,但找不到makeinfo的安装包,所以换成

sudo apt-get install texinfo(资料显示二者包含关系)

PS:如果要卸载直接sudo apt-get remove XXX即可。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 Buildroot自动使用所用可能用到的工具(比如busybox[5])构建根文件系统。与手动操作相比,更容易。

Buildroot是一个包含Makefile和修补程序【patch】的集合,这个集合可以使你很容易的为你的目标构建交叉工具链【cross-compilationtoolchain】,根文件系统【root filesystem】以及Linux内核映像【kernelimage】。Buildroot可以独立的实现其中的一个或几个功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值