编译带 reiser4 和 ck 补丁的内核

给新电脑安装上 ubuntu 7.10 的最小系统后, 继续 DIY 计划, 启用 reiser4. 但默认的 ubuntu 内核是不带 reiser4 的, 所以要自己编译一个内核.
参见这篇文章.

首先安装编译内核需要的东西:

sudo apt-get install linux-kernel-devel fakeroot kernel-wedge kernel-package
sudo apt-get build-dep linux-source

然后下载内核和补丁, 我用的是2.6.22.6的内核:
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2
reiser4 for 2.6.22:
ftp://ftp.namesys.com/pub/reiser4-for-2.6/2.6.22/reiser4-for-2.6.22-2.patch.gz
提高桌面性能的 ck 补丁, 貌似以后不会出了:
http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.22/2.6.22-ck1/patch-2.6.22-ck1.gz

为了保证文件完整, 还下载了 sign 文件进行检验, 如果不知道 gpg 是什么就可以无视这句.

另外, 经过N次失败得出结论: Ubuntu 的 linux-source 包提供的源码是不行的, 一定要 vanilla 内核才可以.

现在材料都准备好, 可以开始:
1. 解压

tar xfv linux-2.6.22.6.tar.bz2 && cd linux-2.6.22.6

2. 打补丁. 注意 ck 补丁直接打是不行的, 要先修改第5160行, 把 "-EXTRAVERSION =" 改成 "-EXTRAVERSION = .6". 然后

zcat /somepath/reiser4-for-2.6.22-2.patch.gz | patch -p1
cat /somepath/patch-2.6.22-ck1 | patch -p1

当然, 保险的做法是要先 --dry-run.

3. 配置并编译

make mrproper
make oldconfig

提示的选项我这样选

Support for prefetching swapped memory (SWAP_PREFETCH) [Y/n/?] y
...
Timer frequency
  1. 100 HZ (HZ_100)
  2. 250 HZ (HZ_250_NODEFAULT)
> 3. 300 HZ (HZ_300)
  4. 1000 HZ (HZ_1000)
  5. 1500 HZ (HZ_1500)
  6. 2000 HZ (HZ_2000)
  7. 3000 HZ (HZ_3000)
  8. 4000 HZ (HZ_4000)
  9. 5000 HZ (HZ_5000)
  10. 7500 HZ (HZ_7500)
  11. 10000 HZ (HZ_10000)
choice[1-11?]: 3
...
Reiser4 (EXPERIMENTAL) (REISER4_FS) [Y/n/m/?] y
  Enable reiser4 debug mode (REISER4_DEBUG) [N/y/?] n
...

然后

make menuconfig

按需配置. 我删了很多无用的东西, 经实验如果按默认配置编译要44min, 删掉无用的驱动后就只需11min... -_-!..

4. 好了, 现在可以开始编译

(time make-kpkg --rootcmd fakeroot --initrd \
--append-to-version=-ac-20070920 \
kernel_image kernel_headers linux_image linux_headers modules_image) 2>&1 | tee ../makelog

5. 编译成功后, 安装内核和头文件

cd ..
sudo dpkg -i linux-headers-2.6.22.6-ck1-ac-20070920_2.6.22.6-ck1-ac-20070920-10.00.Custom_i386.deb \
linux-image-2.6.22.6-ck1-ac-20070920_2.6.22.6-ck1-ac-20070920-10.00.Custom_i386.deb

重启到新内核, 一切正常 :-) . 接着搞reiser4, 方法参见
http://www.namesys.com/install_v4.html

打了补丁的内核,配置文件,makelog可以在这里找到.

  1. Welcome ~

    Life is like a box of chocolates,
    you never know
    what you gonna get.


  2. 因为某原因, google blog 暂时停止更新..
    by AutumnCat, 2007-6-12
  3. 最新文章

  4. 最新评论

  5. 分类

  6. 归档