FreeBSD キーボード設定/カーネル設定など

ユーザー登録

FreeBSDでは、インストールプログラムからユーザー登録が行なえるようになっている。 しかし、インストールした後しばらくしてからユーザーを増やしたい場合には、自分でユーザー登録をしなければならない。 ユーザー登録の手順は次のようになる。

vipwコマンドでユーザーを登録する。
vipwコマンドは、エディタviを使ってテキストファイル形式のユーザー情報ファイル(/etc/passwdファイル)を編集して、編集終了後に自動的にユーザーデータベースに登録してくれるコマンドである。
必要ならば /etc/group ファイルを編集して、特定のユーザーがどのグループに属するかを指定する。
適当なディレクトリにユーザーのホームディレクトリを作成する。
作成したユーザーのホームディレクトリは、chown コマンドを使ってユーザーのものにする。
ユーザーに必要なファイル(例えば .cshrc)をユーザーのホームディレクトリに用意する。
ユーザーに必要なファイルは、chown コマンドを使ってユーザーのものにしておく。
大体の手順は上の通りだが、いくつかの Tips がある。
su コマンドでルート権限を得られる(rootになる)ユーザーは wheel グループに属していなければならない。
shutdownを実行できるユーザーは operator グループに属していなければならない。
かな漢字変換サーバー Wnn を利用する前に、ユーザー名 wnn を登録する必要がある。
そんなわけで、私の主に使っているログイン名は george なのだが、 /etc/group には以下のように記述している。(以下は抜粋)
wheel:*:0:root,george
operator:*:5:root,george
記述方法は上記の通り、追加したいグループ名の行に “,” でつないでユーザー名を書くだけである。
FreeBSDページの目次に戻る

106キーボード対応

FreeBSDが前提としているキー配列は、アメリカのいわゆるASCIIキーボード(101キーボード)である。 だが、今まで日本のJIS配列(106キーボード、最近のWindowsキーボードは109キーボード)に慣れ親しんでいると、記号文字の配置が異なるので、慣れるまで結構大変である。 そんな場合は、以下のようにして、キーボードをJIS配列に定義し直してしまおう。

/etc/sysconfigの内部で、
keymap=jp.106
とする。
リブートする。
以上の方法で、106キーボードが利用できるようになる。 リブートせずに、そのままキーボードの設定を106キーボード対応にするには、
kbdcontrol -l /usr/share/syscons/keymaps/jp.106.kbd
とする。
また、 /usr/share/syscons/keymap/ には、様々なキーマップファイルがあるが、jp.106x.kbdファイルは、CAPS LOCKとCTRLキーを入れ換えた設定となっているものだ。 利用方法は上述の操作で、“jp.106”を“jp.106x”に変えれば良い。

以上の操作でコンソールモードのキーボード配列は106キーボードに対応させることが出来る。 X Window System では、さらに設定が必要なので、 FreeBSD X 概論第1 も参照して欲しい。

FreeBSDページの目次に戻る

カーネルコンフィギュレーション

話しはいきなり飛んで、カーネルコンフィギュレーションに移る。 カーネルコンフィギュレーションとは、カーネルをローカルマシンのハードウェア構成に合わせて変更することである。 MS-DOSやWindows95などでは、カーネルの部分(例えば msdos.sys)は変更せず、デバイスドライバの追加によって様々なハードウェアに対応していた。 だが、ハードウェアの変更が頻繁でなければ、カーネルにデバイスドライバを組み込んでしまった方が実行効率が良いのである。 そこで、各自のマシン設定にあったカーネルを各自でつくり出すわけである。

カーネルコンフィギュレーションの方法は次のようになる。

su でスーパーユーザーになる。
cd /usr/src/sys/i386/conf でコンフィギュレーションディレクトリに移動
そのディレクトリにある GENERIC と LINT を参考に、自分専用のコンフィギュレーションファイル(ここでは、ファイル名をGEORGEとしよう)を作成する。
GENERICというファイルは、ブートフロッピーを作成した時のコンフィギュレーションファイルで、LINTというファイルは、記述できる全てのオプションを記述したコンフィギュレーションファイルである。 サウンドブラスターなどのサポート用オプションは、GENERICの中には無く、LINTの中に設定例と説明が英語で書かれているので、こちらを参照すると良いだろう。
config GEORGE を実行する。
cd ../../compile/GEORGE で、 config コマンドで作成されたコンパイル用ディレクトリに移動する。
make depend ; make でカーネルを作成する。
cp /kernel /kernel.old で、オリジナルの古いカーネルをバックアップする。
cp kernel /kernel で、今作成したカーネルをルートディレクトリにコピーする。
shutdown -r now して、コンピュータを再起動する。
以上の操作でカーネルのコンフィギュレーションは完了する。 さて、カーネルコンフィギュレーションの方法がわかったところで、実際にどんなことを設定するのかを簡単に説明しよう。
必要のないデバイスは # でコメントにしてしまう。
これで、FreeBSDの起動速度が向上する。 削った方が良いデバイスは、持っていない SCSI カードコントローラだろう。 NCR BUSLOGIC ADAPTECと色々なメーカーの SCSI カード用の設定があるので、自分のマシンに使っているもの以外はコメントにしてしまおう。 コンフィギュレーションファイル内部では、ncr0, bt0, ahc0 とか意味不明な名前で記述されているので、何のデバイスかわかりにくい。そんな場合は LINT の中に説明があるので見てみると良い。
必要なデバイスは LINT から設定をコピーしよう。
サウンドブラスターやMIDIなどの設定はインストール直後のカーネル(GENERICから作成されたもの)には含まれていない。 LINTには、設定できるデバイスの例がすべて書いてあるので、必要な部分だけカット&ペーストしよう。
FreeBSDページの目次に戻る

カーネルコンフィギュレーション(ps/2 mouse)(FreeBSD 2.1.0R)

私のマシンはPS/V Master なので、マウスはPS/2タイプである。 FreeBSD 2.1.0Rでは、カーネルコンフィギュレーションでデフォルトのシリアルマウスを外してPS/2マウスのサポートを入れる必要がある。以下は変更後のコンフィギュレーションファイル GEORGE から抜粋したものである。

#device mse0 at isa? port 0x23c tty irq 5 vector mseintr
device psm0 at isa? port “IO_KBD” conflicts tty irq 12 vector psmintr
1行目でデフォルトのマウスをコメントにして、2行目にPS/2マウスを追加している。 色々と長く書いてあるが、自分ではLINTからカット&ペーストしただけなので内容についてはよく知らないが、PS/2 mouseのirqはどのマシンでも変更されていないようなので、このまま設定すれば大丈夫だろう。
カーネルコンフィギュレーション の項目の方法で、カーネルを再構築しよう。 カーネルの再構築が終了したら、新しく作成したカーネルを使うため、一度リブートする。

続いて、デバイスファイルを作成する必要がある。 デバイスファイルとは、/devディレクトリの下にあるファイルのことで、unix系統のOSでは、デバイスファイルを通して外部とのデータのやりとりをすることになっているらしい。 作成方法は簡単で、

cd /dev
./MAKEDEV psm0
を実行すればよい。 ついでに、/dev/psm0 を /dev/mouse でもアクセスできるように、シンボリックリンクを作成しておこう。
cd /dev
ln -s psm0 mouse
以上の操作で、/dev/psm0 と /dev/mouse はどちらも PS/2 mouse として利用できるようになる。
FreeBSDページの目次に戻る

カーネルコンフィギュレーション(tun device)

すっかり当初の目標(楽楽インターネット接続)を見失っている感じがするこのホームページであるが、やっとPPP接続に関係する項目までたどり着いたようだ。

tunデバイスとは、iij-pppを利用するのに必要なトンネルデバイスのことである。 トンネルデバイスとは、通常はカーネルに含まれているデバイスドライバ本体を、ユーザーアプリケーション上に記述するためのもので、文字通りデバイスドライバのふりをする通り穴(すなわちトンネル)のことである。 tunデバイスがアクセスされると、ユーザーアプリケーション上にあるデバイスドライバ(この場合はiij-ppp)にアクセスしたことになるのだ。

早速インストール方法を解説しよう。 カーネルコンフィギュレーションファイルに以下のように記述して、カーネルを再構築すれば良い。 コンフィギュレーションファイルGENERICには、既に以下のように記述されているので、特に変更する必要はないと思うが、一応確認してみよう。

# ijppp uses tun instead of ppp device
#pseudo-device ppp 1
pseudo-device tun 1
tunの右側にある数値は、「同時に使用するtunデバイスの数」を指定する。 私の環境では、FreeBSDが動作しているマシンはスタンドアローンなので1を指定してみた。 以上の操作で、tunデバイスの準備は完了である。
FreeBSDページの目次に戻る

スタンドアローンマシンのネットワーク設定

スタンドアローンのマシンでも(つまり、ネットワークに接続していないマシンでも)、ネットワークに関する設定は必要である。 ここをうまく設定しないと、ローカルマシン内部でのメールが送信できなくなったり、muleの起動が遅くなったりするのだ。 ここで設定するのはループバックデバイスだけである。 ループバックデバイスは、ローカルマシン内部で動作しているプログラム同志でTCP/IP接続を疑似的に行なうためのものだ。 単なる無駄なデバイスのように見えるが、通常はTCP/IPで他のマシンと通信を行なうプログラムでも、全く変更することなしにローカルマシン内部で利用できるという利点がある。 ローカルループバックを有効にするためには、 /etc/sysconfig 内部で以下のように指定する。
network_interfaces=”lo0”
ifconfig_lo0=”inet localhost”
また、FreeBSD 2.1.0Rのインストール直後の/etc/sysconfigの中では、static_routesの指定がされている。 static_routesとは、文字通り「パケットを送る際には、何が何でも絶対に<ここ>にパケットを送れ」という指定であり、スタンドアローンマシンでは全く意味が無いどころか、かえって有害である。 「muleの起動が遅い」「マシン内部ですらメールが送れない」などのヘビーな弊害が出るので、以下のように変更しよう。
#static_routes=”multicast loopback”
#(元からある static_routes= の行をコメントにしてしまう。)
以上の変更を加えて、マシンをリブートしよう。
FreeBSDページの目次に戻る

光磁気ディスクの接続設定

FreeBSD 2.1.0 Release では、標準では光磁気ディスクドライブ(以下、MOドライブ)を利用することができない。 そこで、カーネルに差分を当てて、MOドライブに対応させる必要がある。 まずは、以下のftp siteからカーネルの差分を入手しよう。
東京工業大学(noc) 内部のディレクトリ
パッチファイルを入手したら、添付のドキュメントにしたがって、カーネルコンフィギュレーションを行うと良い。
また、不幸にもオリンパスの1Mキャッシュ付きの230 MOドライブを使っている人は、 オリンパスドライブ対応差分 も見て欲しい。

FreeBSDページの目次に戻る

Blue!

When watching videos on YouTube, you must learn to ignore everyone’s blue skin.  Because that’s one price you pay for running PC-BSD on the desktop. (OK, so this happens to Linux people too, and the problem is due to Adobe not fixing flash to interact properly with some driver or something.)

3

So last night I decided to give PC-BSD 10.1 a shot. I have not used PC-BSD since its 8.xx series, and had thought it was not quite mature enough of an OS, for my taste at the time. This release has brought a lot of positives to the table imho. The hardware detection, meticulous stability and low resource usage that accompany the BSD-based OSes have come quite a long way in this particular BSD derivative. The installation is rather easy, and at the same time, can be quite open for advanced users who desire specific settings. One big thing is the availability of alternative desktop environments, in the past PC-BSD was pretty much a KDE-only package deal initially.

Some complaints still linger however. The resolution detection is fickle, so I wrote a script from some simple xrandr commands to fix the issue. KDE is also still the best choice for put of the box experience, but it’s resource hungry.

All-in-all I do like this OS. I am running it on an older HP workstation, with a 1.23 Ghz intel core2, 4Gb RAM. I opted to use KDE, as I generally always use XFCE, and I must say, it has been quite a treat playing around with it!

More screenshots and reading material to come!

-Xrazik

Printing

Me: I can print. (Which makes me happy.  Because I’ve never gotten a unix box to print before.)

Me, discussing my PC-BSD system that I’m now using at work.  I don’t know what CUPS is, or how to configure it, but the printer control panel made printing work for one of the printers at work, with not too much headache.  The other printer is another story which I have given up writing.

Aah…aku nya yg gaptek ato emang pcbsd nya…wifi ma ethernet kagak kedetek… :(

# lspci | grep Atheros

03:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)

# lspci | grep Ethernet

07:00.5 Ethernet controller: JMicron Technology Corp. JMC250 PCI Express Gigabit Ethernet Controller (rev 03)

Text
Photo
Quote
Link
Chat
Audio
Video