リビルドするとか、リコンパイルするとか、再構築とか言ったりもする。
カーネルをコンパイルする準備
作業ディレクトリの作成$ mkdir kernel_src
$ cd ~/kernel_src
カーネルソースのダウンロード
http://www.kernel.org/pub/linux/kernel/v2.6/
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.gz
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.gz
ソースサイズ約90M
解凍する
$ tar zxvf linux-2.6.38.tar.gz
$ cd linux-2.6.38
現在実行中のカーネルとおなじ設定にするためコンフィグファイルをコピー
$ cp -vi /boot/config-`uname -r` .config
さらにカーネルをカスタマイズする
$ make menuconfig
保存して終了
コンパイル環境の設定
dual coreなら以下のようにする
$ export CONCURRENCY_LEVEL=2
設定する数字の一般的なルールは、プロセッサコア+1にする
カーネルをコンパイル
コンパイル
$ make-kpkg clean
$ fakeroot make-kpkg --initrd kernel-image kernel-headers
これだと、コンパイルに費やした時間がわからない
$ make-kpkg clean
$ time fakeroot make-kpkg --initrd kernel-image kernel-headers
コンパイルに費やした時間を計測する
環境
Ubuntu 10.04 on VMWare Fusion3
メモリ1024M
ディスク空き容量16G
ホスト側OS XでYouTubeを見ながらコンパイル
ホストCPU CoreDuo 3GHz
経過時間
real 112m24.390s
user 64m12.710s
sys 19m12.090s
成果物のサイズ
79,017個のアイテム、サイズは 6.1 GB
コンパイルには10G位、空き容量が必要っぽい
空き容量7Gだと、コンパイル中に警告が出る
カーネルとヘッダーのインストール
カーネルとヘッダーのインストール
$ cd ~/kernel_src
$ sudo dpkg -i linux-headers-2.6.38_2.6.38-10.00.Custom_amd64.deb
$ sudo dpkg -i linux-image-2.6.38_2.6.38-10.00.Custom_amd64.deb
再起動後、使用されているカーネルを確認する
$ uname -a
カーネルとヘッダーを削除
インストールされている名前を確認
$ dpkg -l | grep linux-image
削除
$ sudo dpkg -r linux-headers-2.6.38
$ sudo dpkg -r linux-image-2.6.38
パージで消せばリストに情報が残らない
$ sudo dpkg --purge linux-headers-2.6.38
$ sudo dpkg --purge linux-image-2.6.38
参考
How to compile a kernel on Ubuntu 10.04 ~ Linux Tweaking - http://linuxtweaking.blogspot.comhttp://linuxtweaking.blogspot.com/2010/05/how-to-compile-kernel-on-ubuntu-1004.html
How to compile a kernel from kernel.org in Ubuntu 10.04 LTS ~ Linux Tweaking - http://linuxtweaking.blogspot.com
http://linuxtweaking.blogspot.com/2011/02/how-to-compile-kernel-from-kernelorg-in.html
0 件のコメント:
コメントを投稿