  BSD/OS 2.0 用 XFree86 3.1.2 に関する README
  Hans Nasten
  24 July 1995
  The X Japanese Documentation Project
  8 February 1999
  ____________________________________________________________

  目次

  1. XFree86 とその入手方法について
  2. このドキュメントに対するバグ報告
  3. バイナリのインストール
  4. xdm (ディスプレイマネージャ)のインストール
  5. ハードウェアに応じた X の設定
  6. X の実行
  7. XFree86 配布物の再構築
  8. 新しい X クライアントの構築
  9. BSD/386 1.1 の場合のフレームバッファへのリニアアクセス

  ______________________________________________________________________

  このドキュメントの内容は古くなっています

  1.  XFree86 とその入手方法について

  XFree86 3.1.2 は X11R6.3 を Intel ベースの Unix のいくつかに移植したも
  のです。XFree86 は元々、 X386 1.2 という X11R5 と一緒に配布されていた
  X サーバでした。このリリースでは新しい機能がたくさん追加され、性能も改
  善されていますし、バグもたくさん修正されています。このリリースは X コ
  ンソーシアムの X11R6 のソースコードへのパッチの形でも入手できますし、
  各種アーキテクチャ用のバイナリ配布の形でも入手できます。

  XFree86 のソースコードは以下の場所から anonymous ftp で入手できます:

  ftp://ftp.XFree86.org/pub/XFree86/current

  BSD/OS 2.0 用バイナリは以下の場所から入手できます:

  ftp://ftp.XFree86.org/pub/XFree86/current/binaries/Bsdi

  古いバージョンの BSD/OS を使っている場合には、ソースから配布物を構築し
  なければなりません。BSD/386 1.0, 1.1 上での配布物の構築のテストは行っ
  ていませんが、正しく動作すると思います。古い BSD/OS のリリースでの構築
  で問題が起きた場合には、互換でない部分を修正できるよう我々にお知らせく
  ださい。構築がうまくでき、できたバイナリを共有したい場合には、Bsdi の
  メーリングリストでお知らせください。バイナリは BSD/OS 2.0 と一緒に配布
  されている gcc 2.6.3 を使って構築されています。一般の gcc のソースコー
  ドを使って構築した gcc コンパイラを使ってソースコードから配布物を構築
  した場合、数値コプロセッサを搭載していない 386/486 マシン上ではバイナ
  リの実行で問題が起こるかもしれません。

  2.  このドキュメントに対するバグ報告

  このファイルに関するコメントや提案があれば nasten@Everyware.SE (Hans
  Nasten) または XFree86@XFree86.org まで電子メールを送ってください。文
  書を修正します。

  3.  バイナリのインストール

  バイナリ配布物はたくさんの gzip で圧縮された tar アーカイブで構成され
  ています。このアーカイブには実行ファイル、サーバ、フォント、ライブラ
  リ、インクルードファイル、オンラインマニュアル、設定ファイル、サーバリ
  ンクキットが含まれています。全ての tar アーカイブは / をデフォルトディ
  レクトリとして root ユーザで展開しなければなりません。全ディストリビュ
  ーションでディスクを 40MB 強必要とします。ファイル名は CD-ROM の規約と
  互換になるように変換されています。

  多くのクライアントがX11R6 配布物から `contrib' 領域に移された点に注意
  してください。しかし、これらは今でも XFree86 バイナリ配布物と一緒に配
  布されています。

  アーカイブの内容を以下に示します:

     必須:

        X312doc.tgz
           READM と XFree86 固有のオンラインマニュアル

        X312bin.tgz
           実行可能な X クライアントアプリケーション全て

        X312fnts.tgz
           キリル文字フォントを除く全てのフォント

        X312lib.tgz
           実行時に必要なデータファイル

     ハードウェアに応じて、以下のうち最低 1 つを選んでください:

        X312SVGA.tgz
           Super VGA カード用の 8 ビット pseudo-color X サーバ

        X312VG16.tgz
           VGA, SVGA カード用の 4 ビット pseudo-color X サーバ

        X312Mono.tgz
           白黒 X サーバ

        X3128514.tgz
           IBM 8514/A とその互換ボード用の X サーバ

        X312AGX.tgz
           AGX ボード用の X サーバ

        X312Ma8.tgz
           ATI Mach8 ボード用の X サーバ

        X312Ma32.tgz
           ATI Mach32 ボード用の X サーバ

        X312Ma64.tgz
           ATI Mach64 ボード用の X サーバ

        X312P9K.tgz
           P9000 ベースのボード用の X サーバ

        X312S3.tgz
           S3 ベースのボード用の X サーバ

        X312W32.tgz
           ET4000/W32, ET6000 ベースのボード用の X サーバ

     無くても構わないもの:

        X312fsrv.tgz
           フォントサーバとそのオンラインマニュアル

        X312cfnt.tgz
           キリル文字フォント

        X312prog.tgz
           include/X11 ヘッダファイルと、他の X アプリケーションのコンパ
           イルする際だけに必要なスタティックライブラリ

        X312man.tgz
           オンラインマニュアル全て

        X312link.tgz
           サーバ再設定キット

  初めてインストールするのであれば、全てのパッケージをインストールすれば
  安全です。最小インストールとしては、doc, bin, fnts, lib と X サーバ 1
  つが必要です。

  アーカイブを展開してインストールする手順は以下です:

  1. X の配布物を置くためのインストール先ディレクトリを何か作ります。
     /usr/X11R6 が推奨されていますが、(筆者のマシンのように)このパーティ
     ションがいっぱいであれば、単に別のディレクトリを作り、 /usr/X11R6
     からこの場所へシンボリックリンクを張ってください。

     つまり、筆者のマシンでは以下の操作を行いました:

         % cd /usr/local
         % mkdir X11R6
         % ln -s /usr/local/X11R6 /usr/X11R6

  2. アーカイブを展開し、`umask' 値 022 を使うために root としてログイン
     しなければなりません。umask 値を設定するには `umask 022' と入力しま
     す。注意: 正しい umask 値を使い、`root' ユーザでとしてファイルを展
     開しなかった場合、XFree86 3.1.2 を実行できないことがあります。X サ
     ーバは root ユーザにしか与えられていない特殊な権限を必要とします。
     また、アーカイブを展開する前には / ディレクトリに cd しなければなり
     ません。

  3. /usr/X11R6/bin にビデオカードに合ったサーバを指す、 `X' という名前
     のシンボリックリンクを作ります。ハードウェアに関する詳しいことにつ
     いては、オンラインマニュアルの XF86_* を参照してください。例え
     ば、ET400 ベースの SVGA カードを使っている場合は、以下のような操作
     を行います:

         cd /usr/X11R6/bin
         rm -f X
         ln -s XF86_SVGA X

  注意: lib/X11/fonts にあるフォントファイルは展開する必要はありません。
  それでも展開したければ、展開の後に各ディレクトリで `mkfontdir' を実行
  するのを忘れないでください。

  4.  xdm (ディスプレイマネージャ)のインストール

  ディスプレイマネージャを使うと PC が X 端末みたいに見えます。つまり、X
  上で動作するログインスクリーンが提供されます。ディスプレイマネージャを
  起動するには、コンソールから root でログインし、 `xdm -nodaemon' と入
  力してください。

  コンソールの getty を無効にし、かつ以下のコードを /etc/rc.local に追加
  することで、システム起動時に自動的に xdm を 起動することができます。

    if [ -x /usr/X11R6/bin/xdm ]; then
      echo -n ' xdm'; /usr/X11R6/bin/xdm
    fi

  コンソールの getty を無効にするには、/etc/ttys ファイル内のコンソール
  のエントリを `on' から `off' に変更します。

  console "/usr/libexec/getty std.9600"   ibmpc3  off secure

  5.  ハードウェアに応じた X の設定

  XF86Config は使っているモニタやビデオカード、マウスの種類を X サーバに
  知らせます。必ず XF86Config を作り、使っている特定のハードウェアをサー
  バに知らせなければなりません。

  XFree86 3.1 以降のリリースでは、設定ファイルのフォーマットが新しくなっ
  ています。オンラインマニュアル XF86Config と一般的なインストール手順に
  関する INSTALL ファイルを参照してください。

  XFree86 2.x 用の Xconfig ファイルがあれば、reconfig コマンドを使って
  Xconfig  ファイルの一部を新しいフォーマットに変換してください:

     # reconfig <Xconfig >XF86Config

  オンラインマニュアルの XF86Config とテンプレートとして使える XF86Con-
  fig.sample に従って、残りの部分を補ってください。

  ハードウェアを壊さないようにするため、サーバはユーザのホームディレクト
  リの XF86Config は参照しないようになりました。しかし、このファイルとし
  ては /etc/XF86Config, /usr/X11R6/lib/X11/XF86Config.hostname,
  /usr/X11R6/lib/X11/XF86Config のいずれかが必要です。

  ハードウェアについては以下の情報が必要です:

  o  マウスの種類、ボーレート、/dev のエントリ

  o  ビデオカードのチップセット (例: ET4000, S3 等)

  o  モニタの同期周波数

     マウスが接続されているデバイスを見つける最も簡単な方法は、 `cat' や
     `kermit' を使ってマウスの出力を見ることです。マウスを接続し、マウス
     を動かしたりクリックしたときに生成される出力を確認するだけです:

       % cat < /dev/tty00

  これで正しいマウスデバイスが分からなければ、次に `dmesg|grep com' を
  使ってブート時に検出されたデバイスのリストを取り出しましょう。

    % dmesg|grep com
    com0 at isa0 iobase 0x3f8 irq 4

  com0 は /dev/tty00 に対して使われるハードウェアポートで、com1 は
  /dev/tty01 に対して使われるものです。画面のサイズやモニタ上での位置を
  うまく調整しようと考えているならば、モニタのマニュアルに書かれている同
  期周波数に関する仕様が必要です。

  6.  X の実行

  X を実行するにはメモリが最低 8MB 必要です。サーバ、ウィンドウマネー
  ジャ、 xterm でメモリを 4MB 使います。メモリが 4MB のシステムでは、カ
  ーネルや数メガバイトの空きメモリを期待する gcc のような他のアプリケー
  ションの分のメモリがほとんど残りません。

  初めてのユーザが X Window を起動するための最も簡単な方法は、 ``startx
  >& startx.log'' を実行することです。X サーバが画面表示を引き継ぐため、
  エラーメッセージはリダイレクトしないと無くなってしまいます。

  X から抜けるためには、コンソールになっている xterm で ``exit'' と入力
  します。ホームディレクトリに .xinitrc, .xserverrc, .twmrc ファイルを作
  ることにより、X をカスタマイズすることができます。これらのファイルにつ
  いては、オンラインマニュアルの xinit と startx の説明を参照してくださ
  い。

  7.  XFree86 配布物の再構築

  サーバリンクキットを使うと、ディスクをできるだけ使わずに X サーバだけ
  を再構築することができます。サーバリンクキットを展開し、site.def を適
  切に修正し、`./mkmf' と `make' を実行してサーバをリンクしてください。
  詳しくは /usr/X11R6/lib/Server/README を参照してください。

  ソース配布物の展開と構築の手順については
  /usr/X11R6/lib/X11/etc/INSTALL を参照してください。構築中にソース、オ
  ブジェクト、バイナリのために必要なディスクの空き容量は約 250MB です。

  コンパイルの前には xc/config/cf/xf86site.def を編集して、配布物を設定
  しなければなりません。ソースをコンパイルするには

    make World

  を xc ディレクトリで実行します。

  8.  新しい X クライアントの構築

  新しいクライアント(X のアプリケーション)を作る最も簡単な方法は、
  Imakefile がソースに付属していれば xmkmf を使うことです。 ``xmkmf'' を
  実行して Makefile を作り、必要に応じて設定を確認し、それから ``make''
  を実行します。オンラインマニュアルも追加インストールした場合には、必ず
  ``makewhatis /usr/X11R6/man'' を実行し、whatis.db を更新してください。
  cc がコンパイル時に `Virtual memory exhausted' というメッセージを出す
  のを避けるため、データサイズとスタックサイズの上限を増やしてくださ
  い(csh の場合は、`limit datasize 32M' と `limit stacksize 16M' を入力
  します)。

  注意: XFree86 2.1 以降、シンボル ``__386BSD__'' は、コンパイラによって
  も X の設定ファイル経由でも定義されないようになりました。クライアント
  を *BSD システムに移植するときには、本当に BSD 特有のコードに対しては
  シンボル ``BSD'' を使ってください。このシンボルの値を使って異なる BSD
  リリースを区別することができます。例えば、Net-2 以降のリリース専用のコ
  ードの場合には以下のように記述します。

  #if (BSD >= 199103)

  このシンボルを確実に正しく定義するため、このシンボルが必要なソースでは
  <sys/param.h> をインクルードしてください。 XFree86 3.1.1 以降では *BSD
  システム用のシンボル CSRG_BASED が定義されている点に注意してくださ
  い。<sys/param.h> のインクルードを保護するために、これを使うべきです。

  i386 用に移植された BSD のうち特定のものの専用コードの場合には、
  FreeBSD ならば __FreeBSD__ を、 NetBSD ならば __NetBSD__ を、 OpenBSD
  ならば __OpenBSD__ を、 386BSD ならば __386BSD__ を、 BSD/OS ならば
  __bsdi__ を使ってください。

  9.  BSD/386 1.1 の場合のフレームバッファへのリニアアクセス

  普通の BSD/386 1.1 カーネルには、フレームバッファを(バンク切替えでな
  く) リニアメモリとして高位メモリに mmap しようとすると問題が起きます。
  このパッチを当てると、/sys/i386/isa/vga.c での、フレームバッファのリニ
  アモードでの mmap を無効にするチェックが行われなくなります。新しいカー
  ネルの構築の手順については、BSD/386 1.1 のリリースノートを調べてくださ
  い。このパッチは BSD/OS 2.0 では必要ありません。

  o  以下のパッチを別ファイルとして保存します。

  o  /sys/i386/isa に cd します。

  o  ``patch -p <パッチファイル'' を実行して、パッチを適用します。

  o  新しいカーネルを構築・インストールします。

  o  リブートします。

     vga.c に対するパッチは以下です:

     *** vga.c.orig  Sun Dec 19 09:35:01 1993
     --- vga.c       Mon Oct 24 01:38:44 1994
     ***************
     *** 159,165 ****
       #if 0
             if (off + NBPG > vgap->vga_mem_size)
                     return (-1);
     ! #else
             if (off + NBPG > IOM_END)
                     return (-1);
       #endif
     --- 159,165 ----
       #if 0
             if (off + NBPG > vgap->vga_mem_size)
                     return (-1);
     ! /*#else*/
             if (off + NBPG > IOM_END)
                     return (-1);
       #endif

  $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/README.Bsdi,v 1.1.2.2 1999/11/26 15:23:03 hohndel Exp $

  $XConsortium: Bsdi.sgml /main/8 1996/10/27 11:05:51 kaleb $

