Vine Linux 1.0 及び 1.1 で kernel-2.2に移行する
登録日 '99.05.30
最終更新日 '99.06.25
Project-Vine 謹製 "kernel-2.2.x-kit"の導入
kernel 2.2 の入手先 (日本のミラーサイト)
pcmcia-cs-3.0.10.tar.gz の入手先(ノートPCの場合のみ必要)
参考:元になっている redhat パッケージの所在(使用しない)
または、VineLinux1.1CR を購入すると、VinePlus CD-ROM が付いて来ます。
入手したupdateファイルの検査を行う。
update を行う。
退避しておいたファイルの書き戻し
kernel-2.2.9 の導入
これから、kernel の再構築を行います。
/etc/lilo.conf の書き換え
PPxP 関係を入れ直す['99.06.08更新]
pcmcia-cs-3.0.10.tar.gz の導入とコンパイル
まず、こんな事になる原因なんですが、それはユーザが勝手にpcmcia-csを入れ換えたためです。(オイオイ)
/etc/sysconfig/network-scripts/ifcfg-eth0 を見ながら、その内容を
ftp://ftp.jp.kernel.org/pub/linux/kernel/v2.2/
入手するファイル
linux-2.2.5.tar.gz
patch-2.2.6.bz2
patch-2.2.7.bz2
patch-2.2.8.bz2
patch-2.2.9.bz2
...
ftp://hyper.stanford.edu/pub/pcmcia/
kernel2.2 に移行する際に必要な"kernel-2.2.x-kit"の入手先
ftp://ftp.jaist.ac.jp/pub/os/linux/Vine/Vine-1.0/kernel-2.2.x-kit/
必要なファイル
dhcpcd-1.3.16-0.i386.rpm
initscripts-3.78-2.4vl1.i386.rpm
ipchains-1.3.8-0.i386.rpm
modutils-2.1.121-0.i386.rpm
mount-2.9-0.i386.rpm
net-tools-1.50-0.i386.rpm
procinfo-15-0.i386.rpm
samba-2.0.3-0.i386.rpm
util-linux-2.9-0vl.i386.rpm
http://www2.portal.redhat.com/support/docs/rhl/kernel-2.2/kernel2.2-upgrade-3.html
/mnt/cdrom/kernel-2.2.x-kit/RPMS/i386/
に存在します。ただし、同時に使用してはならないファイルも含まれているので
注意してください。
必要なもの。
initscripts-3.78-2.4vl1.i386.rpm
util-linux-2.9-0vl.i386.rpm
不必要(というか使用してはならない)
initscripts-3.78-2.4.i386.rpm
util-linux-2.9-0.i386.rpm
# rpm -K --nopgp filename.rpm
update 前に必要なファイルを退避させる。
# cp /etc/sysconfig/i18n ~/
# cp /etc/sysconfig/i18n.csh ~/
# cp /etc/rc.d/rc.local ~/
(i18n 関係を退避するのを忘れるとメニューで日本語が表示されなくなったり、アプリケーションが起動しなくなる。)
# rpm -Uvh dhcpcd-1.3.16-0.i386.rpm
# rpm -Uvh initscripts-3.78-2.4vl1.i386.rpm
# rpm -Uvh ipchains-1.3.8-0.i386.rpm
# rpm -Uvh modutils-2.1.121-0.i386.rpm
# rpm -Uvh mount-2.9-0.i386.rpm
# rpm -Uvh net-tools-1.50-0.i386.rpm
# rpm -Uvh procinfo-15-0.i386.rpm
# rpm -Uvh samba-2.0.3-0.i386.rpm
# rpm -Uvh util-linux-2.9-0vl.i386.rpm
# cp ~/i18n /etc/sysconfig
# cp ~/i18n.csh /etc/sysconfig
# cp ~/rc.local /etc/rc.d/
# cd /usr/src
# rm linux
# tar zxvf linux-2.2.5.tar.gz
# mv linux linux-2.2
# ln -s linux-2.2 linux
# cd /usr/src/linux
# bzip2 -d -c patch-2.2.6.bz2 | patch -p1
# bzip2 -d -c patch-2.2.7.bz2 | patch -p1
# bzip2 -d -c patch-2.2.8.bz2 | patch -p1
# bzip2 -d -c patch-2.2.9.bz2 | patch -p1
pcmcia で APA-1460A を自動で認識させるには、2.2.9 が必要。
2.2.6 から 2.2.8 までは、/etc/pcmcia/config で irq を
9,10,11,12 のいずれかを使用するように設定する必要がある。
device "aha152x_cs"
class "scsi" module "aha152x_cs" opts "irq_list=9,10,11,12"
もし vfatjp-0.8.3a.tar.bz2 があれば、入れておくと良いでしょう。
入手先は、'99.06.25現在で
http://www.jaist.ac.jp/~amatsus/linux/src/vfatjp-0.8.3a.tar.bz2 です。
VFAT filesystem 上の日本語ファイル名が、文字化けせずに表示されるようになります。
これは、2.2.3用ですが、2.2.9 , 2.2.10 でもきちんと動作します。
(FileRunnerでも日本語表示ができるのにはびっくり)
# cd /usr/src/linux
# bzip2 -dc ???/vfatjp-0.8.3a.tar.bz2 | tar xf -
???はパッチのおいてあるディレクトリを指定します.展開すると VFAT-jpというディレクトリが作られます。
# patch -p1 < VFAT-jp/2.2.3.vfatjp.patch
# patch -p1 < VFAT-jp/common.vfatjp.patch
# cd /usr/src/linux
( # make mrproper )
# make xconfig
# make dep ; make clean
# make bzlilo
# vedit /etc/lilo.conf
image=/vmlinuz ←ここのみ
label=linux
root=/dev/hda3
read-only
image=/boot/vmlinuz-2.0.36-3vl3 ←以下、2.0.36 の記述は削除可
...
# /sbin/lilo
として、lilo の更新をお忘れなく...
# shutdown -r now
再起動して、kernel-2.2.9 環境下で module を make する事。
# cd /usr/src/linux
# make modules ; make modules_install
APM で電源断の設定。
/etc/rc.d/init.d/halt にて
command="halt -p"
と書き換える。
kernel-2.0.36 とは異なり、append="apm=on" の記述は必要なし。
kernel-2.2 に上げた時に、PPxP が動かなくなっているので userlink を rebuild する必要がある、というのは良く知られている事です。思考錯誤した結果、以下の様に行う事が判明しました。
公式コンダラ鯖から以下の2つのファイルを入手する。
userlink-0.98a-9.2.src.rpm
ppxp-0.99030108-3.src.rpm
以下の様にします。
# rpm -e ppxp
# rpm -e userlink
# cd /usr/src/redhat/RPMS/i386
# rm ./userlink-0.98a-9.i386.rpm
# rpm --rebuild userlink-0.98a-9.2.src.rpm
# rpm -Uvh --force /usr/src/redhat/RPMS/i386/userlink-0.98a-9.2.i386.rpm
# rpm --rebuild ppxp-0.99030108-3.src.rpm
# cd /usr/src/redhat/RPMS/i386/
# ls
# rpm -Uvh --force ppxp-0.99030108-3.i386.rpm
# rpm -Uvh --force tkppxp-0.99030108-3.i386.rpm
# rpm -Uvh --force xppxp-0.99030108-3.i386.rpm
# shutdown -r now
で完璧です。
kernel-2.2.9 の起動を確認する。
うまくいっていれば、以下のkernel-2.0.36 関係の箇所は削除して構わない。
# rm /boot/module-info@
# rm /boot/module-info-2.0.36-3vl3
# rm /boot/vmlinuz-2.0.36-3vl3
さて、kernel-2.2 を堪能しましょう。体感速度が上がってマシンが速くなったような感じがします。
どこぞの OS みたいに version が上がる度に 重くなっていくのとは ちょっと違うぞ。
自分で pcmcia-cs-3.0.x.tar.gz を入れ換えた時の注意事項['99.06.17 追加]
# cd /usr/src
# tar zxvf pcmcia-cs-3.0.10.tar.gz
# cd ./pcmcia-cs-3.0.10
# make
# make clean
# make config
# make all
# make install
さて上記では、pcmcia-cs を入れ換えています。この場合、次の様な症状が発生することがあります。
(私の場合、pcnet-cs ドライバ)
VineLinux1.0(kernel-2.0.36)の時には自動認識していた LAN-Card が使えなくなっている。
#lsmod
と入力すると現在 動いている modules の一覧が表示されます。その中で、pcnet_cs の項目が、(unused)となっている。これじゃだめです。
#linuxconf
を起動して、そこで "Basic host information" - "Adapter1" を設定して "Accept".
左下の"Quit"を押すと表示される画面で、"Active the changes" - "Quit"
ここでもう一度、#lsmod してみると
pcnet_cs の Used の所が 1 になって動くようになる、ってな具合です。
こんなときには、解決方法があります。
(/usr/src/pcmcia-cs-3.0.x/doc/SUPPORTED.CARDS に記載されてないカードを使ってるのに、なんで動かないんだあとか言わない様に。)
Vine も含めた redhat系で、PCMCIA の LANカードの設定は、
/etc/sysconfig/network-scripts/ifcfg-eth0 で設定するようになっています。
普通はここを書き換えて、いろいろ試すのですが、自分で pcmcia-cs を入れ換えた場合は、
このファイルをいくら書き換えても無駄です。
/etc/pcmcia/network.opts に書き込むのです!
/etc/pcmcia/network.opts はファイルのパーミッションが、read-only になっているので、
書き換える前に、
#chmod 644 /etc/pcmcia/network.opts
にして、書き込んだら、
#chmod 444 /etc/pcmcia/network.opts
に戻しておきます。
これで次回の起動時から、自動で pcnet-cs が動いてくれます。
(今までは、起動する度に linuxconf で設定していたんです。あー、解決して良かった。)