Linux5.15.71编译问题处理

news2024/12/25 9:02:07

目录

  • 1 编译环境及源码版本
  • 2 移植Linux 5.15.71遇到问题
    • 2.1 imx-sdma 20ec000.dma-controller: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
    • 2.2 cfg80211: failed to load regulatory.db

1 编译环境及源码版本

​ 1. uboot-alientek-v2022.04

​ 2. linux-alientek-5.15.71.tar

​ 3. buildroot-2024.02.4

​ 4. Ubuntu-18.04.6

2 移植Linux 5.15.71遇到问题

2.1 imx-sdma 20ec000.dma-controller: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2

​ 系统启动完成后,出现如上错误,如下图所示:

15

​ 百度下出现上述错误信息原因如下:

​ Linux-4.9.88 目录下有目录 firmware,是用来存放不开源的固件的;对与 5.x 的内核,将这个目录去除了,因此对于Linux 5.15.71版本的源码需要手动增加此目录,sdma-imx6q.bin 是 NXP官方的 sdma 固件,没有开源。

​ 1. 在Linux 5.15.71源码文件中搜索imx-sdma 20ec000,在mx6ul.dtsi 文件中找到如下代码下图所示:

Screenshot 2024-08-03 191652

  1. 在Linux源码目录下新建 firmware/imx/sdma 目录,如下图所示:

Screenshot 2024-08-03 190318

​ 3. 下载sdma-imx6q.bin文件,打开Kernel.org git repositories网站,点击plain下载sdma-imx6q.bin文件,如下图所示:

Screenshot 2024-08-03 171008

​ 3. 将下载好的sdma-imx6q.bin文件拷贝到firmware/imx/sdma目录下,如图所示:

Screenshot 2024-08-03 190425

​ 4. 修改Linux配置文件(imx_alientek_emmc_defconfig),增加以下两条语句,如下图所示:

CONFIG_EXTRA_FIRMWARE_DIR="firmware"
CONFIG_EXTRA_FIRMWARE="imx/sdma/sdma-imx6q.bin"

Screenshot 2024-08-03 190914

​ 5. 对修改的Linux源码重新编译,编译过程如下图所示:

Screenshot 2024-08-03 192251

​ 6. 将编译好的Linux镜像文件(zImage)和设备树文件(imx6ull-alientek-emmc.dtb)下载到ALIENTEK开发板,启动完成后如下图所示:

Screenshot 2024-08-03 201111

​ 由上图可知, ”imx-sdma 20ec000.dma-controller: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2“ 错误已经解决,但是又出现了 ”cfg80211: failed to load regulatory.db“ 错误。

2.2 cfg80211: failed to load regulatory.db

​ 这个错误信息表明Linux内核的cfg80211配置组件在尝试加载规范数据库regulatory.db时失败了。cfg80211是无线电规范配置的核心部分,regulatory.db文件包含了各种国家和地区的无线电规范规定。这个问题通常发生在加载内核模块时,比如在启动过程中或者通过modprobe命令手动加载cfg80211模块时。

​ 可能的原因包括:

  1. regulatory.db文件缺失或损坏。

  2. 文件系统权限问题,导致内核无法读取该文件。

  3. 内核配置问题,可能是内核编译时未包含相应的配置。

    解决方法:

  4. 确认文件存在:检查/lib/firmware/目录下是否有regulatory.db文件。

  5. 文件权限:确保内核有足够的权限去读取regulatory.db文件。

  6. 重新编译内核:如果是内核配置问题,可能需要重新编译内核,确保包含了无线电规范的支持。

  7. 手动加载文件:尝试手动加载regulatory.db文件,可以使用modprobe命令。

  8. 更新固件:有时候固件更新能解决这类兼容性问题。

​ 通过检查Linux 5.15.71内核源码,发现/lib目录下并没有firmware目录,解决办法是手动创建/lib/firmware/目录并从https://mirrors.edge.kernel.org/网站下载最新的包,解压后将文件 regulatory.db 和 regulatory.db.p7s 复制到新建的/lib/firmware中,如下图所示:

Screenshot 2024-08-03 205746

Screenshot 2024-08-03 210138

Screenshot 2024-08-03 210420

Screenshot 2024-08-03 210511

​ 修改Linux内核配置文件imx_alientek_emmc_defconfigCONFIG_CFG80211=y 修改为 CONFIG_CFG80211=m,即将内核加载 regulatory database 更改为模块加载 regulatory database ,修改内容如下图所示:

Screenshot 2024-08-03 210726

​ 重新编译Linux内核源码,将编译好的Linux镜像文件下载到ALIENTEK-ALPHA开发板,重启后如下图所示:

Screenshot 2024-08-03 211942

​ 由上图可知, “cfg80211: failed to load regulatory.db“ 错误已经解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1991721.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

红酒与亚洲菜肴:品味东方韵味

当西方的红酒遇上东方的菜肴,一场跨越地域与文化的味蕾盛宴就此展开。洒派红酒(Bold & Generous)与亚洲菜肴的相遇,不仅是一场美食的邂逅,更是一次对东方韵味的深度品味。 一、红酒的醇厚与亚洲菜肴的精致 红酒&…

【Unity程序】和【控制台程序】连接【asp.net core的websocket服务】(1)——在编辑器中运行

一、说明 1、本文实验内容所涉及的开发环境说明: win11VisualStudio2022(.Net6.0)Unity2021.3.40 2、本文参考资料 【1】NativeWebSocketUnity包: https://github.com/endel/NativeWebSocket 【2】asp.net core架设websocket国…

【安卓】SharedPreferences存储

SharedPreferences使用键值对的方式来存储数据的。也就是说,当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把相应的值取出来。而且SharedPreferences还支持多种不同的数据类型存储,…

游戏原画可节省60-80%工时,大厂在用AI做什么

AIGC技术的迭代,是不是太快了点? 前年年中还是光速出图的Stable Diffusion,到年底就有了可以媲美真人的文本处理模型ChatGPT,今年开年又蹦出来了可以凭空变出视频、动画的Sora……我们对技术升级的认知被一次次刷新,同…

BHGMall生活超市天通苑店盛大开业,多重好礼只等你来

据悉8月10日,BHGMall生活超市天通苑店焕新开业,催旺“七夕浪漫经济”造福社区百姓,不仅提供助老服务,还有超值福利、多重好礼,倡导天天有低价,以实惠的价格买到优质的商品,提升居民幸福感和城市…

解题思考:为什么Java中使用Arrays.stream()创建流处理数组通常会增加开销,提高时间复杂度?

目录 问题描述:问题回答: 问题描述: 在解决力扣上的: 3131. 找出与数组相加的整数 I 时,使用传统遍历会比创建流处理数组的时间复杂度更低。 1.传统遍历代码: class Solution {public int addedInteger(i…

大模型与数据分析的融合:创新与发展的新机遇

大模型与数据分析的融合:创新与发展的新机遇 前言大模型与数据分析的融合 前言 大模型与数据分析的融合正成为推动企业发展的关键力量。大模型在数据分析领域展现出了强大的能力。它能够以接近人类的水平理解和处理自然语言,快速、准确地解析大量非结构…

vue实现PC端图片放大缩小可鼠标拖动,鼠标滚轮控制放大缩小完整代码付效果图

vue实现图片放大缩小可鼠标拖动&#xff0c;鼠标滚轮控制放大缩小完整代码付效果图 效果图&#xff1a; 创建一个ImageViewer 组件&#xff0c;并且在当前页面引用完整代码如下&#xff1a; 代码引用&#xff1a; <template><view><image-viewer :imageUrl&q…

大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

SOMEIP_ETS_022:echoStaticUINT8Array_One_Dimensional

测试目的&#xff1a; 确保DUT能够正确处理一维静态UINT8数组参数&#xff0c;并且在发送和接收过程中保持参数值和顺序不变。 描述 本测试用例将验证DUT在处理包含一维静态UINT8数组参数的SOME/IP消息时&#xff0c;是否能够准确地发送和接收这些参数&#xff0c;确保返回的…

[数据结构] 万字解析排序算法

文章目录 快速排序双指针法整体排序过程整理选择基准值&#xff08;Pivot&#xff09;单趟划分&#xff08;Partitioning&#xff09;递归分治&#xff08;Divide and Conquer&#xff09;终止条件合并 整体代码实现为什么相遇位置一定是小值&#xff1f;情况 1: 右指针j找到了…

HexView 刷写文件脚本处理工具-基本功能介绍(七)-导出VBF/GM/GM-FBL

导出Ford VBF数据容器 VBF文件格式是Ford和Volvo Cars使用的多功能二进制格式。此文件的输出基于“Versatile Binary Format”规范,版本从2.2至2.5。在对话框中输入的所有值将被写入INI文件。INI文件也可以用于命令行选项,以在不需要用户输入的情况下生成输出。 导出GM数据…

网卡与Linux网络结构(中)

1 socket数据结构 socket源码 socket结构体是操作系统网络编程接口的一个核心组件。在操作系统中&#xff0c;socket结构体定义了一个网络连接的抽象&#xff0c;包括文件描述符、地址信息、连接状态等。 socket结构体代码位于<include/linux/net.h> struct socket { s…

android13 串口编号修改 串口名修改

总纲 android13 rom 开发总纲说明 目录 1.前言 2.技术分析 别名定义的语法规则 3.修改示例 使用别名 注意事项 4.不生效分析 5.编译查看 6.其他方法 7.彩蛋 1.前言 更改Android设备的串口编号涉及对系统深层次的配置进行修改,通常是为了解决硬件兼容性问题或满足特…

MySQL:约束

目录 1、约束 1.1 约束类型 2、非空约束 2.1 没有指定not null 2.2 指定not null 3、唯一约束 3.1 没有指定unique 3.2 指定unique 4、默认约束 5、主键约束 5.1 主键 5.2 主键自增类型 5.2.1 主键自增全列插入 5.2.2 主键自增指定列插入 5.3 复合主键 6、外键约…

探秘充电桩测试负载箱

随着电动汽车的普及&#xff0c;充电桩已经成为了城市中不可或缺的一部分。为了保证充电桩的质量和安全性&#xff0c;对其进行严格的测试是必不可少的。而在这个过程中&#xff0c;充电桩测试负载箱扮演着至关重要的角色。那么&#xff0c;什么是充电桩测试负载箱&#xff1f;…

【问题记录】Python中用yield实现打字机效果

用yield实现打字机效果 前言示例注意点 前言 在人工智能&#xff08;AI&#xff09;领域&#xff0c;yield 函数在处理大数据集和实现异步编程时非常重要。 异步编程是一种常见的编程模式&#xff0c;它可以提高程序的执行效率。yield 可以用于实现协程&#xff0c;使得程序在…

未来已来:人工智能如何重塑Facebook的用户体验?

在数字化时代的浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;正成为推动技术进步和用户体验优化的核心力量。Facebook&#xff08;现Meta Platforms&#xff09;作为全球领先的社交媒体平台&#xff0c;正在充分利用人工智能技术&#xff0c;以重塑用户体验&#xff0…

文档翻译免费软件有哪些?不容错过的5个翻译利器

大学生暑期生活日常都丰富多彩&#xff0c;充满了挑战与收获。 他们不仅沉浸在外语学习的海洋中&#xff0c;努力提升语言能力&#xff0c;还深入钻研各类论文文献&#xff0c;积极探索学术的无限可能。然而&#xff0c;在这个过程中&#xff0c;不同语言的资料往往成为他们求…

spring boot3.x快速入门

下一篇&#xff1a;Spring Boot 3.x gradle脚手架工程build.gradle详解 本教程将基于gradle项目构建工具来快速构建一个spring boot 3.x的最简单的web应用&#xff0c;其中涉及各种构建技巧和细节&#xff0c;希望能帮到初学者~ 文章目录 先决条件JDK17gradle全局配置 gradle项…