Ubuntu 23.10更新后无法安装新内核,xone模块编译失败引发依赖问题
Ubuntu 23.10更新后无法安装新内核,xone模块编译失败引发依赖问题
看起来你遇到的是Ubuntu 23.10升级后,xone模块的DKMS编译失败,进而卡住新内核安装流程的典型问题。我们一步步来拆解解决:
第一步:先解决内核依赖包的配置问题
首先得把卡住内核配置的xone模块先移除,让系统能完成新内核的安装配置:
- 移除有问题的xone DKMS模块:
sudo dkms remove xone/v0.3-1-g2467407 --all - 重新配置所有未完成的系统包:
sudo dpkg --configure -a
这两步执行完后,应该能顺利完成linux-headers-6.5.0-10-generic及相关依赖包的配置,系统也能正常切换到新内核。
第二步:修复xone模块的编译适配问题
从make.log的错误信息来看,核心问题是Linux 6.5内核对uevent回调函数的参数做了const修饰,而你当前的xone版本代码没有适配这个变化(具体是gip_client_uevent函数的参数类型和内核定义不匹配)。要解决这个问题,需要更新xone到支持6.5内核的版本:
如果你是通过PPA安装的xone:
直接更新并重新安装DKMS包:
sudo apt update && sudo apt install --reinstall xone-dkms
如果你是手动编译的xone:
拉取最新的源码重新编译安装:
git clone https://github.com/medusalix/xone.git cd xone sudo ./install.sh
安装完成后,让DKMS为当前内核重新编译模块(注意替换版本号为你实际安装的新版本号):
sudo dkms install xone/v0.3-1-g2467407 -k 6.5.0-10-generic
第三步:验证修复效果
重启系统后,通过以下命令确认修复成功:
- 检查xone模块是否正常加载:
lsmod | grep xone - 确认当前使用的是新内核:
uname -r
问题根源补充
Ubuntu 23.10默认搭载的6.5内核,对设备模型的uevent回调接口做了小改动——将struct device*参数改为const struct device*。你之前安装的xone版本没有跟进这个内核API变化,导致编译时触发了incompatible-pointer-types的错误,DKMS编译失败后,内核头包的后置安装脚本返回错误,进而引发了一系列依赖包无法配置的连锁反应。
备注:内容来源于stack exchange,提问作者Shalora
相关产品推荐
相关产品推荐

