USB メモリで NetBSD 4.0 RC4

Ubuntu に疲れたので、NetBSD 4.0 RC4 を USB メモリ(2GB)にインストールして遊んでいます。まだカーネル構築まで行ってないのですが、ちょっと備忘録。

コンソールベルの停止

i386 だと wscons というドライバがあって、こいつでキーボードやベル(ビープ)音の設定ができます。まず最初に、ベルがピーピーうるさいのでこれを止めます。wsconsctl (8) を見ると、bell.* という属性を設定することができると書かれています。現在の設定を wsconsctl -a で見てみると、bell.pitch や bell.volume という項目があることが分かります。ここで volume をいじってみたものの、音量が変わらないので、bell.pitch を 0 にしてみました。すると、無事にベルが止まりました。
具体的には、/etc/wscons.conf に次のような設定を追加します。

setvar bell.pitch=0

キーマップの変更

個人的に、以下の変更をしています*1。(Happy Hacking Keyboard の配列に合わせている、ともいう)

  • Ctrl と Capsl Lock キーの入れ替え
  • Esc とグレーブ(バッククオート)の入れ替え
  • Backspace とバックスラッシュの入れ替え

最初のやつは、コマンドライン

wsconsctl -w encoding=us.swapctrlcaps 

です。wscons.conf に書くには

setvar encoding=us.swapctrlcaps

でいけますが、

encoding us.swapctrlcaps

のほうが良いかも知れません。(実は、いま気付いた)
キーの入れ替えは、例えば /etc/mykeymap というファイルを以下のように作り

keycode 1 = grave asciitilde
keycode 41 = Cmd_Debugger Escape
keycode 14 = backslash bar
keycode 43 = Cmd_ResetEmul Delete

として、wscons.conf に

mapfile /etc/mykeymap

とします。ちなみにキーコードは i386 だと /usr/src/sys/dev/pckbport/wskbdmap_mfii.c あたりにありますし、キーシンボルは /usr/include/dev/wscons/wsksymdef.h あたりにあります(後者は wsconsctl (8) に出てます)。現在のキーマップを調べるには、私にもエレガントな方法は分からないのですが、

wsconsctl -w map+='keysym 1 = 1'

とかやると、標準出力に出てきます。

いま抱えている問題

Dell Latitude D610 なのですが、画面を閉じると、あとで開いても画面表示が戻ってこない、という問題を抱えています。Google で、netbsd lid black とか調べていたら、以下のようなサイトにぶつかりました。もしかしたら参考になるかも知れません。

vbetool ってのが、役に立つのかも。

*1:ちなみに私の PC は ASCII 101 配列です。