自定义内核并使用传说中的文件系统Reisefs4!

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
smartyin
帖子: 99
注册时间: 2005-12-20 17:06

自定义内核并使用传说中的文件系统Reisefs4!

#1

帖子 smartyin » 2007-07-27 11:13

这段时间一直在我的Z61T笔记本上折腾Ubuntu,摄像头驱动一直没搞定(搜索了很多地方,发现SN9X201驱动居然还没开发出来,好不容易找到个非开源驱动居然还不能识别,郁闷)。在Reiserfs官网上看见Reiserfs4已经release了,于是就借着重新编译内核的机会用上了Reiserfs4,感觉还可以!

阅读提示:虽然我力求写的详细些,但是怎么配置内核我还是一笔带过,所以如果你不知道怎么配置内核,那么也没有必要看下去了,自己去找适合Ubuntu的deb包安装吧。

现在最新内核版本是2.6.23-rc1,但是针对vanilla版本内核的Reiserfs4补丁才到2.6.22版本,因此,我选择了2.6.22版本的内核(当然,mm版本的内核补丁已经支持2.6.23-rc1了,但是mm补丁不光是reiser4的,还有其他很多内容,如果你不希望配置内核的时候被烦死,甚至出现编译错误的情况,最好不要用!这条对老鸟以及内核编译狂症者无效^_^)。

1. 下载相关的源代码:Reiserfs4内核补丁vanilla内核源代码Reiserfs4文件工具Reiserfs4文件工具编译所需库文件源代码

2. 就是解压内核了,你可以解压到任何目录,而不是必须解压到/usr/src,我就是在自己的用户目录下建了个src目录,也就是/home/smartyin/src,同时把上面的下载的所有源代码都解压到这个目录下面。

3. 安装相关编译内核所需的包:

代码: 全选

sudo apt-get install build-essential kernel-pakage libtools libncurses5-dev


3. 进入内核目录,打补丁,配置内核:

代码: 全选

cd /home/smartyin/src/linux-2.6.22
patch -p1 < ../reiser4-for-2.6.22.patch
make mrproper
make menuconfig
内核中记得选上reiser4的支持(在filesystem中)

4. 编译并安装内核:

代码: 全选

sudo make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
sudo dpkg -i ../*.deb
5.从新启动并编译reiser4相关工具:
首先编译libaal库,进入源代码目录:

代码: 全选

./configure --prefix=/usr && make && sudo make install
然后编译reiser4文件系统工具,进入源代码目录:

代码: 全选

./configure --prefix=/usr && make && sudo make install
6. 现在,你的系统已经支持reiser4文件系统了。

下面要做的就是把现有文件系统转换成reiser4,这里就要根据自己的实际情况而定了,我把我的转换步骤写一下,仅供参考:

我的系统分区如下:/dev/sda8 ext2 /boot; /dev/sda9 xfs /; /dev/sda10 swap; /dev/sda11 xfs /home;我的用户目录是/home/smartyin。
首先,我把/home分区备份到/hometmp:

代码: 全选

sudo mkdir /hometmp
sudo cp -a /home /hometmp
然后编辑/etc/fstab,注释掉/dev/sda11挂载/home分区的那行!重启动!
这时候进不了gnome了,因为用户目录不在了!没关系,CTRL+ALT+F1进入命令行,登录!
将/dev/sda11升级到reiser4文件系统,并将跟分区/dev/sda9备份到/dev/sda11去:

代码: 全选

sudo su
mkfs.reiser4 /dev/sda11
mkdir /reiser4
mount -t reiser4 /dev/sda11 /reiser4
cd /reiser4
mkdir dev
mkdir proc
mkdir sys
cp -a /bin ./
cp -a /cdrom ./
cp -a /etc ./
cp -a /lib ./
cp -a /media ./
cp -a /mnt ./
cp -a /opt ./
cp -a /root ./
cp -a /sbin ./
cp -a /srv ./
cp -a /tmp ./
cp -a /usr ./
cp -a /var ./
cp -a /hometmp ./
cp /* ./
总之,保证所有根分区下的文件都拷贝到新的reiser4分区上,当然dev,proc,sys这个目录是不能拷的,还有不要拷贝自己哦,也就是/reiser4是不能拷贝的。
然后修改/reiser4/etc/fstab,将根分区由/dev/sda9改成/dev/sda11,然后reboot!
在启动到gurb菜单的时候按e键,修改启动选项中的root=后面的挂在分区,改成/dev/sda11,然后按b键boot!
这个时候就可以进入gnome了,这个时候把/dev/sda9升级到reiser4文件系统,并把根文件拷贝回来:

代码: 全选

sudo su
mkfs.reiser4 /dev/sda9
mkdir /reiser4
mount -t reiser4 /dev/sda9 /reiser4
cd /reiser4
mkdir dev
mkdir proc
mkdir sys
cp -a /bin ./
cp -a /cdrom ./
cp -a /etc ./
cp -a /lib ./
cp -a /media ./
cp -a /mnt ./
cp -a /opt ./
cp -a /root ./
cp -a /sbin ./
cp -a /srv ./
cp -a /tmp ./
cp -a /usr ./
cp -a /var ./
cp /* ./
mkdir home
mkdir boot
然后,恢复我的用户目录位置:

代码: 全选

sudo cp -a /home/smartyin /
修改/reiser4/etc/fstab成原来的样子,但是记得要把文件系统类型改成reiser4哦!
再次重启动,OK!
上次由 smartyin 在 2007-07-27 11:20,总共编辑 2 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2007-07-27 11:16

复杂。怕bug哦。

摄像头的,没驱动就别想了。曾经自己找相近的型号的驱动改,里面就是芯片的组合,2个数组,全部改了排列,也没排出摄像头的驱动,后来还是别人开发出才可以。
● 鸣学
smartyin
帖子: 99
注册时间: 2005-12-20 17:06

#3

帖子 smartyin » 2007-07-27 11:26

eexpress 写了:复杂。怕bug哦。

摄像头的,没驱动就别想了。曾经自己找相近的型号的驱动改,里面就是芯片的组合,2个数组,全部改了排列,也没排出摄像头的驱动,后来还是别人开发出才可以。
reiser4已经是release版了,应该没什么问题了,官网上是这么说的:
Reiser4 has just been released. Namesys has the most stringent QA process of any Linux maintainer, a firm belief that no user should hit a bug that developer testing could find first if the effort is made, a by now grand archive of filesystem tests, and no one on our mailing list can make it crash any more, and all of this is why it took us so long to release it, but until a program has seen a few million real users you should not use it for a mission critical server. For that, use ReiserFS V3 for now, as V3 has millions of users and goes many months between bug reports (and the bug reports we do get relate to tweaks someone outside Namesys added, not core code.).
大意就是,我们已经经过了无数测试,在maillist上的所有人都不能够让它崩溃了,但是不排除可能存在问题,毕竟这是个新文件系统,所以在特别重要任务的服务器上还是推荐用reiserfs3,毕竟这个推出时间很长了,经过无数检验!

所以,我认为这个应该很稳定了,大胆的用吧~~~~[/quote]
上次由 smartyin 在 2007-07-27 11:34,总共编辑 2 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#4

帖子 eexpress » 2007-07-27 11:28

在maillist上的所有人能够让它崩溃了
这。。。 :lol: 怕怕。支持下你。
● 鸣学
smartyin
帖子: 99
注册时间: 2005-12-20 17:06

#5

帖子 smartyin » 2007-07-27 11:31

eexpress 写了:
在maillist上的所有人能够让它崩溃了
这。。。 :lol: 怕怕。支持下你。
少打了一个字,呵呵!不好意思,已经改过来了!应该是
在maillist上的所有人都不能够让它崩溃了
谢谢支持阿,第一次写这么长的东西,以前都是怕麻烦!
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#6

帖子 stlxv » 2007-07-27 12:48

这东西有什么好的吗? :shock:
PHP是最好的语言!不服来战!
smartyin
帖子: 99
注册时间: 2005-12-20 17:06

#7

帖子 smartyin » 2007-07-27 16:45

stlxv 写了:这东西有什么好的吗? :shock:
据说是目前最快的文件系统~我解压缩kernel源代码的时候的确觉得很快!呵呵
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

#8

帖子 xhy » 2007-07-27 19:20

Reiserfs挂载起来太慢了


速度的快慢要看具体的文件类型 否则不具可比性
目前负债150多万
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#9

帖子 stlxv » 2007-07-27 20:34

smartyin 写了:
stlxv 写了:这东西有什么好的吗? :shock:
据说是目前最快的文件系统~我解压缩kernel源代码的时候的确觉得很快!呵呵
那个的快慢决定于具体环境和解压缩算法
PHP是最好的语言!不服来战!
NICMICHAEL
帖子: 309
注册时间: 2006-01-04 19:26

#10

帖子 NICMICHAEL » 2007-08-01 22:42

我已经操作到支持reiser4文件系统这一步了,但是,我正准备将系统转到reiser4时,突然发现/home目录容量不够,根本就放不下/,无奈,只好放弃使用reiser4。可惜啊!
Athlon 64 X2 Dual Core Processor 4200+ Socket 939 OC 2.8 GHZ
G.Skill DDR400 2 3 2 5 1GB *2 Dual Channel OC DDR500
Szgalaxy 8600 GTE 650MHZ/2000MHZ
Seagate 80GB *2 RAID 0+Maxtor 80G
DFI LanParty UT NF4-D
kernel 2.6.22-ck1 再见,Con Kolivas!
xiaoyong
帖子: 515
注册时间: 2006-05-20 10:38

#11

帖子 xiaoyong » 2007-08-03 21:02

grub能够识别reiserfs4吗,如果不能,怎么引导呢?
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#12

帖子 BigSnake.NET » 2007-08-03 21:05

NICMICHAEL 写了:我已经操作到支持reiser4文件系统这一步了,但是,我正准备将系统转到reiser4时,突然发现/home目录容量不够,根本就放不下/,无奈,只好放弃使用reiser4。可惜啊!
tar jcf 啊
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26

#13

帖子 windwiny » 2007-08-03 21:33

NICMICHAEL 写了:我已经操作到支持reiser4文件系统这一步了,但是,我正准备将系统转到reiser4时,突然发现/home目录容量不够,根本就放不下/,无奈,只好放弃使用reiser4。可惜啊!
不要一下子全换掉嘛 ,可以先尝试只换 /home 啊,,

上次冲动把全部分区换成 xfs,那是相当的失败
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#14

帖子 BigSnake.NET » 2007-08-03 21:34

windwiny 写了:
NICMICHAEL 写了:我已经操作到支持reiser4文件系统这一步了,但是,我正准备将系统转到reiser4时,突然发现/home目录容量不够,根本就放不下/,无奈,只好放弃使用reiser4。可惜啊!
不要一下子全换掉嘛 ,可以先尝试只换 /home 啊,,

上次冲动把全部分区换成 xfs,那是相当的失败
tar 慢死了吧..
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
蓝蓝
帖子: 953
注册时间: 2007-06-09 9:19
来自: 上海

#15

帖子 蓝蓝 » 2007-08-03 21:45

虽然用的是Reiserfs
但对它一点也不了解
太阳好毒…….
回复