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 とか調べていたら、以下のようなサイトにぶつかりました。もしかしたら参考になるかも知れません。
- http://archive.netbsd.se/?ml=netbsd-tech-kern&a=2005-01&t=608790
- http://invisible.ca/space/netbsd-projects/netbsd-acpi
vbetool ってのが、役に立つのかも。
*1:ちなみに私の PC は ASCII 101 配列です。