Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103639656
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-05-02 10:39:55

文章分类:

这段时间一直在我的Z61T笔记本上折腾Ubuntu,摄像头驱动一直没搞定(搜索了很多地方,发现SN9X201驱动居然还没开发出来,好不容易找到个非开源驱动居然还不能识别,郁闷)。在上看见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. 下载相关的源代码:、、、。

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!

原文链接:

阅读(263) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~