2011年1月22日土曜日

Ubuntu(10.10)で最新Kernelビルド

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

0 件のコメント:

コメントを投稿