PC-9821Ne2へのDebian GNU/Linuxインストールメモ

2002/11/11追記:

けっこうここを参考にして98x1にDebianをインストールしようという方がいらっしゃるらしい。よくわからず書いてた部分も多いので、嘘が混じってたりもするのに。ということで、少し書き直した。特に前に書いたgrubのインストールコマンドは大嘘なので、絶対真似しないように! (被害にあってしまった方、すみません)


前書き

Debian GNU/Linuxの98版potatoというのは、実は生まれてはじめて体験したLinux環境だったりする。インストーラーが日本語化されてて、非常にありがたかった。そのご、AT互換機でDebianをメイン環境として使っているが、98へインストールした時の体験があったからこそ、英語のインストーラーも難しく感じなかったのかもしれない。
そのときはPC-9821Xa10という非常にこなれた機械だったので、そう苦労もなくインストールできたが、今回はノートPCである。ネットワークインストールのやり方がわからなくて、インストールフロッピーを大量生産、大量失敗。40枚あったフロッピーが残り1枚という情けない状況の中、ようやくインストールに成功した。二度と苦労はしたくないので、ここにメモを置いておく。
ただし、今回はサーバ用途なので、Xは設定しない。日本語出るし、いいじゃん。

用意するもの

基本的にはフロッピーが三枚と、ネットワークカードが一枚で済んだ。40枚ものディスクを消費した自分が馬鹿らしい。

インストーラーの所在

ディスクイメージへの入口
ftp://ftp.ring.gr.jp/pub/linux/debian/debian-jp/dists/potato-jp/main/disks-pc98
今回使用したバージョン
ftp://ftp.ring.gr.jp/pub/linux/debian/debian-jp/dists/potato-jp/main/disks-pc98/2.2.17+pc9800.1.0.0-2000-09-08
今回使用したフロッピーイメージ
ftp://ftp.ring.gr.jp/pub/linux/debian/debian-jp/dists/potato-jp/main/disks-pc98/2.2.17+pc9800.1.0.0-2000-09-08/images-1.44/pc9800pe/
フロッピーイメージ以外に必要なbaseシステム。
ftp://ftp.ring.gr.jp/pub/linux/debian/debian-jp/dists/potato-jp/main/disks-pc98/2.2.17+pc9800.1.0.0-2000-09-08/base2_2.tgz
それらを固めたもの。
ftp://ftp.ring.gr.jp/pub/linux/debian/debian-jp/dists/potato-jp/main/disks-pc98/2.2.17+pc9800.1.0.0-2000-09-08/bf-2.2.17+pc9800.1.0.0-2000-09-08.tar.gz
上のがいつまであるかわからないので、とりあえず手元にも置いておく。
bf-2.2.17+pc9800.1.0.0-2000-09-08.tar.gz

その他

基本的にはrescue.bin、root.binとbase2_2.tgzだけあればいい。ドライバディスクは一応作って入れてみた。
今回はネットワークインストールなので、別途base2_2.tgzを置いておくhttpサーバを用意しておこう。ネットワークインストールで対応してるプロトコルは今のところhttpだけである。

インストール

フロッピーイメージが出来上がったら、まずrescueディスクを入れて起動する。次にrootディスクを入れるよう促されるので、指示に従う。
インストール作業はインストーラーに指示された順番に従って進めればいいのだが、カーネルのインストール(rescueディスクとドライバディスクを入れるよう言われる所)の後は、指示を無視して「pcmciaの設定」を行なう必要がある。どうも素のままではPCMCIAを認識してくれないようだ。だが、この設定はうまくいかない。debian-usersのこのスレッドにあるように、Alt(GRPH)+F2でシェル画面に入り、
# cp -a /lib/modules/2.2.16-pc9800pe/pcmcia /lib/modules/2.2.16/
ってな感じにコピーしてやる。2.2.16-pc9800peというディレクトリはカーネルがインストールされてないと出て来ない。
これでPMCIAの設定が出来るようになり、あとは指示された順番通りにやれば、ホスト名の設定や(すでにNICがささっていれば)ネットワークの設定が出てくるはずである。ネットワークの設定が出来ないと当然ながらネットワークインストールは夢のまた夢であるので、とっととNICはさしておこう。ちなみに今回使用したNICは富士通のFMV-182Aである。
だがどうもこのNICがよろしくないのか、インストーラーの不具合かはわからないが、ネットワーク経由でbase2_2.tgzを取得するのに失敗することがある。この場合、そのままもう一度やり直しても無駄なので、リブートして最初からやり直さないとダメのようだ。
そして、最後にHDDから起動できるように設定しなければならないが、これは未対応のようである。だから起動ディスクを作成して、FDブートしてからいろいろ設定するのだが、どうもPC-9821Ne2での起動ディスクの作成は必ず失敗する。失敗したディスクは完全にゴミになってしまて、非常に悲しい。だが、とりあえずrescueディスクで起動できるので、気にしないことにする。
起動は、
rescue root=/dev/hda1
ってな感じにrescueディスクのプロンプトに突っ込んでやればいい。/dev/hda1のところは環境に合わせて書き換えよう。
他は普通にDebianのインストールだ。

grub98のインストール

HDDから起動する設定というのはこれである。Linux/98にはliloは移植されてないため、98用に移植されたgrubを使う。DebianはHurdやOmoikaneではgrubが使われてるわけだし、別にいいじゃんという気はするが、けっこうややこしくて「Debian流」と呼べるやり方が存在するのかどうかもよくわからない。gurb98自体はaptでインストールされるが、そのままでは使えない。とりあえず、Linux PC9800 HOWTOのgrubの使い方を読んで設定した。
# mkdir /boot/grub
# touch /boot/grub/menu.lst
menu.lstはmenu.1stではない。昔間違えて恥をかいたことがある。
menu.lstの中身はこうである。
# Timeout here...
timeout = 3
default = 0

# Entry 0:
title=          Debian GNU/Linux
kernel=         /boot/vmlinuz-2.2.16-pc9800pe root=/dev/hda1
root=           (hd0,0)
timeoutはもう少し長めでもいいと思う。カーネルは本来/vmlinuzと書くべきなんだろうが、どうもシンボリックリンクは読み込んでくれないようだ。カーネルに渡すroot(7g行目)とgrubが読むroot(8行目)に注意。カーネルへはLinux流だが、grubへはgrub流で書かなきゃならない。
rootってのはルートファイルシステムのこと。つまり/にマウントするHDDのパーテーションである。
そして、いよいよMBRにgurbをインストールする。
生フロッピーを一枚FDDに突っ込み、
$ dd if=/usr/lib/grub98/stage1 of=/dev/fd0 bs=512 count=1
$ dd if=/usr/lib/grub98/stage2 of=/dev/fd0 bs=512 seek=1
と、こうやってgrubの起動ディスクを作る。1枚に二つのイメージファイルを突っ込むのであって、別々のディスクに作るわけではない。気をつけよう(謎涙)
そうしたら、このgrub起動ディスクでPCを起動する。grubのプロンプトがすぐ立ち上がるはずだから、installコマンドでgrubをインストールしよう。
command> install=(0,0)/boot/grub/stage1 (0,0) (0,0)/boot/grub/stage2 0x8000 p /boot/grub/menu.lst
上記コマンドは大嘘である! インストール先に(0,0)等と指定してしまうと、パーティションに対してインストールしてしまう。万が一(0,0)に他のOSが入っていたら、そのシステムとデータを破壊してしまう。
また、/boot/grubの中にstage1、stage2が無ければいけないと思い込んでいたのだが、そういうわけではないようだ。
ということで、下記のようにしよう。
command> install=(0,0)/usr/lib/grub98/stage1 (0) (0,0)/usr/lib/grub98/stage2 0x8000 p /boot/grub/menu.lst
(0,0)のところは環境に合わせて書き換えること。
そしてフロッピーを抜いてリセット。もうgrubが起動し、menu.lstの記述にしたがってLinuxを起動してくれるはずだ。
もしうまく起動しなかったら、grubの画面でeを押し、エディットモードに入ろう。そのばでmenu.lstの内容をいじってブートさせられる。だが、保存は出来ないようだ。
以上、これであとはなんでも出来る。これからADSLルータにするつもりだけど、うまくいくかな。

2002/11/11追記

ADSL来ない……(涙) なのでとりあえず寝床マシンとして活躍中。woodyにしたり2.4カーネル入れたりして楽しんでます。Xも動かそうと思う今日この頃。だれかlibfontパッケージ持ってる人いませんか?(涙)

Linux/98情報へのリンク

http://sourceforge.jp/projects/linux98/
Linux98プロジェクト。もはやここだけあれば十分でしょう。MLもあります。
http://www.kmc.kyoto-u.ac.jp/proj/linux98/
KMCのLinux/98プロジェクトページ。大抵の情報はここからいける。
http://www.koei.ne.jp/linux98/
旧Linux/98メーリングリスト
http://web.kyoto-inet.or.jp/people/pessi/PC9800HOWTO.html
Linux PC9800 HOWTOドキュメント

戻る
Back to HOME