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
