当前位置: 技术问答>linux和unix
linux 企业版5.3内核编译 出现问题
来源: 互联网 发布时间:2016-11-06
本文导语: 我在装上kernel-devel-2.6.18-128.el5-i686.rpm 后 ,进行了 make menuconfig 之后,进行相关设置TPM支持,保存后退出。 接着进行make bzImage 就出现了如下问题: [root@bogon 2.6.18-128.el5-i686]# make bzImage HOSTLD scripts/kconfig/con...
我在装上kernel-devel-2.6.18-128.el5-i686.rpm 后 ,进行了 make menuconfig 之后,进行相关设置TPM支持,保存后退出。 接着进行make bzImage 就出现了如下问题:
[root@bogon 2.6.18-128.el5-i686]# make bzImage
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf -s arch/i386/Kconfig
CHK include/linux/version.h
CHK include/linux/utsrelease.h
HOSTCC scripts/genksyms/genksyms.o
HOSTCC scripts/genksyms/lex.o
HOSTCC scripts/genksyms/parse.o
HOSTLD scripts/genksyms/genksyms
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/kallsyms
HOSTCC scripts/pnmtologo
HOSTCC scripts/conmakehash
make[1]: *** 没有规则可以创建“init/built-in.o”需要的目标“init/main.o”。 停止。
make: *** [init] 错误 2
请问各位能帮我解决一下吗? 有什么高招,谢谢赐教~~~!
[root@bogon 2.6.18-128.el5-i686]# make bzImage
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf -s arch/i386/Kconfig
CHK include/linux/version.h
CHK include/linux/utsrelease.h
HOSTCC scripts/genksyms/genksyms.o
HOSTCC scripts/genksyms/lex.o
HOSTCC scripts/genksyms/parse.o
HOSTLD scripts/genksyms/genksyms
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/kallsyms
HOSTCC scripts/pnmtologo
HOSTCC scripts/conmakehash
make[1]: *** 没有规则可以创建“init/built-in.o”需要的目标“init/main.o”。 停止。
make: *** [init] 错误 2
请问各位能帮我解决一下吗? 有什么高招,谢谢赐教~~~!
|
lz很猛啊,make menuconfig 之后就直接 make bzImage了
没有规则可以创建“init/built-in.o”需要的目标“init/main.o,
---------------
很经典的错误
就是make menuconfig 之后没有在根目录生成.config配置文件
也许你make menuconfig之后没有保存
编译内核,首先要把原先的内核配置文件找到。fedora下是/boot/config-2.6.25-14.fc9.i686
拷贝到新的内核源码根目录,改名为.config
这个也是make默认的配置文件。
首先 make oldconfig
这会比较新旧内核中旧的配置文件没有说明的内核选项,不懂的话一直按着回车采用默认设置吧。
最后的结果会写入到.config
然后 make menuconfig 进行进一步的配置,配置完后保存,默认也是保存到.config
然后 make 默认是按照.config来编译
接着 make modules
接着 make modules_install
然后 make bzImage
最后 make install
然后就可以 重启之后看到新的内核启动项了。
没有规则可以创建“init/built-in.o”需要的目标“init/main.o,
---------------
很经典的错误
就是make menuconfig 之后没有在根目录生成.config配置文件
也许你make menuconfig之后没有保存
编译内核,首先要把原先的内核配置文件找到。fedora下是/boot/config-2.6.25-14.fc9.i686
拷贝到新的内核源码根目录,改名为.config
这个也是make默认的配置文件。
首先 make oldconfig
这会比较新旧内核中旧的配置文件没有说明的内核选项,不懂的话一直按着回车采用默认设置吧。
最后的结果会写入到.config
然后 make menuconfig 进行进一步的配置,配置完后保存,默认也是保存到.config
然后 make 默认是按照.config来编译
接着 make modules
接着 make modules_install
然后 make bzImage
最后 make install
然后就可以 重启之后看到新的内核启动项了。
|
2.6.X的 内核好像不用这么麻烦了吧?
|
.config文件有错误。
重新配置内核。
重新配置内核。
|
另外,make clean; make 试试
|
2.6有隐含的。config,命名不了的啊
make clean 都错
|
2.6内核的这个make bzImage这个有必要吗?