栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

全志V3s学习记录(9)buildroot文件系统构建

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

全志V3s学习记录(9)buildroot文件系统构建

文章目录
  • 一、不要慌一步一步来
    • 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目录结构
  1. buildroot/package/下面放着应用软件的配置文件,每个应用软件的配置文件有Config.in和soft_name.mk其中soft_name.mk(这种其实就Makefile脚本的自动构建脚本)文件可以去下载应用软件的包。
  2. buildroot/output/是编译出来的输出文件夹,里面的build/目录存放着解压后的各种软件包编译完后的现场。host/目录放着制作好的编译工具链,target/ 目录是用来制作rootfs的,里面放着Linux系统基本的目录结构,以及各种编译好的应用库和bin可执行文件。Images/目录下就是最终生成的可烧写到板子上的各种image。
  3. buildroot/dl存放下载的源码包及应用软件的压缩包
  4. buildroot/fs放各种文件系统的源代码
  5. buildroot/fs/skeleton放生成文件系统镜像的地方,及板子里面的系统
  6. buildroot/linux/ 存放着Linux kernel的自动构建脚本。
  7. buildroot/configs放置开发板的一些配置参数。
  8. buildroot/dl/目录存在从官网上下载的开源软件包,第一次下载后,下次就不会再去从官网下载了,而是从dl/目录下拿开源包,以节约时间。
  9. buildroot/docs/ 存放相关的参考文档。
  10. buildroot/arch/ 目录存放CPU架构相关的配置脚本,如arm/mips/x86 ,这些CPU相关的配置,在制作工具链,编译boot和内核时很关键。
二、基本配置 2.1 Target Options 目标配置
  • 目标架构: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)

2.5 Kernel 内核配置

这里就不配置Kernel了,我外面自己编译咯!

2.6 Target packages 目标包配置(下一节)

这是最复杂的!工作量也基本在这!

下面专门一节介绍!

2.7 Filesystem images

如下配置,主要就是两个红框。

2.8 Bootloaders

和kernel一样的配置,我自己在外面编译u-boot咯!

2.9 Host utilities

暂无

2.10 Legacy config options 老配置

暂无

2.11 保存设置与加载设置

保存设置

如下红框内就是配置文件.config的地址(绝对地址)

三、Target packages配置

这里工作量比较大,各个包之间有依赖关系。

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

安装tinyalsa,否则无法调声音。

# find ./ -name "tinymix"
./usr/bin/tinymix

选择安装:alsa-lib

选中 alsa-lib,否则没声音

选择安装:alsa-utils

2.2 buildroot 2020添加mplayer 选择安装:mplayer

我使用的buildroot2020没有这个包,我从buildroot2017里面拷贝这个文件包来试一试:

文件:buildroot-2020.02.4/package/Config.in

	source "package/mpg123/Config.in"
	source "package/mplayer/Config.in"
	source "package/mpv/Config.in"

可以配置了!

Buildroot里面添加mplayer

有报错

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一下!一定要记得,不然还是无法编译!
2.3 下载安装Qt

待定。。。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/944010.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号