▼ 2007/08/22(水) 【Debian】 カーネル再構築
Debianのカーネル再構築方法のメモでも書いておくことにしますよ。
予めインストールしておくもの
libncurses-dev // make manuconfig するのに必要
fakeroot
aptitude
上の準備が出来たら、先ずはソースパッケージを取得する。
ここで取得したカーネルソースは、/usr/src 以下に圧縮ファイルとして
置かれているので、適当なディレクトリに展開する。
今回は、/var に kernel/ というディレクトリを作成し、そこに展開する。
$ sudo mkdir /var/kernel
$ sudo chown chibi:chibi /var/kernel
$ cd /var/kernel
$ bzcat /usr/src/linux-source-2.6.18.tar.bz2 | tar xvf -
展開したディレクトリに移動し、Makefileを微調整し、make mrproper を実行する。
$ vi Makefile
EXTRAVERSION = ← 4行目
↓
EXTRAVERSION = -chibi-20070708
$ make mrproper
Makefileの修正は必須ではないけど、どんな修正を入れるのか記述しておくと
あとで分かりやすくなる(カーネルの名前に追記されるので)
現在の設定を引き継ぎたい場合は、設定ファイルを .config として
ソースファイルにコピーしておく。
その後、現在のカーネル用に設定ファイルを変換。
$ make oldconfig
カーネルの設定を行う
HDDアクセス関係のものはモジュールとして読むのでは無く、
組み込みにしないと起動時に kernel panic となるので注意。
基本的には以下の2つの項目。
Device Drivers --->
File systems --->
あとは不要なものを読み込まないようにしてみたりとかする。
設定が完了したら以下を選択する
Save Configuration to an Alternate File
出来上がった .config ファイルの中を開いて、
以下のものが「M」ではなく「y」になっているか確認する。
CONFIG_IDE
CONFIG_SCSI
CONFIG_EXT3
設定完了したら、パッケージの構築を行う(これは時間が結構かかる)
カーネルパッケージのインストールを行う。
# dpkg -i ../linux-image-2.6.18-chibi-20070708_chibi.01_i386.deb
以上で完了となるので、/boot/grub/menu.lst に
今回インストールしたカーネルパッケージが含まれているか確認する。
今回なら以下のような感じの記述になる。
root (hd0,0)
kernel /boot/vmlinuz-2.6.18-chibi-20070708 root=/dev/hda1 ro
initrd /boot/initrd.img-2.6.18-chibi-20070708
savedefault
もし、今回インストールしたカーネルパッケージが無いようなら
以下を実行する。
リブートし、今回インストールしたカーネルを選択してちゃんと起動するか確認する。
HDD起動関係のものを組み込みにしていないと、kernel panic になってアボーン。
起動後は以下で確認してみる。
2.6.18-chibi-20070708
以上で完了でつ。
- TB-URL http://chibilog.name/035/tb/
