编译内核出错 make: *** [include/linux/version.h] Error 2 编译内核出错

来源:互联网 发布:文件阅读软件 编辑:程序博客网 时间:2024/06/06 18:35


在make mrproper
make menuconfig后
再make时出现如下错误:
/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `set -e; echo ' CHK include/linux/version.h';
mkdir -p include/linux/; if [ `echo -n "2.6.16.27 .file null .ident GCC:(GNU)4.0.3 .
section .note.GNU-stack,,@progbitsy" | wc -c ` -gt 64 ]; then echo '"2.6.16.27 .
file null .ident GCC:(GNU)4.0.3 .section .note.GNU-stack,,@progbitsy" exceeds
64 characters' >&2; exit 1; fi; (echo \#define UTS_RELEASE \"2.6.16.27 .file null .
ident GCC:(GNU)4.0.3 .section .note.GNU-stack,,@progbitsy\"; echo \#define
LINUX_VERSION_CODE `expr 2 \\* 65536 + 6 \\* 256 + 16`; echo '#define
KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; ) <
/sources/linux-2.6.16.27/Makefile > include/linux/version.h.tmp;
if [ -r include/linux/version.h ] && cmp -s include/linux/version.h
include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp;
else echo ' UPD include/linux/version.h'; mv -f include/linux/version.h.tmp include/linux/version.h; fi'
make: *** [include/linux/version.h] Error 2






当第一次build内核的时候,会将/dev/null文件修改为普通的问题(原来是设备文件)
用ls -lrt /dev/null查看一下,可以看到正常的/dev/null的文件类型:
crw-rw-rw- 1 root root 1, 3 2008-06-28 01:00 /dev/null
在内核编译后,会变成:
-rw-rw-rw- 1 root root 1, 3 2008-06-28 01:00 /dev/null
注意上述两行的第一个字符,由原来的c字符变成-字符,也就是有设备文件变成了普通文件
只要重新建一下这个节点即可:
mknod -m 666 /dev/null c 1 3
然后再:
make
make modules_install