一、下载Latest stable release: 2022.08.1
下载地址:buildroot-2022.08.1.tar.gz
二、解压后进入buildroot目录加载配置文件
make imx6ullevk_defconfig
make menuconfig
1、Target options ---> 目标选项
Target Architecture (ARM (little endian)) ---> 目标体系结构
Target Architecture Variant (cortex-A7) ---> 目标体系结构变体
Target ABI (EABIhf) ---> 目标应用二进制接口
Floating point strategy (NEON/VFPv4) ---> 浮点策略
ARM instruction set (ARM) ---> ARM指令集
Target Binary Format (ELF) ---> 目标二进制格式
2、Toolchain ---> 工具链配置
根据实际需求配置如下:
Toolchain type (External toolchain) ---> 工具链类型(外部工具链)
Toolchain (Custom toolchain) ---> 工具链(自定义工具链)
Toolchain origin (Pre-installed toolchain) ---> 工具链来源(预装工具链)
(/opt/arm-none-linux-gnueabihf-v10.3.1) Toolchain path ---> 工具链路径
($(ARCH)-none-linux-gnueabihf) Toolchain prefix ---> 工具链前缀
External toolchain gcc version (10.x) ---> 外部工具链gcc版本
External toolchain kernel headers series (4.20.x) ---> 外部工具链内核头文件系列
External toolchain C library (glibc) ---> 外部工具链C库
3、Build options ---> 编译选项
4、System configuration ---> 系统配置
(buildroot) System hostname ---> 系统主机名
(Welcome to Buildroot) System banner ---> 系统欢迎语录
Init system (systemV) ---> 初始化系统模式,如/etc目录下BusyBox-/etc/x11,systemV-/etc/init.d/等
[*] Enable root login with password ---> 启用root登录密码
Root password ---> root登录密码
/dev management (Dynamic using devtmpfs + eudev) ---> 对/dev的处理方式有如下四种:
(1)Static using device table
这是 Linux处理设备文件的传统方法。使用这种方法,设备文件会被持久存储在根文件系统中(即重新启动后它们仍然存在),并且在系统添加或者移除硬件设备时,不能自动创建和删除这些设备文件。因此,Buildroot 使用设备表来创建一组标准的设备文件,默认设备表存储在Buildroot源代码的system/device_table_dev.txt文件中。
(2)Dynamic using devtmpfs only
devtmpfs是Linux内核中的一个虚拟文件系统,在内核 2.6.32 中引入(如果使用较旧的内核,则无法使用此选项)。在挂载到/dev后,此虚拟文件系统将在系统添加或者移除硬件设备时自动显示或者雄消失设备文件。devtmpfs文件系统在重新启动后并不持久,因为它是由内核动态填充的。
(3)Dynamic using devtmpfs + mdev
该方法同样依赖于 devtmpfs 虚拟文件系统(因此同样需要在内核配置中启用 CONFIG_DEVTMPFS 和 CONFIG_DEVTMPFS_MOUNT),但添加了 mdev 用户空间程序。mdev是 BusyBox 里面的一个组成程序,每次添加或移除设备时,内核都会调用mdev。
可以使用/etc/mdev.conf配置文件配置mdev,例如给设备文件设置特定的权限或所有权、在设备出现或消失时调用脚本或应用程序等等。允许用户空间对设备添加和删除事件做出反应。例如,当设备出现在系统上时,mdev 可用于自动加载内核模块。如果设备需要固件,则 mdev 也很重要,因为它会负责将固件内容推送到内核。
(4)(X) Dynamic using devtmpfs + eudev
此方法同样依赖于devtmpfs虚拟文件系统,但添加了eudev用户空间守护程序。eudev 是后台运行的守护程序,当系统添加或者移除设备时,内核将会调用eudev。
与 mdev 相比,它是重量级的解决方案,但是具有更高的灵活性。eudev是udev 的独立版本,udev 是大多数桌面 Linux 发行版中使用的原始用户空间守护程序,现已归入Systemd中。
5、Kernel ---> 内核
6、Target packages ---> 目标包
Audio and video applications ---> 音频和视频应用程序
Compressors and decompressors ---> 压缩器和解压器
Debugging, profiling and benchmark ---> 调试、剖析和基准测试
Development tools ---> 开发工具
Filesystem and flash utilities ---> 文件系统和flash实用程序
Fonts, cursors, icons, sounds and themes ---> 字体,游标,图标,声音和主题
Games ---> 游戏
Graphic libraries and applications (graphic/text) ---> 图形库和应用程序(图形/文本)
Hardware handling ---> 硬件处理
Interpreter languages and scripting ---> 解释器语言和脚本
Libraries ---> 库
Mail ---> 邮件
Miscellaneous ---> 其他参数
Networking applications ---> 网络应用程序
Package managers ---> 包管理工具
Real-Time ---> 实时用户空间
Security ---> 安全
Shell and utilities ---> Shell和工具
System tools ---> 系统工具
Text editors and viewers ---> 文本编辑器和查看器
7、Filesystem images ---> 文件系统镜像
(rootfs) filesystem label ---> 文件系统的标签
(100M) exact size ---> 镜像包大小
[*] tar the root filesystem ---> tar根文件系统
Compression method (bzip2) ---> 压缩方法
8、Bootloaders ---> 引导装载程序
9、Host utilities ---> 主机工具
10Legacy config options ---> 遗留的配置选项
三、保存配置,编译buildroot
make savedefconfig
make -j8
四、在output/images/目录下,生成“rootfs.tar.bz2”可烧录的文件系统镜像。
下一节配置network和QT5。