- 论坛徽章:
- 0
|
国庆节快乐!!!!
kernel compiler请教: 编译新下载的内核是可以成功。但是在rhel5编译在使用的kernel中编译却报错!!
问题是这样的:
我在kernel.org上download了最新的内核版本(2.6.22.9)的内核。且在本机已经通过编译成功。(只测试了内核加载ntfs分区,结果加载后直接mount就可以。)
但是在rhel5 server的 /usr/src/kernels/2.6.18-8.el5-i686/ (rhel5默认的kernel路径) 本目录中执行 make时
CHK include/linux/version.h
CHK include/linux/utsrelease.h
make[1]: *** No rule to make target `init/main.o', needed by `init/built-in.o'. Stop.
make: *** [init] Error 2
但是用 /usr/src/linux.2.6.22.9/ 下却能顺利通过。 不明白其中原理。如果在实际环境中,需要编译现有内核将怎样解决呢?
编译 2.6.22.9内核的步骤。
1 去 kernel.org download 2.6.22.9.tar.gz 包
2 tar -zxvf kernel.2.6.22.9.tar.gz -C /usr/src
3 需要安装的包
yum install gcc*
yum install ncurses-devel.i386 5.5-24.20060715
需要安装gcc 及 ncurses 不然编译会意外停止。不知道为什么 。反正 装了这堆包后 再没报错。
4 make mrproper 确保源码没有不正确的.0文件,将原程序恢复到初始下载状态
make menuconfig 配置内核
make 大概是开始编译吧
make modules_install 将编译后的模块软件到系统标准位置
make install 从Makefile中读取指令,安装到指定位置。
5 整个编译过程需耗时 大约35-40分钟。 |
|