8.03.2007

building kernel in Debian's way

http://www.enterprisenetworkingplanet.com/netos/article.php/3691636

Debian 的 kernel source packages 叫做 linux-source-[version].
目前官方的kernel 版本是
  • linux-source-2.6.18 (stable)
  • linux-source-2.6.21 (testing and unstable)
  • linux-source-2.6.22 (unstable and experimental).

Binary kernel packages 會叫做 linux-image-[version].
從 2.6.12 版以後,開始使用這樣的方式。以前的package命名方式是 kernel-source 和 kernel-image packages.

取得kernel source 後,還需要build tool:
# aptitude install linux-source-2.6.22 kernel-package fakeroot
download 下來的source code會放在 /usr/src/。
我們先把他move 到 我們自己決定的 build directory:
# mv /usr/src/linux-source-2.6.22.tar.bz2 ~/kernel
到該目錄下,解開source
$ tar zxvf linux-source-2.6.22.tar.bz2
到解開的source 目錄下,開始config:
$ cd linux-source-2.6.22
$ make mrproper
$ make xconfig
Config完後,作:$ make-kpkg clean
$ make-kpkg -rootcmd fakeroot -rev kernel.1 linux_image
fakeroot 可以讓一般user 有build kernel 的權限,但不會讓你有run 其他command的權利.。

完成後,會有linux-image-2.6.22_kernel.1_i686.deb.
所以可以用dpkg來安裝(這樣,還會有機會用 -rev 解除安裝):
# dpkg -i linux-image-2.6.22_kernel.1_i686.deb
This installs the modules and handles module dependencies, creates a boot menu entry, and copies the kernel and related file to the /boot directory. Now you can reboot, select your new kernel from the boot menu, and play with your new kernel.
以上,純粹翻譯link文章的第一段。
原來是source 的package name不一樣了...

沒有留言: