Linux Kernelをビルドする
環境: Ubuntu 11.04 (VMWare fusion)
準備
$ sudo apt-get install build-essential $ sudo apt-get install kernel-package libncurses-dev ncurses-dev libqt3-mt-dev
ソースを用意する
$ sudo apt-get install linux-source-2.6.38 $ cd /usr/src $ sudo tar xvfj linux-source-2.6.38.tar.bz2 $ cd linux-source-2.6.38
バグフィックス
via https://bugs.launchpad.net/ubuntu/+source/linux/+bug/505420
$ ln -s /usr/src/linux-source-2.6.38/ubuntu /ubuntu
config
いったん設定初期化してから設定画面を立ち上げる。
$ sudo make mrproper $ sudo make menuconfig
変更するconfig
Core i7 の 4coreでこんな感じの設定にしてみた。
Processor type and features: Processor family > Core 2/newer Xeon Maximum number of CPUs > 8 Preemption Model > Preemptible Kernel(Low-Latency Desktop) Timer frequency >1000Hz
現在の設定をそのまま使うとき
$ sudo cp /boot/config-2.6.35-24-server .config $ sudo make oldconfig
コンパイル
revisionは数値のみ指定できるみたい。適当に日付を指定。
$ make-kpkg clean $ make-kpkg -j8 --initrd --revision=yyyymmdd kernel_image kernel_headers
20~30分かかりました。
インストール
$ dpkg -i ../linux-image-2.6.38_yyyymmdd_amd64.deb
再起動して完了。