私のメモです。参考になればいいですが、間違っていたらごめんなさい。
また、このページはMP-XP5220でブート可能なCD-ROMを持っている ことを前提に書かれてます。
--------------------------------------------------------Debian
woodyのインストーラで使っている
カーネル(2.4.18)のFrame Bufferでは、インストール画面の左下、真下が切れてしまいます。
そのため、インストール中にOKボタン等が見えません。また、Base Systemインストール後の
パッケージのインストールでもキーボードの入力が見えないことになります。
そのため、Debianのインストールに慣れてないと、インストールは困難と思われます。
VineなどRedHat系のディストリビューションでは画面が切れずに表示されますので、
Linuxを入れたいだけならばそっちをインストールした方がいいと思います。
どうしてもDebianを入れたいならば、失敗しても大丈夫なようにバックアップを取るなどして
から始めて下さい。もし、もう1台別のPCがあるならば、MP-XP5220ともう一台のPCとで同時に
インストール作業を進めると良いかも知れません。ちょっとでもインストールや設定を楽にする
コツは次のことかと思います。
いろいろやり方はあると思いますが、僕は次の方法でインストールしました。
プリインストールのWindowsXPとデュアルブートのするならば、
後から使うことを考えてハードディスク先頭にあるリカバリ領域を何とかして
バックアップを取ります。
僕は、Drive Image for CD-ROMを使って復元用の起動CD-ROMを作成しました。
CD-Rは4枚必要です。
WindowsXPを削除したところにLinuxを入れるならば、この工程は不要かも知れません。
http://www.jp.debian.org/distrib/index.ja.html
上から適当なインストール方法を選択して、ブートCDを作成してください。僕はNetインストール
をするので、下のURLにあるbootbf2.4.isoをダウンロードして、CD-RWに焼いてインストールしました。
http://people.debian.org/~blade/boot-floppies/cvs/
Debianのインストールを開始する前に、パーティションを変更できる
ツールであらかじめLinuxのルートとスワップのパーティションを切ります。
僕は
RamFloppyを
CD-RWに焼いてfdiskで編集しました。
RamFloppyは1CD Linuxではありませんが、
Bootable CD Versionを
ブータブルイメージとして焼くと1CD Linuxになります。CD-R焼きソフトがブートイメージ
ではなくブートFloppyを要求する場合(WinCDRなど)、RamFloppyの入ったフロッピーを
読み込ませれば同じように1CD Linuxになります。
Altair☆'s Pageさん
の報告(MP-XP3210)では、
LCD Expansionをオフにしてインストールできるようですが、
MP-XP5220では画面が点滅しながらゆっくりとスクロールしてしまい、とてもインストール
どころではありません(うちの飼い戌さん
の状況(MP-XP7210)
に近いです)。この現象は、SiS Frame Bufferが有効になっていないカーネルで起こる
ようで、Base Systemインストール後にLCD ExpansionをDisabledにしても発生します。
(SiS Frame Bufferに対応したカーネルならばLCD Expansionの設定がどうであれちゃんと
起動します。もちろん、Disabledの場合は画面が小さくなりますが。。。)
そのため、BIOSの設定でLCD ExpansionをDisabledにしている場合、インストール開始前に
Eneabledにしておきます。ちなみに、工場出荷時の設定ではEnabledです。
NetインストールCDで起動して、DebianのBaseSystemをインストールします。
確認用のボタンは見えませんが、ほとんど「OK」を選択して問題ないと思います。
また、パーティション設定でも、どのパーティションを選択しているかくらいは
見えますので、焦らずやれば何とかインストールできると思います。
僕が使ったインストーラは、module関係の読み込みで失敗しました。インストールに必要な
モジュールは特にないため、そこは飛ばして「Configure the Hostname」→
「Configure the Network」→「Install the Base System」→「Make System Bootable」
→「Reboot System」でインストールしてます。
Base Systemのインストールが終了して再起動すると、パッケージ のインストールが始まります。taskselが起動しても、パッケージを選択せずに OKを押します。それでも多少のパッケージのインストールが行われ、設定が始まって しまいます。適当にリターンを押していけばいいのですが、1カ所だけ数字を入力 するところ(メールの設定)があります。リターンキーを押しても同じ画面が出てくる ようならば、「5」を入力すれば次に進みます。ちなみに、「5」は"何も設定しない" というものです。
ログインしたら何はともあれカーネルの再構築を始めます。
# apt-get install make gcc libc6-dev libncurses5-dev kernel-package
(一気にインストールしようとするとタイプミスをする可能性があるので、
一つずつインストールした方が良いかも知れません。
また、赤字:カーネル再構築に必要、青字:make menuconfigに必要、黒字:
make-kpkgを使うために必要となってます。)
# cd /usr/src
# tar jxvf kernel-source-2.4.18.tar.bz2
# ln -s kernel-source-2.4.18 linux
ここまで来たら、/usr/src/linuxディレクトリに移り、カーネル の設定を行います。
# cd /usr/src/linux
# make menuconfig (又はmake config)
カーネル2.4.18のSIS Frame Bufferで起動すると、画面がブラックアウト
して何も表示されなくなりました。そのため、2.4.18ではFrame Bufferを無効にします。
デフォルトでは無効になっているので、Console driversセクションにFrame-buffer support
が表示されないor表示されていてもチャックされていないのを確認してください。
その後、make-kpkgでカーネルを作成して、インストールします。もし、 失敗するようでしたら、後述のカーネルの再々構築を見てください。
# make-kpkg --revision Rev. No. kernel-image
# cd ..
# dpkg -i kernel-image-2.4.18_Rev.No._i386.deb
カーネルの再構築は、make dep && make clean && make bzImage でも行えますが、viを起動するとブラックアウトするため、/etc/lilo.confを編集して liloを再インストールできません。 そのため、liloのインストールまで行うmake-kpkg&dpkg -iか、make bzImageの代わりに make bzliloを使います。※
dpkgでインストールすると、最初に「同じカーネルをインストールするなら、 /lib/modules/2.4.18以下のバックアップを取ったら?一時中断する?」と聞かれます。 ここで「n」を選択して強引にインストールします。その後はリターンキーを押していけば、 liloのインストールまで行ってくれます。
無事インストールできたら再起動します。
Debianでは、/etc/lilo.confのデフォルトの 起動イメージはimage=/vmlinuzになっており、/vmlinuzは/boot/vmlinuz-2.4.18-bf2への シンボリックリンクになってます。そのため、make bzImage後、bzImageを/bootにコピーし、 シンボリックリンクを張り直してliloの再インストールをすると何とかなるかも知れません。
新しいカーネルで起動すると、ようやく画面が切れることなく表示されます。 しかし、僕が使ったインストーラでは時刻を正しく設定出来ていませんでした。時刻が ずれているようなら、次のようにして修正します。
UTC=no
# tzconfig
# date --set "2003/06/01 14:10:00" (今の日本の時間を設定)
先ほど作成したカーネルは”取りあえず”のカーネルなので、 画面の表示が切れなくなったところで再構築を行います。 しかし、コンソール、X(1024x600表示)ともにまともに表示できるカーネル を2.4.18で作成することはできないようです。理由は次の通りです。
そこで、僕は2.4.18を諦めてtestingから2.4.20のカーネルソースを 取ってきてカーネルの再々構築をしました。 ちなみにtestingの2.4.20のカーネルイメージは、gcc(?)のバージョンが違うらしく インストール出来ませんでした。
2.4.19の場合、ペンギンは出てきませんがブラック アウトせずに表示されます。そのため、2.4.19ならばDRIドライバも作成可能です。また 下記のXのSiSドライバを使ってXを1024x600で立ち上げる ことが可能です。
カーネルの設定では、SIS630用のFrame Buffer driverが Experimentalなので、Code maturity level optionsを有効にしています。
MP-XP5220のデバイスがLinuxでどのように認識されるかは、下のページを 参考にしてください。
InterLink5220EXと各OSの対応状況 :Linux、*BSDでのデバイス認識状況です(手前味噌ですが)
2003/06/02時点でのカーネルコンフィグレーションファイルは下にあります。 下記コンフィグレーションファイルでは、後でpcmciaをソースから インストールするためpcmcia supportが無効になってます。
MP-XP5220用カーネルコンフィグレーションファイル 及びdmesg
Xを使うならば、次の2つは必須ですので忘れないように。
Character devices ---> DRM4.1 driver SiS
Console drivers ---> Frame-buffer support ---> SIS 630/540/730 support
上記のカーネルコンフィグレーションファイルでカーネルを
再構築すると、エラーが出るかも知れません。僕の場合は、SMPサポートを外したら
エラーが出ました。
これはdebパッケージを作る元になったカーネルツリーの設定が残っていることが原因の
ようです。次のように、一度make mrproperを実行すると無事コンパイルできました。
(参考:http://www.tux.org/lkml/#s8-8)
# mv .config ..
# make mrproper
# mv ../.config .
# make oldconfig
# make-kpkg --revision Rev. No. kernel-image
カーネルコンフィグレーションファイルでモジュールにした、 サウンド、USB、IEEE1394などを起動時に読み込みたい場合は、/etc/modulesに モジュール名を記述します。それぞれ、trident、usb-ohci(又はehci-hcd)、 ohci1394です。
カーネルのドライバの準備ができたので、ようやくXをインストール します。
# tasksel
出てきたウィンドウで"X Window System"を選択してOK
パッケージインストール後、Xの設定になります。
取りあえずはここで設定をしておきます。ドライバにSiSを選択し、
モニタの水平周波数、垂直周波数をそれぞれ45-80、56-100にします。
但し、残念ながらこの時点ではXが起動しませんが、
XF86Config-4の設定を保存して終了します。
XFree86 4.3以上のSiSドライバならば問題なく1024x600を 表示できますが、残念ながらwoodyのは4.1です。そこで、 うちの飼い戌さんのX Window編 で紹介されているように、以下のThomasさんのページからドライバをダウンロード してインストールしました。
InterLinkでの1024x600表示に関しては、 うちの飼い戌さんのX Window編 が非常に詳しいです(大変参考になりました)。 2003/06/02時点で、比較的最近(2003/05/22)リリースされたXFree86 4.1用sis_drv.oが バイナリで提供されているため、それを使いました(Debian用でもあります)。
# wget http://www.winischhofer.net/sis/sis_drv.o_4.1.0_gcc2_ddmmyy.tar.gz先に作成したXF86Config-4ファイルは、/root以下にあります (たぶん。。。)。編集するのは、"Screen"SubSection "Display"の Depth 16の下、Modesに"1024x600"を追加することだけです。
下に僕のXF86Config-4ファイルを置きます。このファイルでは
InputDevice(マウス)が2つあり、Configured Mouseがトラックポイント、
Generic MouseがUSBマウスになってます。murasakiなどでUSBのホットプラグ
を有効にすると、USBマウスを挿すとトラックポイントと共に使うことができます。
但し、残念がながら、トラックポイントでのスクロールはうまくいってません。
(ホイールマウスではなく3つボタンマウスになってしまってます)
woodyのデフォルトカーネル2.4.18、2.4.19では、# modprobe i82365に
失敗します。# modprobe i82092は成功しますが、CD-ROM Interface Card(KXLC005)は
認識しません。カーネル2.4.20では、# modprobe i82365は成功します。しかし、ide-cs
にマッチしないためcd-romは使えませんでした。
但し、
うちの飼い戌さん
では、2.4.19でPCMCIAデバイスが動いているようです。
もしかしたら、私の設定が悪いのかも知れません。
そこで、 Altair☆'s Pageさんが書かれているように、pcmcicaの3.2.2以上のソールから インストールする事にしました。
まず下のサイトからpcmcia-cs-3.2.x.tar.gz(x≧2)を落とします。 最新は3.2.4でしたが、3.2.2以上なら付属CDに対応しているようなので、3.2.2を ダウンロードしました。
http://pcmcia-cs.sourceforge.net/ftp/
まず、カーネルのpcmcia supportを無効にしたカーネルをインストール しておきます。その後、次の手順でpcmciaモジュールをインストールします。やり方は Altair☆'s Pageさんのページに書かれているまんまです。 ALSAモジュールの作成と手順は 一緒です。
# tar zxvf pcmcia-cs-3.2.x.tar.g -C /usr/src
# cd /usr/src/linux
# make-kpkg --revision Rev.No. modules_image
# cd ..
# dpkg -i pcmcia-modules-kernel_version_pcmcia_version+Rev.No..deb
Rev. Noはカーネルの再構築した際のRev. No.と一緒で なくてはいけません。Rev. No.を忘れても、エラーメッセージにRev. No. が表示されますので、それを使えば無事にコンパイルできます。
cardmgrや/etc/pcmcia/以下の設定フィアルなどを新しくするため、 次のようにDebianパッケージを作成してインストールします。
# cd /usr/src/modules/pcmcia-cs
# debian/rules binary-cs
# cd /usr/src
# dpkg -i modules/pcmcia-cs_pcmcia_version_i386.deb
上記のpcmciaをインストールしても、まだこのCDROMは使えません。
次のコマンドでATAカードの情報を見てみます。(付属のCDROMドライブ名は
松下のUJDB130、ATAカードは松下のKXLC005です)
# cardctl info 0
PRODID_1="KME"
PRODID_2="KXLC005"
PRODID_3="00"
PRODID_4=""
MANFID=0032,2904
FUNCID=8
そこで、次の記述を/etc/pcmcia/configに書き加えます。 (/etc/pcmcia/config-2.4ではない)
card "Panasonic KXLC005"
version "KME", "KXLC005"
bind "ide-cs"
上の設定は、ウェブを探すと載ってました。ポイントはbindをide-cs にすることのようです。設定を書き加えたら、pcmciaサービスを再起動すると認識 するようになります。
# /etc/init.d/pcmcia restart
(認識状況)
PCI: Sharing IRQ 11 with 00:09.2
PCI: Sharing IRQ 11 with 00:0f.0
PCI: Found IRQ 11 for device 00:09.1
PCI: Sharing IRQ 11 with 00:09.0
PCI: Sharing IRQ 11 with 00:09.2
PCI: Sharing IRQ 11 with 00:0f.0
Ricoh RL5C476 rev 88 PCI-to-CardBus at slot 00:09, mem 0x0de000
host opts [0]: [serial irq] [io 3/6/1] [mem 3/6/1] [pci irq 11] [lat 32/176] [bus 2/5]
host opts [1]: [serial irq] [io 3/6/1] [mem 3/6/1] [pci irq 11] [lat 32/176] [bus 6/9]
ISA irqs (default) = 3,10,15 PCI status changes
cs: memory probe 0xa0000000-0xa0ffffff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x3c0-0x3df 0x480-0x48f 0x4d0-0x4d7
cs: IO port probe 0x03e0-0x047f: clean.
cs: IO port probe 0x0490-0x04cf: clean.
cs: IO port probe 0x04d8-0x04ff: clean.
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0a00-0x0aff: clean.
cs: IO port probe 0x0c00-0x0cff: clean.
hdc: UJDB130, ATAPI CD/DVD-ROM drive
ide1 at 0x190-0x197,0x396 on irq 3
hdc: ATAPI 20X CD-ROM drive, 128kB Cache
ide-cs: hdc: Vcc = 5.0, Vpp = 0.0
これで/dev/hdcをcdromドライブして使えるようになりました。
pcmciaの抜き差しは出来るようになりましたが、起動時にカードを
抜き忘れると# cardctl eject 0してから再びカードさしても電源が入らないです。
起動時には/dev/hdcと認識されているので/dev/hdcをiso9660でマウントしても、
「/dev/hdcがconfigされていない」と言われてしいます。
いろいろ試してみたところ、起動時にカードを挿したままだと /proc/pcmciaが作成されないようです(pcmciaをリスタートしても駄目です)。 ようするに、起動時にIDEのCDROMが見つかった代わり、pcmciaスロットは 無くなったということでしょう。
LinuxカーネルがRicohのpcmciaチップを見つけられないと言うことは、 Linuxカーネルが立ち上がるより先、即ちBIOSがpcmciaをIDEのCDROMとエミュレートしている ということと思います。それならば、起動時にカードを挿していた場合、/dev/hdcを CDROMとしてマウントできそうなものです。そこでBIOSの設定をいじってみると、 「Advanced]→「PCMCIA Locked for CDROM」を「Enabled」にすることでマウントでき るようになりました。