Linuxメモ Vine Linux 2.1.5
最終更新日 2002.8.5
Windowsなどと同居させようとした場合に起こりがち。現在は LILOをやめて GRUBにしたのだが、loadlin.exe を使う方法を書き残しておく。
(1)Windowsのディレクトリ Vineを作る(名前は任意)。そこに loadlin.exe と vmlinuz をコピーする。インストール CD-ROMを探すと入っているはず。
(2)CONFIG.SYS を以下のようにしてマルチブート指定する
[menu]
menuitem=Windows Boot to Windows98
menuitem=Linux Boot to Linux
menudefault=Linux, 10
[Windows]
−省略−
[Linux]
shell=C:\Vine\loadlin.exe c:\Vine\vmlinuz root=/dev/hda5 ro apm=on
root=/dev/hda5 の部分は Linuxのルートパーテーションを指定する。間違えると kernel panic を起こす。
(3)AUTOEXEC.BAT も次のようにする
@goto %config%
:Linux
chev us
goto EXIT
:Windows
−省略−
:EXIT
カーネルを変更した場合は Windows側の vmlinuzを変更したものと差し替える必要があるのは言うまでもない。
サウンド設定ユーティリティ(sndconfig)で自動認識はしないが、ESS1868で動作した。DMAはデフォルトで 1になっていたのでその設定にする。(BIOSで確認した方がいいかも)
モデムカードを使う場合は /etc/sysconfig/pcmciaに以下の内容を追加する。内蔵モデムのIRQと衝突しないようにするため。
PCIC_OPTS="irq_list=9 poll_interval=100"
↑カーネル 2.4.7 + pcmcia-cs 3.1.29 では不要だった。
以下のコマンドを実行して /dev/ttySx をアクセスできるようにする。
# /usr/sbin/usermod -G uucp ユーザ
カーネルのバージョンを変えた場合は alsa-driver のインストールをしなおした方がいいらしい。その際、RPMでインストールすると以前のバージョンのディレクトリにインストールされてしまうようなので tarボールからコンパイルする方がいいと思う。SRPMがもしあればそれでもいいかも。
音量を保存するには
# /usr/sbin/alsactl store
とする。
起動時のメッセージで
Loading UHCI usb host-interface module [FAILED]
Loading OHCI usb host-interface module [FAILED]
などと言われる場合、/etc/sysconfig/usb を作ってその中身を
#!/bin/sh
usb=uhci
と USBコントローラを指定する必要があるらしい。もちろん、OHCIなコントローラを使っている場合は usb=ohci とする。あるいは、カーネル起動時オプションで usb=uhciと指定するといいようだ。なお、カーネルコンパイル設定で USBコントローラのモジュールを作るようにしておく必要があるのはいうまでもない。
MX3S(intel 815E)で PS/2マウスを動かすと希にハングアップする。あるいは、突然マウスカーソルがとんでもないところに飛ぶ、ダブルクリックが効きにくい
※単にマウスケーブルが断線しかかっている可能性の方が大きいかも。
こちらのページによると、ICH2(I/Oコントローラ・ハブ)の不具合とのこと。カーネルソースの drivers/char/pc_keyb.c の kb_wait() で、handle_kbd_event() の直前に mdelay(1) を入れるといいらしい。
カーネル 2.4.19にしたら上記のパッチを当てなくても直ったようだ。少なくともうちの環境では時々マウスカーソルが飛ぶ現象は皆無になった。
↑皆無では無かったが、頻度は大きく下がった状態で、ほとんど不都合は無くなった。
カーネル 2.4.12以降、RTL8139のドライバー名が 8139too.o に変更されたようだ。/etc/modules.conf の alias eth0 rtl8139 を alias eth0 8139too に変更してOK。
GIGABYTE GA-6VMML(PLE133)のサウンドは ALSAを使って VIA82C686A ドライバーで鳴らすことができるはずだが、alsaconfの実行結果そのままだとなぜか modprobe: Can't locate module snd-card-x というエラーになる。その為、alsaconf実行後、エディタで /etc/modules.conf の snd-card-x の部分を snd-card-via686a と置換するとよい。2ヶ所あることに注意。
GRUBで Linuxと Windows98をデュアルブートするようにした。インストール方法などはこちら。その際に気がついたことだけ書いておく。
- なぜか Vine Linux 2.1.5でコンパイルに失敗してしまったのだが、Turbolinux 7 Workstation にインストールした GRUBのファイルを持ってくることで問題なく使えた。/boot/grub/ を作成し、TL7Wの /usr/share/grub/i386-pc/ にあるファイルを全てそこにコピーすること。TL7W用の GRUBの RPMはこちら。
- そのうえで /boot/grub/ に menu.lst を作成し、grub.conf からシンボリックリンクしておく。
- /boot を別パーテーションに分けている場合、root は /boot のパーテーションを指定する。また、カーネルの vmlinuzを指定する部分は /vmlinuz となる。/boot が独立したパーテーションでない場合は /boot/vmlinuz などになるだろう。
以上より、わたしの場合
- hda1 hd0,0 Windows98
- hda2 hd0,1 /boot
- hda3 hd0,2 拡張領域
- hda5 hd0,4 /
となっているので、menu.lstは以下のようになっている。
#GRUB Configuration
default 0
timeout 5
#linux-2.4.18 boot
title Linux 2.4.18
root (hd0,1)
kernel /vmlinuz ro root=/dev/hda5 apm=power-off acpi=off usb=uhci
#Windows98 boot
title Windows98
rootnoverify (hd0,0)
makeactive
chainloader +1