Android内核编译报错:cp无法创建常规文件'../img/zImage' 无该文件或目录
Android 3.0.40内核编译报错解决方案
问题核心原因
编译过程实际已经成功生成内核镜像zImage,报错由两个独立问题导致:
- 编译脚本预设的自动拷贝目标路径
../img不存在,拷贝步骤触发失败 - 之前使用超级用户权限执行编译,导致源码目录内部分生成文件的属主被改为root,因此生成的
zImage带有代表root所有权的锁形标识
修复步骤
- 创建缺失的输出目录
在源码根目录(即/home/username/Desktop/KERNEL/src/)执行以下命令创建脚本需要的输出目录:
mkdir ../img
- 修复源码目录权限
执行以下命令将整个内核源码目录的所有权改回当前普通用户,消除root权限残留导致的文件锁问题:
sudo chown -R $(whoami):$(whoami) /home/username/Desktop/KERNEL/src
- 重新执行编译
先清理之前的编译残留,再正常执行编译命令即可,无需再添加sudo权限:
make clean # 替换为你实际使用的make编译命令,比如带ARCH和CROSS_COMPILE参数的命令 make
临时替代方案
如果不需要脚本自动拷贝镜像,你可以直接手动复制已经生成的arch/arm/boot/zImage文件到你需要的位置使用,该镜像本身是完整可用的。
内容的提问来源于stack exchange,提问作者kadirgecit
相关产品推荐
相关产品推荐

