ようこそゲストさん

chibilog

2007/08/22(水) 【Debian】 カーネル再構築

はてブ情報 はてブに登録 はてブ数 2007/08/22 22:25 未分類

Debianのカーネル再構築方法のメモでも書いておくことにしますよ。

予めインストールしておくもの
libncurses-dev   // make manuconfig するのに必要
fakeroot
aptitude


上の準備が出来たら、先ずはソースパッケージを取得する。
ここで取得したカーネルソースは、/usr/src 以下に圧縮ファイルとして
置かれているので、適当なディレクトリに展開する。
今回は、/var に kernel/ というディレクトリを作成し、そこに展開する。


$ sudo aptitude install linux-source-2.6.18
$ 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 を実行する。


$ cd linux-source-2.6.18
$ vi Makefile
EXTRAVERSION =    ← 4行目

EXTRAVERSION = -chibi-20070708

$ make mrproper

Makefileの修正は必須ではないけど、どんな修正を入れるのか記述しておくと
あとで分かりやすくなる(カーネルの名前に追記されるので)

現在の設定を引き継ぎたい場合は、設定ファイルを .config として
ソースファイルにコピーしておく。
その後、現在のカーネル用に設定ファイルを変換。


$ cp /boot/config-2.6.18-4-686 .config
$ make oldconfig

カーネルの設定を行う

$ make manuconfig

HDDアクセス関係のものはモジュールとして読むのでは無く、
組み込みにしないと起動時に kernel panic となるので注意。
基本的には以下の2つの項目。
Device Drivers --->
File systems --->

あとは不要なものを読み込まないようにしてみたりとかする。

設定が完了したら以下を選択する
Save Configuration to an Alternate File

出来上がった .config ファイルの中を開いて、
以下のものが「M」ではなく「y」になっているか確認する。
CONFIG_IDE
CONFIG_SCSI
CONFIG_EXT3


設定完了したら、パッケージの構築を行う(これは時間が結構かかる)

$ fakeroot make-kpkg --initrd --revision chibi.01 kernel-image

カーネルパッケージのインストールを行う。

$ su
# dpkg -i ../linux-image-2.6.18-chibi-20070708_chibi.01_i386.deb


以上で完了となるので、/boot/grub/menu.lst に
今回インストールしたカーネルパッケージが含まれているか確認する。
今回なら以下のような感じの記述になる。


title Debian GNU/Linux, kernel 2.6.18-chibi-20070708
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

もし、今回インストールしたカーネルパッケージが無いようなら
以下を実行する。


$ sudo update-grub

リブートし、今回インストールしたカーネルを選択してちゃんと起動するか確認する。
HDD起動関係のものを組み込みにしていないと、kernel panic になってアボーン。

起動後は以下で確認してみる。


$ uname -r
2.6.18-chibi-20070708


以上で完了でつ。



名前:  非公開コメント   

URL(任意):
  • TB-URL  http://chibilog.name/035/tb/