让RH4U4支持Reiserfs文件系统
*************************************************************************************************
本机环境:RHEL4u4(2.6.9-42)
需要的软件包:
2.6.18支持reiserfs的补丁
wget [url]ftp://ftp.namesys.com/pub/reiser4-for-2.6/2.6.18/reiser4-for-2.6.18-3.patch.gz[/url]
2.6.18内核:
wget [url]http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2[/url]
you need to work with ReiserFS (mkreiserfs)
wget [url]ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.19.tar.gz[/url]
(在安装reiserfsprogs也有可能用到):
[url]ftp://ftp.namesys.com/pub/reiser4progs/libaal-1.0.5.tar.gz[/url]
**************************************************************************************************
实际的安装步骤:
# cd /usr/src
# tar zxvf linux-2.6.18.tar.bz2
# cd linux-2.6.18
# cp ../reiser4-for-2.6.18-3.patch.gz /usr/src/linux-2.6.18
# gunzip -c reiser4-for-2.6.18-3.patch.gz | patch -p1
# cp /usr/src/kernels/2.6.9-42.EL-i686/.config /usr/src/linux-2.6.18
# make menuconfig
Code maturity level options--> Prompt for development and/or incomplete code/drivers
File systems--> Reiser4 (EXPERIMENTAL)
    Reiserfs support-->Stats in /proc/fs/reiserfs
去掉Kernel hacking中的Use 4Kb for kernel stacks instead of 8Kb
# make
# make bzImage
# make modules
# make modules_install
# make install (这步会将你新编译的内核自动写到/etc/grub.conf中)
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.18
# cd /boot
# mkinitrd /boot/initrd-2.6.18.img 2.6.18
基本上就OK了,重新引导系统进入到新内核中

(根据你的实际情况,操作下列步骤)
# tar -xzvf libaal-1.0.5.tar.gz
# cd libaal-1.0.5
# ./configure
# make
# make install
# tar zxvf reiserfsprogs-3.6.19.tar.gz
# cd reiserfsprogs-3.6.19
# ./configure
# make
# make install
# mkreiserfs /dev/sda3
# mount -t reiser4 /dev/sda3 /data/
附:
1)测试reiser4的小脚本
#!/bin/sh
dir_count=40000
LOOP=0
while [ ${LOOP} -lt $dir_count ] ; do
 mkdir ${LOOP}
 LOOP=$((${LOOP}+1))
done
2)如果编译的内核在引导的时候出现错误 可以参考一下办法处理
如果出现No module mptscsi found for kernel 2.6.18, aborting.
先要修改一下/etc/modprobe.conf文件,把里面的
alias scsi_hostadapter1 mptscsi注释掉
#alias scsi_hostadapter1 mptscsi不然你会得到一个2.6.18.5内核没有mptscsi模块的错误
好了使用如下命令:
mkinitrd --preload=scsi_mod --preload=sd_mod /boot/initrd-2.6.18.img 2.6.18(这里你需要看一下/lib/modules下面的新内核活页夹名字)
然后修改grub
接着reboot用新内核引导
当然如果你能直接引导的话,那么恭喜您。您可以使用一个新内核了。
或者你会看到以下错误:
Enforcing mode requested but no policy loaded. Halting now.
Kenerl panic - not syncing: Attempted to kill init!
万一你不幸看到这个错误后,请不要慌张。你应该重新启动计算机,然后用旧内核进入。修改grub.conf文件在kernel (your new kernel)后面加上enforcing=0就可以了
如果是VFS:cannot load root=LABEL=/的错误,也请你用旧内核启动,更改root=LABEL=/为root=/dev/sdan(这里看你安装的分区数目来填)