linux|linux so文件支持系统,让linux支持xfs jfs reiserfs 文件系统

让linux支持xfs jfs reiserfs文件系统
使用的实验环境是:CentOS5.5内核版本是:2.6.18-194.el5,安装好开发环境
所需软件包:kernel-2.6.18-194.el5.src.rpmjfsutils-1.1.14.tar.gzreiserfsprogs-3.6.21.tar.bz2
xfsprogs_2.9.8-1.tar.bz2
好了,开始吧!
首先安装kernel-2.6.18-194.el5.src.rpm
# rpm -ivh kernel-2.6.18-194.el5.src.rpm
如果提示warning: group mockbuild does not exist - using root可以忽略
[root@linux fs]# cd /usr/src/redhat/SPECS/
[root@linux SPECS]# ls
kernel-2.6.spec
[root@linux SPECS]# rpmbuild -bp --target=$(uname -m) kernel-2.6.spec
[root@linux SPECS]# cd ../BUILD/kernel-2.6.18/linux-2.6.18.i686/
[root@linux linux-2.6.18.i686]# ls
archCREDITSfsKbuildMakefileREPORTING-BUGSsound
blockcryptoincludekernelmmsamplesusr
configsDocumentationinitlibnetscripts
COPYINGdriversipcMAINTAINERSREADMEsecurity
[root@linux linux-2.6.18.i686]# cp /boot/config-2.6.18-194.el5 ./.config
cp:是否覆盖“./.config”? Y//复制一个配置文件
[root@linux linux-2.6.18.i686]# vim Makefile//编辑Makefile文件,修改一下版本信息
VERSION = 2//内核版本的主版本号
PATCHLEVEL = 6//内核版本的次版本号
SUBLEVEL = 18//内核修订版本号
【linux|linux so文件支持系统,让linux支持xfs jfs reiserfs 文件系统】EXTRAVERSION = 194.el5//把此项修改为你当前系统内核版本的所使用的平台
RHEL_MAJOR = 5
RHEL_MINOR = 5
NAME=Avast! A bilge rat!
# make oldconfig
# mkdir .tmp_versions//创建一个编译过程中需要的目录
[root@linux linux-2.6.18.i686]# make menuconfig//打开内核编译选项窗口 (图1)

图1
选择要编译的文件系统选项,回车即可进入选项 (图2)

图2
选择xfs文件系统支持选项,直接按空格即可选中(图3)

图3
选择jfs文件系统支持选项,直接按空格即可选中(图4)

图4
选择reiserfs文件系统支持选项,直接按空格即可选中(图5)

图5
保存退出(图6,7,8)

图6

图7

图8
好了,开始编译三个文件系统支持模块:
[root@linux linux-2.6.18.i686]# make fs/reiserfs/reiserfs.ko
[root@linux linux-2.6.18.i686]# make fs/jfs/jfs.ko
[root@linux linux-2.6.18.i686]# make fs/xfs/xfs.ko
当前目录为:
[root@linux linux-2.6.18.i686]# pwd
/usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686
编译好后把模块拷贝的内核模块目录下,为发方便管理给三个模块分别建立三个目录
/lib/modules/2.6.18-194.el5/kernel/fs/
[root@linux linux-2.6.18.i686]# mkdir /lib/modules/2.6.18-194.el5/kernel/fs/xfs/
[root@linux linux-2.6.18.i686]# mkdir /lib/modules/2.6.18-194.el5/kernel/fs/jfs/
[root@linux linux-2.6.18.i686]# mkdir /lib/modules/2.6.18-194.el5/kernel/fs/reiserfs
把相应的模块放到刚创建的目录里
[root@linux linux-2.6.18.i686]# cp fs/xfs/xfs.ko /lib/modules/2.6.18-194.el5/kernel/fs/xfs/
[root@linux linux-2.6.18.i686]# cp fs/jfs/jfs.ko /lib/modules/2.6.18-194.el5/kernel/fs/jfs/
[root@linux linux-2.6.18.i686]
# cp fs/reiserfs/reiserfs.ko /lib/modules/2.6.18-194.el5/kernel/fs/reiserfs/
模块编译好后我们就可以添加了:
[root@linux linux-2.6.18.i686]# cd fs/xfs///进入到模块所在的目录
[root@linux xfs]# depmod -a//先解决一下模块依赖关系的问题
[root@linux xfs]# modprobe xfs//添加xfs模块,注意:只能学模块名;
[root@linux xfs]# cd ../../fs/jfs///切换到jfs模块所在目录
[root@linux jfs]# modprobe jfs//添加jfs模块
[root@linux jfs]# cd ../../fs/reiserfs///切换到reiserfs模块所在目录
[root@linux reiserfs]# modprobe reiserfs//添加reiserfs模块
添加完可以使用lsmod来查看模块是否添加成功
# lsmod |grep xfs
xfs6167120
# lsmod |grep jfs
jfs1725160
# lsmod |grep reiserfs
reiserfs2857000
到此模块的编译和添加工作已经完成,接下来需要安装支持软件了
安装xfsprogs
# tar -jxvffsprogs_2.9.8-1.tar.bz2
# cd xfsprogs-2.9.8/
[root@linux xfsprogs-2.9.8]# ./configure
[root@linux xfsprogs-2.9.8]# make
[root@linux xfsprogs-2.9.8]# make install
安装jfsutils
# tar xvf jfsutils-1.1.14.tar.gz
[root@linux jfsutils-1.1.14]# cd jfsutils-1.1.14
[root@linux jfsutils-1.1.14]# ./configure
[root@linux jfsutils-1.1.14]# make
[root@linux jfsutils-1.1.14]# make install
安装reiserfsprogs
# tar -jxvf reiserfsprogs-3.6.21.tar.bz2
[root@linux reiserfsprogs-3.6.21]# cd reiserfsprogs-3.6.21
[root@linux reiserfsprogs-3.6.21]# ./configure
[root@linux reiserfsprogs-3.6.21]# make
[root@linux reiserfsprogs-3.6.21]# make install
此时当你是用mkfs命令补全时能看到刚添加的xfs jfs文件系统创建命令:
# mkfs.
mkfs.cramfsmkfs.ext2mkfs.ext3mkfs.ext4mkfs.ext4devmkfs.jfsmkfs.msdosmkfs.vfatmkfs.xfs
可是却看不到make.reiserfs这样的命令,这是因为reiserfs文件系统创建命令是
[root@linux ~]# mkreiserfs
到此你的linux系统已经能支持xfs jfs reiserfs文件系统,赶紧新建个分区测试一下吧!
随梦奔跑
2011年6月21日
QQ群:18731199

    推荐阅读