Ubuntu 22.04编译NXP驱动后命令执行异常,疑似“变砖”求助
Ubuntu 22.04编译NXP驱动后命令执行异常,疑似“变砖”求助
别慌,这机器没真变砖,问题根源其实很明确,咱一步步来解决:
问题分析
从你提供的echo $PATH和type sudo结果能看出:
- 你的环境变量
PATH里,/home/cwade/bin排在系统默认的命令目录(比如/usr/bin)前面 - 当前调用的
sudo是/home/cwade/bin/sudo,这个文件是aarch64架构的二进制程序,而你的Ubuntu 22.04应该是x86_64架构的系统,所以系统找不到aarch64对应的动态链接器/lib/ld-linux-aarch64.so.1,导致报错。 - 万幸
/bin/ls还能正常用,说明系统原生的命令都没问题,只是被优先级更高的错误文件干扰了。
解决步骤
先删掉错误的
sudo文件
直接调用系统原生的sudo完整路径来执行删除操作:/usr/bin/sudo rm /home/cwade/bin/sudo清理
/home/cwade/bin下其他可能的aarch64文件
编译NXP驱动时可能不小心把交叉编译工具链里的其他aarch64程序也放到了这个目录,用file命令检查并清理:/usr/bin/sudo file /home/cwade/bin/*找到输出里标注为
aarch64的二进制文件,用rm命令删掉它们。验证修复效果
执行以下命令确认:type sudo正常应该输出
sudo is /usr/bin/sudo,之后再试sudo ls,应该就能正常执行了。
补充说明
这个问题大概率是你在交叉编译NXP驱动时,误将目标架构(aarch64)的工具程序安装到了个人用户目录,而因为PATH的优先级设置,系统优先调用了这些错误架构的程序,导致出现异常。后续编译驱动时要注意安装路径,避免覆盖或干扰系统原生命令。
备注:内容来源于stack exchange,提问作者cdubs




