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
Comments
comments powered by Disqus