- 一、不要慌一步一步来
- buildroot目录结构
- 二、基本配置
- 2.1 Target Options 目标配置
- 2.2 Build options 构建配置
- 2.3 Toolchain 工具链配置
- 2.4 System configuration 系统配置
- 2.5 Kernel 内核配置
- 2.6 Target packages 目标包配置(下一节)
- 2.7 Filesystem images
- 2.8 Bootloaders
- 2.9 Host utilities
- 2.10 Legacy config options 老配置
- 2.11 保存设置与加载设置
- 保存设置
- 三、Target packages配置
- 3.1 安装WIFI相关
- 2.1 安装播放视频音频
- 选择安装 tinyalsa
- 选择安装:alsa-lib
- 选择安装:alsa-utils
- 2.2 buildroot 2020添加mplayer
- 选择安装:mplayer
- Buildroot里面添加mplayer
- 2.3 下载安装Qt
使用buildroot之前你确定:
- 你想使用buildroot下载安装编译器吗?
- 你想使用buildroot下载Linux然后编译吗?
- 你想使用buildroot下载uboot然后编译吗?
- buildroot/package/下面放着应用软件的配置文件,每个应用软件的配置文件有Config.in和soft_name.mk其中soft_name.mk(这种其实就Makefile脚本的自动构建脚本)文件可以去下载应用软件的包。
- buildroot/output/是编译出来的输出文件夹,里面的build/目录存放着解压后的各种软件包编译完后的现场。host/目录放着制作好的编译工具链,target/ 目录是用来制作rootfs的,里面放着Linux系统基本的目录结构,以及各种编译好的应用库和bin可执行文件。Images/目录下就是最终生成的可烧写到板子上的各种image。
- buildroot/dl存放下载的源码包及应用软件的压缩包
- buildroot/fs放各种文件系统的源代码
- buildroot/fs/skeleton放生成文件系统镜像的地方,及板子里面的系统
- buildroot/linux/ 存放着Linux kernel的自动构建脚本。
- buildroot/configs放置开发板的一些配置参数。
- buildroot/dl/目录存在从官网上下载的开源软件包,第一次下载后,下次就不会再去从官网下载了,而是从dl/目录下拿开源包,以节约时间。
- buildroot/docs/ 存放相关的参考文档。
- buildroot/arch/ 目录存放CPU架构相关的配置脚本,如arm/mips/x86 ,这些CPU相关的配置,在制作工具链,编译boot和内核时很关键。
- 目标架构:ARM(小端)
- 目标二进制格式:ELF
- 目标架构变体:Cortex-A7
- 编译器ABI: gnueabihf
- 浮点数策略:VFPv4-D16
- ARM架构集:ARM
Target Options的配置就出来啦!
2.2 Build options 构建配置暂无
2.3 Toolchain 工具链配置如下:
2.4 System configuration 系统配置如下配置(这里就不设置密码了[ ] Enable root login with password)
这里就不配置Kernel了,我外面自己编译咯!
这是最复杂的!工作量也基本在这!
下面专门一节介绍!
2.7 Filesystem images如下配置,主要就是两个红框。
和kernel一样的配置,我自己在外面编译u-boot咯!
暂无
2.10 Legacy config options 老配置暂无
2.11 保存设置与加载设置 保存设置如下红框内就是配置文件.config的地址(绝对地址)
这里工作量比较大,各个包之间有依赖关系。
3.1 安装WIFI相关- dhcpcd:(Target packages > Networking application)
- dnsmasq:(Target packages > Networking application)
- wireless tools:(Target packages > Networking application)
- wpa_supplicant:(Target packages > Networking application)
- openssl:(Target packages > Libraries > Crypto)
安装wpa_supplicant需要安装openssl
2.1 安装播放视频音频- alsa-lib:(Target packages > Libraries > Audio/Sound > alsa-lib)
- alsa-utils:(Target packages > Audio and video applications)
- mplayer:buildroot2020 没有这个了!!
安装tinyalsa,否则无法调声音。
# find ./ -name "tinymix" ./usr/bin/tinymix选择安装:alsa-lib
选中 alsa-lib,否则没声音
我使用的buildroot2020没有这个包,我从buildroot2017里面拷贝这个文件包来试一试:
文件:buildroot-2020.02.4/package/Config.in
source "package/mpg123/Config.in" source "package/mplayer/Config.in" source "package/mpv/Config.in"
可以配置了!
有报错
liefyuan@ubuntu:~/Liefyuan/cherry-pi/buildroot-2020.02.4$ sudo time make -j16 [sudo] password for liefyuan: Makefile.legacy:9: *** "You have legacy configuration in your .config! Please check your configuration.". Stop. Command exited with non-zero status 2 0.03user 0.02system 0:00.06elapsed 93%CPU (0avgtext+0avgdata 12324maxresident)k 10248inputs+80outputs (29major+11499minor)pagefaults 0swaps
有建议:
Config.in.legacy 移除 MPLAYER 试一试
buildroot-2020.02.4$ vim Config.in.legacy
1814行:注释掉以下
#config BR2_PACKAGE_MPLAYER # bool "mplayer package removed" # select BR2_LEGACY # help # The mplayer package was removed. #config BR2_PACKAGE_MPLAYER_MPLAYER # bool "mplayer package removed" # select BR2_LEGACY # help # The mplayer package was removed. #config BR2_PACKAGE_MPLAYER_MENCODER # bool "mplayer package removed" # select BR2_LEGACY # help # The mplayer package was removed. #config BR2_PACKAGE_LIBPLAYER_MPLAYER # bool "mplayer support in libplayer removed" # select BR2_LEGACY # help # The mplayer package was removed.
- 然后make menucofig
- 最后记得save一下!一定要记得,不然还是无法编译!
待定。。。



