NetBSD で X のサポートを行うためには、次の行を /sys/arch/i386/conf
中の設定ファイルに記述しておかなければなりません:
options XSERVER, UCONSOLE
このサーバは NetBSD/i386 で標準的な コンソールドライバである pccons, pcvt, wscons(pcvt 互換モード)をサポートしています。 これらは実行時に検出されるので、サーバの設定などは必要ありません。
pccons ドライバは最もよくテストされ、NetBSD のバイナリ配布用のカーネルに も含まれているドライバです。
pcvt ドライバは NetBSD に付属しています。pcvt の X モードは pccons の X モードと互換性があります。複数の仮想コンソールが利用できたり、各国対応の キーボードをサポートしていたりします。このドライバを使用するためには、 カーネル設定ファイル中の次の行:
device pc0 at isa? port "IO_KBD" irq 1
を
device vt0 at isa? port "IO_KBD" irq 1
に変更してカーネルを再構築して新しいカーネルをインストールしてください。
XFree86 は NetBSD 1.4 の wscons コンソールドライバでも動作します。 現在のところは pcvt 互換モードを使っているので、wscons を使っている場 合には、以下の行をカーネルの設定ファイルに必ず入れてください:
options WSDISPLAY_COMPAT_PCVT # emulate some ioctls
options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls
options WSDISPLAY_COMPAT_USL # VT handling
options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
wscons をカーネルに組み込む方法については、wscons(4) と
wsmouse(4) のオンラインマニュアルを参照してください。
NetBSD 0.9C 以降ではマルチユーザモード環境での /dev/mem
への
アクセスを拒否するという 4.4BSD のカーネルセキュリティ機能が含まれて
います。しかし XFree86 のサーバではビデオメモリへのリニアなアクセスが
性能の向上に使われたり(必須となることもあります)します。
最近のアクセラレーション付きのサーバのほとんどはリニアメモリアクセスが 必須ですが、リニアメモリアクセスを利用できるけれど必要とはしないサーバ もあります。
XFree86 にリニアメモリアクセスを許可するには2つの方法があります:
一つの方法は、カーネルの設定ファイルに `option INSECURE' を追加してカー ネルを作り直し、カーネルのセキュリティ機能を無効にすることです。
もう一つの方法はアパーチャドライバをインストールすることです: アパーチャドライバのソースは ftp://ftp.netbsd.org/pub/NetBSD/arch/i386/apNetBSD.shar から入手することができます。
アパーチャドライバを有効にする方法は、使用している OS のバージョンに強 く依存します。
/etc/rc.local
の最後に次の行を追加します:
KERNDIR=/usr/X11R6/lib/X11/kernel
if [ -f ${KERNDIR}/ap.o ]; then
modload -o ${KERNDIR}/ap -e ap -p ${KERNDIR}/apinstall ${KERNDIR}/ap.o
fi
/etc/lkm.conf
に次の行を追加します。
/usr/X11R6/lib/X11/kernel/ap.o - ap /usr/X11R6/lib/X11/kernel/apinstall -
lkm.conf
のフォーマットが 1.2G で変わりました。
/etc/lkm.conf
に次の行を追加してください:
/usr/X11R6/lib/X11/kernel/ap.o - ap /usr/X11R6/lib/X11/kernel/apinstall - -AFTERMOUNT
システムを再起動します。アパーチャドライバが使用できる場合は、XFree86 はこれを自動認識するしょう。
<1--
Warning: if you boot another kernel than /netbsd
or
/bsd
,
loadable kernel modules can crash your system. Always boot in
single user mode when you want to run another kernel.
-->
警告: /netbsd
や /bsd
以外のカーネルで起動する
場合、ローダブルカーネルモジュールを使用するとシステムがクラッシュしま
す。他のカーネルで起動する場合には、必ずシングルユーザモードで起動する
ようにしてください。
注意: アパーチャドライバは一度に一つのアクセスしか許可しません (だから一旦 X が起動されるとシステムは同じセキュリティ状態になります)。 これは複数のサーバを複数の仮想端末で実行した場合に、最初の一つだけがリ ニアアクセスできるということです。同時に複数の X サーバを使用する必要 がある場合には、'option INSECURE' を使用してください。
NetBSD 1.0 以降では System V 形式の共有メモリがサポートされています。 XFree86 はカーネル内でこれがサポートされていることを検出すると、MIT-SHM 機能拡張をサポートするようになります。
カーネルに System V 形式の共有メモリサポートを組み込むには、以下の 行をカーネル設定ファイルに追加してください:
# System V-like IPC
options SYSVMSG
options SYSVSEM
options SYSVSHM