LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2730|回复: 0

Arch WiKi 译文:Reiser 4 FS howto

[复制链接]
发表于 2004-11-9 09:21:01 | 显示全部楼层 |阅读模式
Reiser 4 FS howto
Contributed by Itlain

这是我第一个尝试使用WiKi,所以请耐着点性子。无论改正什么,感觉都很好。这是社团集体努力的结果。警告,Reiser4仍旧没有稳定版,你可能需要为你的内核打上补丁。
Reiser4的有关信息:http://www.namesys.com/v4/v4.html

要升级到Reiser4,有3件重要的事必须在尝试之前完成。如下:

1.libaal
ftp://ftp.namesys.com/pub/reiser4progs/libaal-1.0.0.tar.gz

PKGBUILD

        pkgname=libaal
        pkgver=1.0.0
        pkgrel=1
        pkgdesc="libaal"
        url="http://www.namesys.com"
        depends=()
        install=
        source=(ftp://ftp.namesys.com/pub/reiser4progs/$pkgname-$pkgver.tar.gz)
        md5sums=('f4580ec2969f79eb2d29b97f3cb9f04e')
       
        build() {
          cd $startdir/src/$pkgname-$pkgver
          ./configure --prefix=/usr
          make || return 1
          make prefix=$startdir/pkg/usr install
        }


reiser4progs
ftp://ftp.namesys.com/pub/reiser4progs/reiser4progs-1.0.0.tar.gz

PKGBUILD

        pkgname=reiser4progs
        pkgver=1.0.0
        pkgrel=1
        pkgdesc="Reiser4 filesystem programs"
        url="http://www.namesys.com/v4/v4.html"
        depends=('e2fsprogs' 'libaal')
        source=(ftp://ftp.namesys.com/pub/reiser4progs/$pkgname-$pkgver.tar.gz)
        license=""

        build() {
          cd $startdir/src/$pkgname-$pkgver
          ./configure --prefix=/usr
          make || return 1
          make prefix=$startdir/pkg/usr install
        }


Kernel Patch
你还需要重新编译打上补丁的内核。有两种方法。我推荐的是下载vanilla 2.6.8.1内核。我用来升级内核的补丁在:http://members.optusnet.com.au/ckolivas/kernel/
将内核及补丁下载下来,并全解压到/usr/src。
执行:
        cd /usr/src/linux-2.6.8.1
        patch -p1 < patch-2.6.8.1-ck4
补丁就打上了——没有任何提示。
接下来就是设置并编译新内核,确保你将下述两项编译进内核:
        CONFIG_REISER4_FS=y
        CONFIG_REISER4_LARGE_KEY=y
而且,必须确保4k stacks没有选。选了就会出错。编译完后,确保执行make modules和make modules_install。

接下就是备份当前的系统。我的系统是这样配置的:
/dev/hda2为Reiser3,根分区
/dev/hda3为Reiser3,/home分区
/dev/hda4是swap分区

我以root身份执行下面的命令:
        cp -R /home /hometmp
这样,/home目录就备份好了,执行下面的命令,升级为Reiser4分区:
        mkfs.reiser4 /dev/hda3
        mkdir /reiser4
        mount -t reiser4 /dev/hda3 /reiser4
现在我的分区已挂好了,执行下面的命令,将当前系统拷入新的Reiser4分区:
        mkdir /reiser4/dev
        mkdir /reiser4/proc
        cp -a /etc /reiser4
        cp -a /bin /reiser4
        cp -a /var /reiser4
        cp -a /hometmp /reiser4
        cp -a /usr /reiser4
        cp -a /lib /reiser4
        cp -a /root /reiser4
        cp -a /boot /reiser4
        cp -a /tmp /reiser4
        cp -a /sbin /reiser4
        mkdir /reiser4/sys
确保已将全部文件及目录拷入了新的分区。接下来将调整/etc/fstab和/etc/lilo.conf。

我的新的lilo.conf

        boot=/dev/hda
        default=reiser4                  #将默认的boot分区改为Reiser4
        timeout=50
        lba32
        compact
        prompt
        image=/boot/arch
                label=arch               #老的reiser3 arch系统
               root=/dev/hda2
               read-only
                append="devfs=nomount"   #注意,我用的udev,如果你用的是devfs,就别加这一行,否则会出问题
        image=/boot/reiser4arch
                label=reiser4            #新的reiser4分区
                read-only
                root=/dev/hda3           #注意:这指向我的/home分区
                append="devfs=nomount"
        other=/dev/hda1
               label=dos                # What can I say. Need it for work

        # End of file




/etc/fstab

        none                   /proc         proc      defaults            0      0
        none                   /dev/pts      devpts    defaults            0      0
        none                   /dev/shm      tmpfs     defaults            0      0
        tmpfs                  /tmp          tmpfs     defaults            0      0
        usbfs                  /proc/bus/usb usbfs     defaults            0      0

        /dev/cdrom   /mnt/cd   iso9660   ro,user,noauto,unhide   0      0
        /dev/dvd     /mnt/dvd  udf       ro,user,noauto,unhide   0      0

        /dev/hda4 swap swap defaults 0 0
        #/dev/hda2 / reiserfs defaults 0 0             #注释掉旧系统(旧的根分区)
        /dev/hda3 / reiser4 defaults 0 0               #将/home分区改为root,类型改成reiser4


这样就搞定了,重新运行lilo安装新核心。

重启进入新系统——没有任何问题。
以root身份登录,执行:
        mv /hometmp /home
        cd /home
        chown -R username.group <userdir>         #将属主改成各个用户,否则就会有问题了
                                                       #我的是这样的"chown -R itlain.users itlain"

Logout,并以普通用户登录,启动X。到现在为止,一切OK,我也不希望会出现什么问题。
我的下一目标就是无论如何也要将我的老的root分区移到新的/home分区,把两者分开。
我对整个过程感到很开心。如果你有什么问题或见解,你可以在irc上找到我——在我没睡觉的时候,或者你可以发邮件给我esears AT fluxback DOT net(译注:请转换一下,尊重原作者的保密愿望)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表