Last update: 4 Feb. 1999. 横田和隆 yokota@FreeBSD.ORG ----------------------------------------------------------------------- I) Syscons の改訂 II) Splash Screen III) Splash Screen/Screen Saver FAQ ----------------------------------------------------------------------- I) Syscons の改訂 1月10日に 3.0-CURRENT の syscons を大幅に改訂しました。 基本的な変更点は,キーボード,ビデオ・カードへの入出力が独立したドライ バにまとめられたことです。このため 3.0-CURRENT を cvsup したあとカーネ ルを再構築する際に,カーネル・コンフィギュレーション・ファイルのコンソー ル関係の記述を変更する必要があります。 syscons をお使いの場合, controller atkbdc0 at isa? port IO_KBD tty device atkbd0 at isa? tty irq 1 device psm0 at isa? tty irq 12 device vga0 at isa? port ? conflicts device sc0 at isa? tty スクリーン・セイバーや splash screen (後述)をお使いになる場合はさらに pseudo-device splash (本来 splash はスクリーン・セイバーや splash screen をお使いにならない 場合には不要にするはずだったのですが、入れないでおくとカーネル・コンパ イル時にエラーになりますので必ず入れておいてください。この問題は早急に 修正する予定です。12 Jan 1999.) (修正されました。スクリーン・セイバーや splash screen を使わない場合に は splash は必要ありません。13 Jan 1999) とします。pcvt をお使いの場合は, controller atkbdc0 at isa? port IO_KBD tty device atkbd0 at isa? tty irq 1 device psm0 at isa? tty irq 12 device vt0 at isa? tty とします。 以下の syscons のオプションは,新たに vga ドライバのオプションに置き換 えられました。 SC_ALT_SEQACCESS -> VGA_ALT_SEQACCESS SLOW_VGA -> VGA_SLOW_IOACCESS 以下の syscons のコンフィギュレーション・フラグは廃止となりました。 0x08 キーボードの有無を検出する(無い時には syscons をインストールしない) 0x10 XT タイプのキーボード 0x20 キーボードのリセットをしない 代わりに同等の効果のある atkbd 用のフラグをお使い下さい。 0x01 キーボードの有無を検出し,無い時には atkbd ドライバをインストール しない。このフラグを指定しない場合にはキーボードは常に存在すると 仮定する。 0x02 キーボードのリセットをしない 0x04 XT タイプのキーボード /sys/modules にあるスクリーン・セイバー,vesa の各モジュールはコンパイル しなおす必要があります。また kbdcontrol, vidcontrol もコンパイルし直して 下さい。(もちろん make world をすれば自動的に更新されます。) PC98 への対応は現在 PC98 チームの方々が取り組んでいらっしゃいますので, 順次ソース・ツリーに反映されることと思います。 ----------------------------------------------------------------------- II) Splash Screen カーネルのロード時に何か絵を出すことができるようになりました。残念なが ら現時点では,1) ファイル・フォーマットは Windows の 256色 BMP ファイ ルであること,2) PCVT では使えない,という制約があります。取り扱える イメージのサイズは,標準の VGA では 320x200 まで,ビデオ・カードに VESA BIOS が場合には 1024x768 までです (ただし,VESA BIOS やビデオ・カードの メモリ量によっては 800x600 や 640x480 ぐらいまでしかだめかもしれません)。 splash screen を使うには,カーネルに pseudo-device splash が含まれていなければなりません。 BMP ファイルはブート・ローダ(ELF 対応の /boot/loader)から見えるところ ならどこでも構いません。 ブート・ローダが起動したら以下のようにしてカーネルと各モジュールをロー ドして起動します。 load kernel load -t splash_image_data _your_BMP_file_ load splash_bmp boot ("-t splash_image_data" の指定を間違えないようにして下さい。splash screen モジュール (splash_bmp) はこのタグ名のついたデータを表示しよう とするからです。) 320x200 ドットより大きなビットマップ・ファイルをロードしたいなら,VESA BIOS サポートの組み込みが必要です。VESA BIOS サポートを利用するための 条件は, 1) カーネル・コンフィギュレーション・ファイルに options "VM86" options VESA の二つが指定してカーネルを構築してあるか, 2) カーネル・コンフィギュレーション・ファイルに options "VM86" を指定して構築したカーネルに VESA モジュールを追加でロードしてある, のいずれかです。1)の場合はそれ以上特に設定は必要ありません。2)の場合には ブート・ローダからロードする際に,splash_bmp の他に vesa モジュールも ロードします。 load kernel load -t splash_image_data _your_BMP_file_ load vesa load splash_bmp boot boot コマンドの後,カーネルがロードされるとすぐ BMP ファイルが画面に表 示されるはずです。何かキーを押すか,スクリーン・セイバーをロードすると splash screen は消えます。 なお,もし上記の boot コマンドに対して -c や -v オプションを与えた場合 ファイルは表示されません。 splash screen モジュールをロードし,スクリーン・セイバーをロードしてい ない場合,splash screen モジュールをスクリーン・セイバーの代わりとして 使うことが出来ます。vidcontrol コマンドでタイムアウトを指定すれば, vidcontrol -t timeout 指定時間の後 BMP ファイルが表示されます。普通のスクリーン・セイバーと 同じく,何かキーを押したり(moused を使っているならマウスを動かしたり) するともとの画面にもどります。 あまり知られていませんが,syscons のキーマップには saver キーを定義す ることができます。saver キーに指定したキーをを押すと,現在ロードされて いるスクリーン・セイバー(スクリーン・セイバーがロードされていないが splash screen があるばあいは splash screen)が直ちに表示されます。 例えば Pause を saver キーに指定したい場合,Pause キーのキー番号は 104 なのでこの行を 104 saver saver saver saver saver saver saver saver O と編集しロードします。キーマップのロードは kbdcontrol を使い, kbdcontrol -l _keymap_file_ です。 なお saver キーは X の走っている vty では効きません。 ----------------------------------------------------------------------- III) Splash Screen/Screen Saver FAQ -------------------------------------- Q. "pseudo-device splash" は `blank',`green' などのスクリーン・セイバー を使う時にも必要ですか。 A. はい必要です。splash はスクリーン・セイバーや splash screen を使う 場合に必須です。 -------------------------------------- Q. 指示通りにカーネル,ビットマップ・ファイル,splash_bmp モジュールを ロードしたのですが以下のようなエラーがでて,ビットマップは表示され ません。なぜですか。 Preloaded elf module "splash_bmp.ko" at XXXXXX. module_register_init: module_register(splash_bmp, YYYYYY, 0) error 19 A. 現バージョンの splash_bmp.ko モジュールにはいろいろと制約があり, 扱えるビットマップ・ファイルは BMP フォーマットの 8 ビット・カラー (256色),サイズは,VESA BIOS サポートを利用しない場合には最大 320x200 ドットまでとなっています。もしロードしたビットマップ・ファイルがこの 条件を満たさない場合には,splash_bmp モジュールは上記のようなエラーを 出します。カーネルが VESA BIOS サポートを含んでいる場合,もしくは VESA モジュールをブート・ローダによってロードした場合にはより大きな ビットマップを使用可能です。 上記のエラーの原因のもう一つの可能性としては,ビデオ・カード・ドラ イバがビデオ・モードをうまく設定できないことが考えられます。システム が起動したのち,dmesg コマンドを実行してみて下さい。もし "...video mode switching is only partially supported..." というメッセージが 出力の中に見つかればこれが原因です。残念ながらこれに関しては改善の 予定は今のところありません。 -------------------------------------- Q. Alpha アーキテクチャでスクリーン・セイバーや splash screen は使えま すか。 A. 現時点では使えません。 -------------------------------------- 以上 -----------------------------------------------------------------------