当前位置: 首页 > news >正文

buildroot工具的使用方法

一、buildroot简介

buildroot是一套简单的定制linux系统的工具,更高级的有Yocto,基于make实现构建系统。

二、buildroot目录和文件介绍

  1. Config.in,保存配置菜单的具体选项,类似Linux源码中的KConfig,其存在位置有./ ./package/ ./package/xx/
  2. xx_defconfig,保存有配置菜单的默认配置选项,Linux存在同样的defconfig,其存在位置在./configs/
  3. .config,保存配置后的最终配置选项,Linux同样存在,在根目录,来自defconfig+menuconfig综合配置得到
  4. xx.mk,保存软件包的名称、版本、位置、依赖关系、配置选项、编译参数、安装目录等等
  5. xx.hash,存在哈希值,用作校验包的正确性
  6. dl目录,存储下载好的包,同样可以手动copy包到此处
  7. output/build目录,下载的包在此处进行解压、配置和编译
  8. output/staging目录,存储中间文件,包括头文件、库文件
  9. output/target目录,嵌入式文件系统的安装目录
  10. output/host目录,主机编译工具的安装目录
  11. output/images目录,最终生成的文件系统安装目录和镜像文件目录

三、编译过程

make xx_defconfig      //使用默认的系统配置
make menuconfig        //手工修改必要的配置选项
// 之后配置选项保存在.config中
make                  // 构建
1> 根据.config确定需要下载哪些包
2> 查看package/包/包.mk确定下载包的版本和链接
3> 下载完成后根据package/包/包.hash校验下载包的正确性
4> 下载完成的包存储在dl/包/包.tar.xx
5> 在output/build/包目录下解压
6> 根据package/包/包.mk进行config、build、install
7> 安装的包在output/target目录下
8> 根据配置选项BR2_ROOTFS_OEVRLAY指定的目录,将目录中的所有文件拷贝到output/target目录下
9> 打包output/target目录下的所有文件作为一个rootfs系统映像
10> 根据配置选项BR2_ROOTFS_POST_IMAGE_SCRIPT执行的脚本,运行此脚本,构建系统镜像

四、构建系统镜像的脚本介绍

genimage \--rootpath "${ROOTPATH_TMP}"   \--tmppath "${GENIMAGE_TMP}"    \--inputpath "${BINARIES_DIR}"  \--outputpath "${BINARIES_DIR}" \--config "${GENIMAGE_CFG}"
image boot.vfat {vfat {files = {"boot.bin","u-boot.img","system.dtb","uImage"}file extlinux/extlinux.conf {image = extlinux.conf}}size = 32M
}image sdcard.img {hdimage {}partition boot {partition-type = 0xCbootable = "true"image = "boot.vfat"}partition rootfs {partition-type = 0x83image = "rootfs.ext4"}
}
定义了两个分区,分区一是FAT32系统(0xC),并使用bootable设置为可启动分区,存储的内容是boot.vfat,分区二是Linux系统(0x83),存储的内容是rootfs.ext4
启动映像boot.vfat,大小是32M,文件包含"boot.bin","u-boot.img","system.dtb","uImage",以及一个extlinux和extlinux.conf文件
extlinux.conf文件内容表内核是uImage、设备树是system.dtb并且uboot传递给kernel的参数指定了串口、波特率、根文件系统目录
label linuxkernel /uImagedevicetree /system.dtbappend console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait
最后dd if=output/images/sdcard.img of=/dev/sdX 将sdcard.img拷贝到sd卡
http://www.sczhlp.com/news/2590/

相关文章:

  • [已解决]ubuntu24.04 ros-rolling 相机标定
  • 软工7.31
  • RTSP|RTMP播放器 in Unity:开源不够用?从工程视角重新定义播放器选型 - 详解
  • 2025.7.31
  • 【自学嵌入式:51单片机】用51单片机+蜂鸣器播放《忘れてやらない》前奏
  • 8
  • Microsoft Remote Desktop for mac(远程工具)安装教程(附mac安装包)
  • 常用Linux命令和Docker命令
  • mysql数据库的配置文件
  • 7月31日
  • 详细介绍:绘图库 Matplotlib Search
  • 20250731
  • 语法-变量
  • 编辑器-visual studio
  • 经典-判断输入的是否是闰年
  • 组合-循环与判断
  • 多项式全家桶【长期更新】
  • 引爆 AI 会议工具潮流,Granola 打造 2.5 亿美元估值产品的秘密丨Voice Agent 学习笔记
  • termux 图形化界面
  • 移动安全逆向常用
  • 蓝绿部署和金丝雀部署,滚动发布
  • 第十七篇
  • linux常用指令:(权限)
  • adb shell常用命令
  • adb常用命令
  • 面试题记录:分布式系统 如何保障 稳定性 可用性 可靠性
  • 7月27日随笔 - 20243867孙堃2405
  • 数组的遍历
  • Wise Duplicate Finder 重复文件查找工具 - 永久免费专业版文件去重工具
  • 利用模型上下文协议增强生成式AI解决方案 - 第1部分