buildroot快速入门

buildroot快速入门 cxcc 2023-07-28 08:47:53 987

buildroot

为了和文件系统区分,本文将根目录中的内容称为根文件结构

buildroot是一个构造根文件结构的工具,在使用buildroot之前我们可能常常使用busybox构建根文件结构。busybox包含Linux的很多基本工具,但是在开发过程中往往需要移植一些busybox中不包含的其它工具。而buildroot更像增强版的busybox,使原来busybox不包含的工具也能通过menuconfig菜单选中并自动加到最终的根文件结构中。

buildroot的核心依然是busybox,通过busybox构架基本的文件结构。随后根据每个软件包的安装脚本将对应的软件安装到基本的根文件结构中。所以说buildroot更像增强版的busybox

一、buildroot基本目录介绍

只介绍常用的,全部的详细介绍可以到网上查找。

  1. buildroot/package/:存放软件包的配置文件,编译安装脚本
  2. buildroot/output:输出 文件
    1. host:当前平台工具
    2. build:所有源码包解压出来的文件存放地和编译的发生地
    3. target:存放Linux的文件结构,但是并不是最终使用的文件结构
    4. Images:生成镜像存放的目录
  3. buildroot/dl:软件包的存放位置

需要注意的是dl文件夹,编译过程中会在此目录查找软件包,如果找不到会通过网络进行下载。如果此时网络连接超时(懂的都懂)编译过程就会停止。我们可以自行下载软件包放到对应的目录即可。

二、buildroot的配置

在首次配置时需要指定自己的交叉编译工具链,平台等。当然如果有芯片官方支持的buildroot就无需配置了。

  1. Target options:目标选项
    1. Target Architecture:目标架构 【AArch64 (little endian)】
    2. Target Architecture Variant:子架构 【cortex-A53】
    3. Floating point strategy:浮点运算器【VFPv4-D16】
  2. Toolchain:工具链配置
    1. Toolchain type:工具链类型【External toolchain】
    2. Toolchain:【Custom toolchain】
    3. Toolchain origin:【Pre-installed toolchain】
    4. Toolchain path:工具链路径【/opt/linux/x86-arm/aarch64-mix210-linux】只需到bin的上层目录即可
    5. Toolchain prefix:工具链前缀【aarch64-mix210-linux】最后无需-
    6. External toolchain gcc version:gcc版本【7.x】根据实际选择,否则会报错,可执行aarch64-mix210-linux- --version查看
    7. External toolchain kernel headers series:【4.19.x】如果报错了就配置一下
    8. External toolchain C library:工具链C库【glibc】
    9. Toolchain has C++ support:工具链支持C++
  3. System configuration
    1. Root filesystem overlay directories:指定一个目录,会使用该目录覆盖生成的根文件结构得到最终的根文件结构。可以在这个目录添加自己想放到根文件结构中的文件。
  4. Target packages:在此选项下选择自己需要的软件包
  5. Filesystem images:在此选择最终的镜像格式

目标选项并不多,如果可以尽量选择更贴近平台的选项。至少选定目标架构

以上是基本配置,更多配置可以在menuconfig中查看

三、编译

由于在配置中已经指定架构、工具链,因此编译时无需重新指定。

make -j 20

编译后的镜像在output/Images目录

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
cxcc
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
cxcc
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区