Vine Linuxのカーネルパッケージは、他のパッケージと同様に RPM 形式で配布されていますが、他のパッケージのように「rpm -Uvh」でアップグレードすることはできません。以下の手順に従ってアップグレードしてください。
最低限必要なパッケージは、
も必要になります。必要なパッケージにアクセスできるようにしておいてください。/root にコピーしておくのが最も安全でしょう。
もし,SMPカーネルを必要とする場合は, kernel-VER-REL.i386.rpm ではなく, kernel-smp-VER-REL.i386.rpm をお使い下さい.また,以下 では適宜読み変えて下さい.
まず、安全のためにシングルユーザモードに移行します。シングルユーザモードでは不必要なサービスはすべて停止されます。ネットワークにはアクセスできます。
すべてのユーザはログアウトし、コンソールから root でログインし、以下の手順でシングルユーザモードに移行し、パッケージ群のあるディレクトリに cd します。
# init S
# cd (パッケージのあるディレクトリ)
次に新しいカーネルパッケージをインストールします。
# rpm -ivh kernel-VER-REL.i386.rpm
# rpm -Uvh kernel-pcmcia-cs-VER-REL.i386.rpm
# /sbin/mkinitrd /boot/initrd-VER-REL.img VER-REL
インストールされたカーネルで起動できるように、ブートローダである LILO の設定をします。LILO の設定ファイルは /etc/lilo.conf ですので、これを編集します。詳しくは jman lilo.conf を参照してください。
このファイルの編集は、シングルユーザモードに移行する前に行っていてもかまいません。
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message
default=linux
追加 image = /boot/vmlinuz-VER-REL
追加 label = linux
追加 read-only
追加 root = /dev/hda5
# mkinitrd した場合は次の1行を追加
追加 initrd=/boot/initrd-VER-REL.i386.rpm
image = /boot/vmlinuz-2.2.17-0vl8
変更 label = Linux.old
initrd=/boot/initrd-2.2.17-0vl8.img
read-only
root = /dev/hda5
other=/dev/hda1
label=dos
次に LILO を有効にします。ここでエラーが出たら、lilo.conf を見直しましょう。
# /sbin/lilo
ヘッダファイルをインストールします。
# rpm -Uvh kernel-header-VER-REL.i386.rpm
カーネルソースやドキュメントが必要ならばインストールします。
# rpm -Uvh kernel-doc-VER-REL.i386.rpm
# rpm -Uvh kernel-source-VER-REL.i386.rpm
これでパッケージのアップグレードは終了です。マシンを再起動します。
# /sbin/shutdown -r now
標準の設定ではハードウェアが動かない場合、必要なサービスが設定されていない場合、カーネルをシェイプアップしたい場合などには、カーネルを自分の設定で作りなおすことができます。自分でカーネルソースを取ってきてコンパイルすることもできますが、Project Vine より配布されているカーネルパッケージから自分用のカーネルパッケージを作成しなおすほうが安全で簡単です。
Project Vine から配布されているカーネルパッケージから、自分で設定をしなおしたパッケージを作成することができます。生成したパッケージは、「 カーネルパッケージのアップグレード」の手順に従って扱うことができます。
Vine Linuxには mkkpkg というスクリプトが含まれており、これを利用することで簡単にカーネルパッケージを作成することができます。このスクリプトは、root ユーザで実行してください。
カーネルの設定方法はデフォルトで menuconfig です。変更したい場合は、引数の最後に「config」や「xconfig」をつけ加えることができます。
# /usr/sbin/mkkpkg <ソースパッケージのあるディレクトリ>/kernel-VER-REL.src.rpm
このスクリプトでは、生成するパッケージのリビジョン番号を指定できます。バー ジョン管理のために、「.<自分用のリビジョン>」を付加するのがお勧め です。例えば、kernel-2.2.17-0vl8 に対しては、リビジョンを「0vl8.1」 「0vl8.2」「0vl8.3」…とするのがお勧めです。
カーネルパッケージは標準で /usr/src/redhat/RPMS/i386/ と
/usr/src/redhat/SRPMS/ ディレクトリ内に作成されます。
インストールされたカーネルソースや、自分で取ってきたカーネルソースを利用してカーネルを作ることもできますが、RPM の管理を壊してしまう可能性があるため、あまりお勧めできません。Vine Linuxのシステム構成やカーネルについて熟知した上で行ってください。
標準のカーネルパッケージに含まれていないパッチを利用したい場合はにこの方法がお手軽ですが、mkkpkg の途中で spec ファイルを編集してちゃんとしたパッケージを作るのが理想的です。
# cd /usr/src/linux
# make menuconfig
で自分好みの設定に変えます。設定を保存したら、
# make dep clean bzImage modules modules_install
とします.
- ノートパソコンユーザで pcmcia カードを使う場合
pcmcia を作るには
を実行します。# cd pcmcia-cs-* # make config all install
- /が SCSI ディスク上にある場合
/ (ルートパーティション)が SCSI ディスク上にある場合は
を実行します。# /sbin/mkinitrd /boot/initrd-VER.img VER
最後に作成された vmlinuz-VER を /boot にコピーします。
# /sbin/installkernel VER arch/i386/boot/bzImage System.map
あとは LILO を編集して再起動します。