標準の設定ではハードウェアが動かない場合、必要なサービスが設定されていない場合、カーネルをシェイプアップしたい場合などには、カーネルを自分の設定で作りなおすことができます。自分でカーネルソースを取ってきてコンパイルすることもできますが、Project Vine より配布されているカーネルパッケージから自分用のカーネルパッケージを作成しなおすほうが安全で簡単です。
Project Vine から配布されているカーネルパッケージから、自分で設定をしなおしたパッケージを作成することができます。生成したパッケージは、 カーネルパッケージのアップグレードの手順に従って扱うことができます。
Vine には mkkpkg というスクリプトが含まれており、これを利用することで簡単にカーネルパッケージを作成することができます。このスクリプトは、root ユーザで実行してください。
カーネルの設定方法はデフォルトで menuconfig です。変更したい場合は、引数の最後に「config」や「xconfig」をつけ加えることができます。
# /sbin/mkkpkg <ソースパッケージのあるディレクトリ>/kernel-VER-REL.src.rpm
このスクリプトでは、生成するパッケージのリビジョン番号を指定できます。バージョン管理のために、「.<自分用のリビジョン>」を付加するのがお勧めです。例えば、kernel-2.0.36-3vl1 に対しては、リビジョンを「3vl1.1」「3vl1.2」「3vl1.3」…とするのがお勧めです。
カーネルパッケージは標準で /usr/src/redhat/RPMS/i386/ と /usr/src/redhat/SRPMS/ ディレクトリ内に作成されます。
インストールされたカーネルソースや、自分で取ってきたカーネルソースを利用してカーネルを作ることもできますが、RPM の管理を壊してしまう可能性があるため、あまりお勧めできません。Vine のシステム構成やカーネルについて熟知した上で行ってください。
標準のカーネルパッケージに含まれていないパッチを利用したい場合はにこの方法がお手軽ですが、mkkpkg の途中で spec ファイルを編集してちゃんとしたパッケージを作るのが理想的です。
# cd /usr/src/linux
# make menuconfig
で自分好みの設定に変えます。設定を保存したら、
# make dep clean zImage modules modules_install
- pcmcia を作る場合は
を実行します。# cd pcmcia-cs-*
# make config all install- / (ルートパーティション)が SCSI ディスク上にある場合は
を実行します。# mkinitrd /boot/initrd-VER.img VER
最後に作成された vmlinuz-VER を /boot にコピーします。
# /sbin/installkernel VER arch/i386/boot/zImage System.map
あとは lilo を編集して再起動します。