BSD/OSでは、遥かγ(0.9)の昔から仮想コンソールは8個のまま、 変わっていませんでした。 どんなハードウェアでもトラブらずに動かなければならない、 まっとうなOSとしては当然の動作ですが、 最近の現状にはそぐわなくなっています。
そこで、VGAを使用している場合は、 仮想コンソールを16個にまで増やせるような(簡単な:-)パッチを作成しました。 このパッチは、VGA/Keyboardドライバであるpccons.cを変更します。
このパッチを ここから 取得したら、以下の手順でカーネルの再攻勢などを行なってください。
# patch - < パッチファイルとしてください。
The text leading up to this was: -------------------------- |*** pccons.c 1999/08/12 07:03:27 1.1 |--- pccons.c 1999/08/13 02:16:59 -------------------------- Patching file pccons.c using Plan A... Hunk #1 succeeded at 88. Hunk #2 succeeded at 159. Hunk #3 succeeded at 222. Hunk #4 succeeded at 479. Hunk #5 succeeded at 500. Hunk #6 succeeded at 1354 (offset 11 lines). Hunk #7 succeeded at 2312 (offset 8 lines). doneのようにパッチが当たるはずです。もしエラーが出たら、 pccons.c.rejというファイルができているはずですから、 その中身を見て対処してください。
pccons0 at isa? port "IO_KBD" flags 0x02のように"flags 0x02"を追加します。 この追加によってVGAビデオカードを使用していることを、 カーネルに指示します。 もし、あなたがIBM ThinkPad 700シリーズを使用していて、 すでに"flags 0x01"となっているときは、 "0x02"を"0x03"としてください。
# cd ../../compile/コンフィグ名 # make depend # makeこれでカーネルができあがりましたから、
# mv /bsd /bsd.vt8 # cp bsd /としてカーネルをルートディレクトリにコピーします。 念のため、前のカーネルを残しておきましょう。
# cd /dev # mknod ttyc9 c 12 0 8 # mknod ttyc10 c 12 0 9 # mknod ttyc11 c 12 0 10 # mknod ttyc12 c 12 0 11 # mknod ttyc13 c 12 0 12 # mknod ttyc14 c 12 0 13 # mknod ttyc15 c 12 0 14 # mknod ttyc16 c 12 0 15デバイスのメジャー/ユニット/サブユニット番号は、BSD/OS 2.0以降のものです。 1.X以前のものでは、たぶん違うはずです (古いものは手元では走っていないので未確認ですが、記憶はそういっています)。
ttyc8 "/usr/libexec/getty pccons" ibmpc3 off secure ttyc9 "/usr/libexec/getty pccons" ibmpc3 off secure ttyc10 "/usr/libexec/getty pccons" ibmpc3 off secure ttyc11 "/usr/libexec/getty pccons" ibmpc3 off secure ttyc12 "/usr/libexec/getty pccons" ibmpc3 off secure ttyc13 "/usr/libexec/getty pccons" ibmpc3 off secure ttyc14 "/usr/libexec/getty pccons" ibmpc3 off secure ttyc15 "/usr/libexec/getty pccons" ibmpc3 off secure ttyc16 "/usr/libexec/getty pccons" ibmpc3 off securegetty/gettydを通じて使用するものについては、offをonに変更してください。
-dev pccons flags=0x02という行を追加することで、ビデオカードがVGAであることを指定します。 逆に、
-dev pccons flags=0x0とすることで、標準の状態(仮想コンソールが八個)に戻ります。 2
へ戻る