|
|
我的机器原本装的是Win2000SP4(NTFS格式),前一段时间,我在机器上装了RedHat9.0(内核2.4.20-8),因为安装时默认是不支持NTFS格式的,所以只有重新编译内核。
我在网上下了不少关于内核编译的文章,于是参照网上的文章贮备升级内核到2.6.8.1版本(也更新了module-init-tools-3.0.tar.gz),但是编译的时候老师报错。我的编译过程如下:
1.先把内核压缩包拷到/usr/src/目录下。
2.解压缩tar -zxvf 内核压缩包(*.tar.gz)。
3.同理,解压缩tar -zxvf module-init-tools-3.0.tar.gz。
4.安装module-init-tools-3.0.tar.gz工具包。
sh configure --prefix=/
make moveold
make all install
./generate-modprobe.conf /etc/modprobe.conf
5.进入内核压缩包解压出来的目录(设为linux-2.6.8.1),编译内核。
make menuconfig(启动图形配置界面),选中fs下的NTFS格式,其它默认。
make #编译核心
make modules #编译配置时所选的模块
make install #安装内核
make modules_install #安装模块
(在make modules 时有错,忽略了)
6.查看grub配置文件(/boot/grub/grub.conf)
看到里面已经多了linux-2.6.8.1核心一项,启动所需要的镜像文件在各个目录下也存在。
7.重启系统选择linux-2.6.8.1核心,结果报错(找不到INIT),进不去。
后来,我又把2.4.20-8内核重新编译了一遍,方法基本同上,奇怪的是在/usr/src目录下,多了1个linux-2.4目录,所有编译的结果都在这里,grub里面也增加了一项,linux-2.4.20-8custom。重启后选择此项还是进不去。原因和上面一样。
再后来,我在配置文件中把所有的=m相的配置去掉,把CONFIG_NTFS的两个配置上面一个选为m,下面不选。重新make modules。再把生成的ntfs.o考到/lib/module/下面的2.4.20-8目录下的相应目录下。运行depmod没错,但是运行modprobe ntfs时老是报这个文件时为linux-2.4.20-8custom的,实在是不理解???
请高手指点! |
|