buildroot 构建文件系统配置过程

文件系统构建方式

自己使用过的构建系统方式主要有busybox、yocto、buildroot三种吧,openwrt也可以,目前还没有使用过,公司另个一mesh项目中使用了这种方式。
刚学习嵌入式的时候当然是用busybox构建系统了,这样搭建一个最简的文件系统,但是实际开发工程中可能要移植很多东西,比如项目就要求后续要支持python开发环境,而后边的几种可以通过make menuconfig的方式选配比较适合在框架基础上添加很多软件功能。
大概了解了一下yocto工具,常被车载IC行业选中,一般厂商提供的SDK很大,编译过程复杂些。buildroot,常被低层嵌入式电子设备行业选中,而我也使用的就是这个

buildroot源码包获取

可以从buildroot官网(http://buildroot.uclibc.org/download.html)获取buildroot源码包,我采用了官方资料里的13版,现在都更新到21版了,当然吃了不少亏,后来自己重新移植了20版。

源码包的使用

将源码包复制到XXX目录下,并解压tar -xvf buildroot-2013.02.tar.gz
进入目录,执行配置命令:cd /XXX/buildroot-2013.02
执行:make ARCH=arm menuconfig
配置界面如下:

target options配置

配置CPU参数:ARM (little endian) 指的是小端存储;二进制格式是ELF(和bin不同的是elf依赖于操作系统运行的二进制文件);CPU是Cortex-A8;
在这里插入图片描述

toolchain配置

将Toolchain type配置为External toolchain,表示要使用外部的编译器,然后在Toolchain中选择交叉编译工具的版本,如Linaro 2013.03,在Toolchain origin中选择Pre-installed toolchain,后面编译时,buildroot将会根据Toolchain path找到我们的交叉编译工具(我们的交叉编译工具安装到了/opt目录下,这个根据自己的编译器路径修改)。
在这里插入图片描述

System configuration

在system hostname一栏中输入开发板的名称,比如EVB335X,在system banner中可输入欢迎语,如welcome to EVB335X。在Init system中选择BusyBox,在/dev management中选择Dynamic using udev,即使用udev设备节点的方式,然后在Path to thepermission tables中选择设备节点的配置表,这里我们一定要选择system/device_table_dev.txt,否则后面在dev目录下将不会生成各 种设备节点。当然我们也可以手动的配置该文件,添加必要的节点或删除不需要的节点。Root password为配置进入linux控制台终端后的密码,为空则登录时不需要密码,默认登录用户名为root。Port to run a getty(login prompt)on 选择ttyo0,因为我们的调试uart就是这个。
在这里插入图片描述

Filesystem images

这个根据自己具体的需要生成镜像,我就生成了一个根文件系统的tar归档包,解压就是文件系统
在这里插入图片描述

Package Selection for the target

这个选项可以根据自己的需求选择,这些软件包都会在TOP_DIR的dl目录下,如果选配了就会加载到文件系统中,第一次会默认的需要下载源码包到dl目录下。

最后就是make等待啦

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值