UbuntuでKernelをビルドしたくなり、そのときのメモ。 http://dogmap.jp/2009/06/19/rebuild-kernel/ を、参考に(ほぼそのままですが)しました。

/*** カーネル再構築に必要なパッケージをインストール ***/
$ sudo apt-get install build-essential
$ sudo apt-get install kernel-package libncurses5-dev libqt3-mt-dev
$ sudo apt-get install git git-core
$ sudo apt-get install fakeroot

/*** カーネルソースをインストールして展開 ***/
$ mkdir ~/src; cd src
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

/*** .config ファイルの作成 ***/
$ cd linux-2.6
$ cp /boot/config-2.6.35-xx-generic .config

/*** 好きなconfigをONにする。今回は、LGUESTと
例のミラクルパッチwをONにしてみた
http://gihyo.jp/admin/clip/01/linux_dt/201011/18
 ***/
$ make menuconfig

/*** カーネルのリビルド ***/
$ fakeroot make-kpkg clean
$ fakeroot make-kpkg --initrd --revision=.20110121 kernel_image kernel_headers

今はここまで。これが終わったら、以下を実行予定。

/*** .deb ができるので dpkg でインストール ***/
$ cd ..
$ dpkg -i linux-image-2.6.38.xx_20110121_x86.deb

# スクリプト化しよう。。

(2011/01/30追記)だったが、うまくいかなかった。。が、 試行錯誤し、以下のようなパッチをあててなんとかできるようになった。

--- /usr/share/kernel-package/ruleset/kernel_version.mk.orig 2008-05-02 07:06:28.000000000 +0200
+++ /usr/share/kernel-package/ruleset/kernel_version.mk    2010-07-08 00:02:45.316669641 +0200
@@ -62,7 +62,7 @@
  @echo "$(strip $(EXTRAVERSION))"

 debian_LOCALVERSION:
-  @echo $(if $(strip $(localver-full)),"$(strip $(localver-full))", "$(strip $(LOCALVERSION))")
+    @./scripts/setlocalversion

 debian_TOPDIR:
 # 2.6 kernels declared TOPDIR obsolete, so use srctree if it exists

参考サイト:http://d.hatena.ne.jp/kinneko/20110111/p53



Comments

comments powered by Disqus