您的位置】:知源论文网 > 理工类论文 > 计算机 > 正文阅读资讯:在RedHat中使用ReiserFS文件系统

在RedHat中使用ReiserFS文件系统

[作者:5189lw[来源:知源论文网]| 打印 | 关闭 ]

四、编译内核和模块

 

  注:如果你使用的是RedHat7.0,那么就需要首先边际Makefile并将其中所有的gcc替换为kgcc。首先需要从redhat7.0安装光盘上安装kgcc,若没有采取这一步,那么得到的内核将会显示kernel panics信息。Redhat7.0带的gcc2.96有很多的bug。所有的内核编译都应该使用kgcc来完成。

  gcc vs. kgcc:

  Linux 之父 Linus Torvalds 日前在 Linux核心邮件论坛中,表明了他对 Red Hat 7.0 的看法:『基本上不堪使用』。 节录这封信的内容重点:『坦白地说,任何使用 Red Hat 7.0 和他们那坏掉的编译器都会遇到麻烦。』『我不知道为何 Red Hat 选择释出那愚蠢的 gcc-2.96(一定通过没有任何 gcc 技术人员的批准 - gcc 人员对此也很生气),而且更令我惊讶的是他们显然已经知道他们用的这个编译器是坏的。他们包进了另一个好的编译器,叫它作 kgcc。』 『kgcc 意思是核心 gcc,显然因为 (a) 他们了解到核心编译错误比某些应用程序编译错误来得糟糕,和 (b)...』 『... 我认为 Red Hat 7.0 基本上并非一个可用的开发平台,而且我希望 Red Hat 将他们的编译器降级...』 Red Hat 执行长 Matthew Szulik 对 Linus Torvalds 这番话的反应是:他不是真正能回应 Linus 这项挑战的人选,而且他表示 Red Hat 也预料到会遭受这样的谴责。 Red Hat 7.0 备受争议的关键在于其中包含了 gcc 发展分支中的一个非正式的版本 gcc 2.96,gcc 小组曾表示『gcc 2.96 并非 gcc 正式版本』、『而且将来也不会有这个版本』,它只是在到达 gcc 3.0 路上的一站。 Red Hat 技术长 Michael Tiemann 最近曾为 Red Hat 7.0 使用 gcc 2.96 的决定作出辩护,他表示:『没有技术上更好的决策』、『因为其他的选择不会比较好 - 对 Red Hat 系列这样复杂的需求而言 - 比起走回头路,这项决定还能推动 gcc 3.0 的发展。』 Tiemann 还说,若批评者的矛头想要找个目标,对使用 gcc 2.96 的决定『你也可以怪我』。)下面我们将编译ReiserFS工具,相应的代码是存放在/usr/src/linux/fs/reiserfs/utils目录中的,首先make编译程序,然后再make install来安装程序。2.4内核中并没有包括这些工具,而需要另外下载。从这里可以下载。

  解压文件:

  # tar zxvf reiserfsprogs-3.x.0j.tar.gz

  # cd reiserfsprogs-3.x.0j

  # ./configure

  # make

  # make install

  不幸的是,并没有ext2toreiserfs之类的转换工具,因此将/从ext2转换为reiserfs就需要三步才能完成:

  1.创建一个新的分区,并格式化为ReiserFS格式。

  12.将数据从ext2分区拷贝到新分区。

  13.将新分区加载为根(/)

  创建新分区,ReiserFS并不需要一个特定的分区类型,因此就使用83(Linux):

  # fdisk -l /dev/hda

  /dev/hda9 2872 3126 2048256 83 Linux

  /dev/hda10 3127 3381 2048256 83 Linux

  在新分区上创建ReiserFS文件系统:

  # mkreiserfs /dev/hda10

  加载新的分区:

  # mount -t reiserfs /dev/hda10 /mnt/hda10

  拷贝数据到新分区:

  # cd /mnt/hda10

  # tar cvlf - /   tar xf -

  编辑fstab来指向新的root:

  /dev/hda10/reiserfs defaults 1 1

  创建指向reiserfsck的一个符号链接因为RedHat启动时将寻找fsck.reiserfs文件来扫描:

  # ln -s /sbin/reiserfsck/sbin/fsck.reiserfs

  保证系统lilo至少为21.6。这是第一个支持ReiserFS的版本,也可以在/boot目录中使用小容量的ext2文件系统。但是升级lilo更好一些。也推荐使用GRUB来实现引导。

  当在lilo.conf中使用新的内核时需要运行lilo程序。其中lilo.conf中需要将root指向新的内核所在分区。

 

Tags: