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

让linux支持xfs jfs reiserfs文件系统

使用的实验环境是:CentOS5.5内核版本是:2.6.18-194.el5,安装好开发环境

所需软件包:kernel-2.6.18-194.el5.src.rpm  jfsutils-1.1.14.tar.gz  reiserfsprogs-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

arch     CREDITS        fs       Kbuild       Makefile  REPORTING-BUGS  sound

block    crypto         include  kernel       mm        samples         usr

configs  Documentation  init     lib          net       scripts

COPYING  drivers        ipc      MAINTAINERS  README    security

[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           //内核修订版本号

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

xfs                   616712  0

# lsmod |grep jfs

jfs                   172516  0

# lsmod |grep reiserfs

reiserfs              285700  0

到此模块的编译和添加工作已经完成,接下来需要安装支持软件了

安装xfsprogs

# tar -jxvf  fsprogs_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.cramfs   mkfs.ext2     mkfs.ext3     mkfs.ext4     mkfs.ext4dev  mkfs.jfs      mkfs.msdos    mkfs.vfat     mkfs.xfs

可是却看不到make.reiserfs这样的命令,这是因为reiserfs文件系统创建命令是

[root@linux ~]# mkreiserfs

到此你的linux系统已经能支持xfs jfs reiserfs文件系统,赶紧新建个分区测试一下吧!

随梦奔跑

2011年6月21日

QQ群:18731199

你可能感兴趣的:(linux,so文件支持系统)