香橙派5Plus启动报错bug: spinlock bad magic on cpu#6, systemd-udevd/443

一、问题

如图:

接上调试串口,每次启动都会报错。不过使用过程中没有发现有什么影响。

百度查阅,有一位博主提到,但是没有细说解决方案:

spinlock变量没有初始化_spinlock bad magic on-CSDN博客https://blog.csdn.net/longwang155069/article/details/52224284

问过客服,不回复。

我个人觉得大概率是内核软件问题,硬件我都测试过,cpu,lpddr,ssd都没问题。

系统为官方给的 Ubuntu 22,内核版本 5.10。

换成 debian 依然有这个问题,怀疑是 5.10 内核的问题。

二、编译内核

重新编译 5.10 版本的内核,我单独下载的内核源码进行编译,没有使用香橙派的 orangepi-build,在编译完成后使用 make install 进行的内核更新,没有使用 apt 进行管理。

重新安装内核后,依然有这个问题。

于是我使用 orangepi-build 进行编译,内核使用推荐的 6.1 版本。这次使用 deb 包的方式,先清除原有的内核,头文件,u-boot,以及设备树:

可以使用 dpkg --list | grep linux 查看安装的包:

我这里都是升级过的,所以包名带有 current ,代表 6.1 内核。如果是 5.10 内核,这里是 legacy

然后安装新的 deb 包:

卸载过哪些包,就对应安装哪些包。以下是我更新的部分:

详细步骤可以查阅手册,讲的比较细。

重新启动开发板:

这次干干净净,应该是没问题了。

更新内核建议修复软件依赖,防止软件因为版本问题报错:

bash 复制代码
sudo apt dist-upgrade
相关推荐
爱奥尼欧7 分钟前
【Linux】网络部分——网络基础(协议与网络传输)
linux·网络·arm开发
_dindong20 分钟前
Linux系统编程:线程概念
linux·运维·笔记·学习
雪饼android之路2 小时前
【Android】 android suspend/resume总结(3)
android·linux
老黄编程2 小时前
ubuntu如何查看一个内核模块被什么模块依赖(内核模块信息常用命令)?
linux·运维·ubuntu
知北游天2 小时前
Linux网络:使用UDP实现网络通信(服务端&&客户端)
linux·网络·udp
半桔2 小时前
【网络编程】TCP 粘包处理:手动序列化反序列化与报头封装的完整方案
linux·网络·c++·网络协议·tcp/ip
<但凡.3 小时前
Linux 修炼:进程控制(一)
linux·运维·服务器·bash
✎﹏赤子·墨筱晗♪4 小时前
Ansible Playbook 入门指南:从基础到实战
linux·服务器·ansible
乌萨奇也要立志学C++5 小时前
【Linux】进程概念(六):进程地址空间深度解析:虚拟地址与内存管理的奥秘
linux·运维
月殇_木言9 小时前
Linux 线程
linux