Vine Linuxのカーネルパッケージは、他のパッケージと同様に RPM 形式で配布されていますが、他のパッケージのように「rpm -Uvh」でアップグレードすることはできません。以下の手順に従ってアップグレードしてください。
最低限必要なパッケージは、
です。PCMCIA が必要な場合は
も必要になります。必要なパッケージにアクセスできるようにしておいてください。/root にコピーしておくのが最も安全でしょう。
これらのほかに、Vine Linuxの標準 PPP クライアントである PPxP を利用している人は、userlink パッケージも必要になることがありますので、userlink-*.src.rpm も手元に持ってきておきましょう。
まず、安全のためにシングルユーザモードに移行します。シングルユーザモードでは不必要なサービスはすべて停止されます。ネットワークにはアクセスできます。
すべてのユーザはログアウトし、コンソールから root でログインし、以下の手順でシングルユーザモードに移行し、パッケージ群のあるディレクトリに cd します。
# init S
# cd <パッケージのあるディレクトリ>
次に新しいカーネルパッケージをインストールします。
# rpm -ivh kernel-VER-REL.i386.rpm
# rpm -Uvh kernel-pcmcia-cs-VER-REL.i386.rpm
# mkinitrd /boot/initrd-VER-REL.img VER-REL
インストールされたカーネルで起動できるように、ブートローダである LILO の設定をします。LILO の設定ファイルは /etc/lilo.conf ですので、これを編集します。詳しくは jman lilo.conf を参照してください。
このファイルの編集は、シングルユーザモードに移行する前に行っていてもかまいません。
(略)
install=/boot/boot.b
追加 image = /boot/vmlinuz-VER-REL
追加 label = Linux
追加 vga = normal
追加 root = /dev/hda5
(mkinitrd した場合は
追加 initrd=/boot/initrd-VER-REL.i386.rpm
)
(apm をデフォルトで有効にしたい場合は
追加 append= "apm=on"
)
image = /boot/vmlinuz-2.2.13-3vl0.2
変更 label = Linux.old
vga = normal
root = /dev/hda5
(略)
次に LILO を有効にします。ここでエラーが出たら、lilo.conf を見直しましょう。
# /sbin/lilo
ヘッダファイルをインストールします。
# rpm -Uvh kernel-header-VER-REL.i386.rpm
カーネルソースやドキュメントが必要ならばインストールします。
# rpm -Uvh kernel-documents-VER-REL.i386.rpm
# rpm -Uvh kernel-source-VER-REL.i386.rpm
これでパッケージのアップグレードは終了です。マシンを再起動します。
# /sbin/shutdown -r now
ppxp を使っている人は、再起動後に userlink パッケージを作りなおさなければならない場合があります。起動時に userlink が「unresolved symbol」というメッセージを表示したら、userlink パッケージを作りなおしましょう。
userlink モジュールがうまく動いているかどうかは、lsmod コマン
ドで判断できます。/sbin/lsmod の出力に「userlink」が含まれて
いれば、以下の手順は必要ありません。
# rpm --rebuild userlink-<バージョン>-<リリース>.src.rpm
# rpm --force -Uvh /usr/src/redhat/RPMS/i386/userlink-<バージョン>-<リリース>.i386.rpm<newline>
# /etc/rc.d/init.d/ppxp restart
標準の設定ではハードウェアが動かない場合、必要なサービスが設定されていない場合、カーネルをシェイプアップしたい場合などには、カーネルを自分の設定で作りなおすことができます。自分でカーネルソースを取ってきてコンパイルすることもできますが、Project Vine より配布されているカーネルパッケージから自分用のカーネルパッケージを作成しなおすほうが安全で簡単です。
Project Vine から配布されているカーネルパッケージから、自分で設定をしなおしたパッケージを作成することができます。生成したパッケージは、「 カーネルパッケージのアップグレード」の手順に従って扱うことができます。
Vine Linuxには 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 Linuxのシステム構成やカーネルについて熟知した上で行ってください。
標準のカーネルパッケージに含まれていないパッチを利用したい場合はにこの方法がお手軽ですが、mkkpkg の途中で spec ファイルを編集してちゃんとしたパッケージを作るのが理想的です。
# cd /usr/src/linux
# make menuconfig
で自分好みの設定に変えます。設定を保存したら、
# make dep clean zImage modules modules_install
とします.
- ノートパソコンユーザの場合
pcmcia を作る場合は
を実行します。# cd pcmcia-cs-*
# make config all install
- /が SCSI ディスク上にある場合
/ (ルートパーティション)が SCSI ディスク上にある場合は
を実行します。# mkinitrd /boot/initrd-VER.img VER
最後に作成された vmlinuz-VER を /boot にコピーします。
# /sbin/installkernel VER arch/i386/boot/zImage System.map
あとは LILO を編集して再起動します。