论企业网站职能建设,微信小程序如何推广,舆情app免费,网页小游戏免费秒玩寒暄几句
学习了uboot、内核、busybox根文件系统#xff0c;想着做一个音频播放器。最后发现好像busybox好像没有带aplay架构#xff0c;这就很麻烦需要自己移植。为了简便我就找大佬沟通了一下#xff0c;大佬推荐了Buildroot工具来制作根文件系统。
平台
开发板#x…寒暄几句
学习了uboot、内核、busybox根文件系统想着做一个音频播放器。最后发现好像busybox好像没有带aplay架构这就很麻烦需要自己移植。为了简便我就找大佬沟通了一下大佬推荐了Buildroot工具来制作根文件系统。
平台
开发板正点原子阿尔法 Ubuntu版本16.04 buildroot工具来源正点原子提供的资料包中 uboot原厂制作的uboot 内核原厂制作的内核 4.1.5 交叉编译器 arm-linux-gnueabihf 4.9.4
配置buildroot
1将buildroot工具包解压进入目录后在目录中输入命令 make menuconfig然后会进入如下界面 配置介绍 1Target options为构建目标选择特性和配置参数芯片架构、芯片类型等 2Build options配置编译构建相关的配置参数 3Toolchain配置工具链和编译器特性选择工具来源 4System configuration配置生成的文件系统的配置文件和启动特性 5Kernel配置linux内核特征和参数 6Target packages选择和配置所需要的软件包和软件环境 7Filesystem images配置经buildroot编译构建后的文件系统的镜像格式 8Bootloaders选择和配置启动加载程序Bootloaders该选项用于选择和配置启动加载程序 9Host utilities配置是否构建编译出宿主机上的一些工具套件 10Legacy config options随着历史版本更迭原因该选项用于配置一些遗留下来的特性
Target options Target Architecture目标处理器架构 Target Binary Format目标二进制格式 Target Architecture Variant目标处理器内核 Target ABI目标ABI应用程序二进制接口 Floating point strategy浮点策略 ARM instruction setARM指令集
Build options
不做配置
Toolchain Toolchain type选择外部编译还是内部编译 Toolchain选择编译工具使用buildroot自带的还是自定义已经下载的编译器 Toolchain origin选择编译器来源 Toolchain path 选择交叉编译器绝对地址 Toolchain prefix 设置编译前缀例如arm-linux-gnueabihf External toolchain gcc version选择编译器gcc版本 External toolchain kernel headers series选择内核版本 External toolchain C library选择c语言库
System configuration Root password设置密码
Kernel
不做配置
Target packages 添加alsa框架这个框架主要是针对音频的。 选择alsa-utils音频开发框架这是音乐播放器最关键的开发框架
Filesystem images
不做配置
Bootloaders
不做配置
Host utilities
不做配置
Legacy config options
不做配置
编译
配置完成后保存退出然后输入 make all 编译期间编译时间有点长请耐心等待。编译完成根文件系统在output/images/目录下名称为rootfs.tar。之后使用cp指令复制到NFS配置的目录下解压即可。
问题注意
解压挂在的根文件或无法运行报错 这是由于根文件系统下bin目录下的软连接全部失效了cd至bin目录下然后运行指令
sudo chown root * -R然后再次上电即运行运行后如果在系统设置中设置了密码原来的密码将无法使用所以建议不要设置密码。
#参考文章 buildroot编译文件系统出现错误 buildroot使用笔记-01 | 常规使用步骤