[原创]编译带 reiser4 和 ck 补丁的内核

编译安装或者制作Deb包
回复
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

[原创]编译带 reiser4 和 ck 补丁的内核

#1

帖子 BigSnake.NET » 2007-09-21 16:31

编译带 reiser4 和 ck 补丁的内核
http://bigsnakecat.blogspot.com/2007/09/reiser4.html

给新电脑安装上 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/ ... .6.tar.bz2
reiser4 for 2.6.22:
ftp://ftp.namesys.com/pub/reiser4-for-2 ... 2.patch.gz
提高桌面性能的 ck 补丁, 貌似以后不会出了:
http://www.kernel.org/pub/linux/kernel/ ... .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可以在这里找到:
http://ubuntu:ubuntuftp@ftp.ubuntu.org. ... es/kernel/
^_^ ~~~
要理解递归,首先要理解递归。

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

#2

帖子 windwiny » 2007-09-21 17:06

看起来也很累,懒得编译


你按 ubuntu 的默认选项编译一个 SMP的通用内核出来,让大家共享一下
头像
bones7456
论坛版主
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
送出感谢: 0
接收感谢: 8 次
联系:

#3

帖子 bones7456 » 2007-09-21 17:08

呃,先加精再看...
这样的文章瞄一眼就知道可以加精了 :lol: :lol:
关注我的blog: ε==3
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

#4

帖子 BigSnake.NET » 2007-09-21 17:09

bones7456 写了:呃,先加精再看...
这样的文章瞄一眼就知道可以加精了 :lol: :lol:
....Orz..
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40
送出感谢: 0
接收感谢: 5 次

#5

帖子 syrano » 2008-03-20 9:12

^_^ ~~~
Linux不用吃飯...但女朋友不是Linux...
难道... :oops:
回复

回到 “编译或打包”