[ カーネル再構築 | FreeBSDトップ | ソフトウェア ]


環境構築

daemon


Introduction


起動時に自動実行されるプログラムや環境の設定を行う。
FreeBSDでは起動時にいくつかの設定ファイルが読み込まれ、 そこに定義された値が有効となる様になっている。 ここではそれらの定義ファイルの設定値を変更する。

s30


まずは s30 固有の設定を行う。
suspend 時に vga の電源を off にするカーネルモジュールを組み込むために、 /usr/src/sysディレクトリで vga_pci-5.4-RELEASE.tar.gzファイルを展開して makeする。 作成された vga_pci.koファイルを /boot/modulesにコピーし、 /boot/loader.confに以下の記述を追加する。

vga_pci_load="YES" # 起動時に vga_pci カーネルモジュールをロード

このカーネルモジュールは FreeBSD 5.1-RELEASE 向けに 岩崎さんが作成・公開されたものに、5.4-RELEASE でコンパイルできるよう インクルードファイルの指定を追加したものです。 本当にありがとうございます。

boot


Welcome to FreeBSD!

1. Boot FreeBSD [default]
2. Boot FreeBSD with ACPI disabled
3. Boot FreeBSD in Safe Mode
4. Boot FreeBSD in single user mode
5. Boot FreeBSD with verbose logging
6. Escape to loader prompt
7. Reboot

Select option, [Enter] for default
or [Space] to pause timer 5

起動時に表示される beastie 君の ascii art は可愛いのだが、 同時に表示されるメニューと相まって慣れると煩く感じるので 従来通りの boot 画面が表示される様にし、 また、起動時に表示されるメッセージの待ち時間を短くするために /boot/loader.confに以下の設定を追加する。

autoboot_delay="5" 起動時の待ち時間を 5 秒に設定
beastie_disable="YES" 起動時の beastie 君とメニューを非表示とする(ゴメン

keyboard


CtrlとCapsLockの位置を入れ替えるだけであれば、 jp.106xというキーボードマップを使用すれば良い。 しかしCapsLockはそもそも不要なので、 キーボードマップを多少変更してCtrlキーもCapsLockキーも Ctrlキーとして動作する様変更する。
/usr/share/sysconf/keymap/jp.106x.kbdjp.106y.kbdという名前でコピーし、 029の行を変更。

029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl

作成したキーマップを有効にするために、/etc/rc.confに以下の設定を追加する。

keymap jp.106y

sysctl.conf


ACPI による電源管理が可能となったので、 suspend swtich(Fn + F4)押下時の動作や 電源スイッチ押下時の動作設定を行うため /etc/sysctl.confに以下の設定を追加する。

hw.acpi.reset_video=0 suspend/resume 時にビデオをリセットしない
hw.acpi.lid_switch_state=NONE ディスプレイを閉じた時は何もしない
hw.acpi.standby_state=S3 スタンバイ(apm -Z実行時)は s3 状態に設定
hw.acpi.suspend_state=S3 サスペンド(apm -z実行時)は s3 状態に設定
hw.acpi.power_button_state=S3 電源スイッチ押下時は s3 状態に移行
hw.acpi.sleep_button_state=S3 スリープボタン(Fn + F4)押下時は s3 状態に移行
hw.acpi.thermal.min_runtime=300
hw.acpi.battery.info_expire=30 電源状態の取得は 30 秒毎とする

devfs.conf


5.1-RELEASE からはdevfs (8) が必須となったので、 新しいデバイスを追加する時に 従来の様にMAKEDEV (8) を実行する必要は無くなった。
これは非常に便利であるが、一部の古いプログラムが動作しない事がある。 例えばkon (1) は/dev/vga を参照するので /etc/devfs.conf/dev/vga への シンボリックリンク作成を指示する。
同様に /dev/cdrom へのリンクを作成する様に指定する。

link ttyv0 vga /dev/ttyv? へのシンボリックリンクを作成する
link acd0 cdrom /dev/cdrom へのシンボリックリンクを作成する

moused


moused を使用するとコンソール画面でもマウスを利用した カット&ペーストが利用可能であり、 X Window 上ではホイールマウスと内蔵のトラックポイントを同時使用可能となる。
moused を使用してホイールマウスを活用するために /etc/rc.confに以下の設定を追加する。

moused_enable="YES" コンソール画面でもマウスを使用する
moused_flags="-z 4" ホイール付きマウスを指定
moused_type="auto" マウスの種類は自動選択とする
moused_port="/dev/psm0" PS2 マウスの場合のデバイス名

Memory Disk


アクセスが頻繁に発生するディレクトリをメモリディスクにすると、 アクセスが高速になり体感速度が飛躍的に向上するので、 /tmpをメモリディスクにする様に設定する。
メモリディスクを使用するためには カーネルの設定MDが有効になっている必要がある。
起動時に/tmpをメモリディスクとして利用するために、 /etc/fstabに以下の設定を追加する。

md /tmp mfs rw,-s256m 0 0
-sオプションはswapデバイスの容量を指定する。

Auto Mount Daemon


auto mount daemon(amd)を使用するとCD-ROMやUSB Memory-key、 Windows/DOSで使用しているディスクを参照する際に mount (8) /umount (8) を自動で実行してくれる。

amdを使用する前に、それぞれのデバイスのマウントポイントを作成し、 mountしてアクセス可能な様設定する必要がある。
各デバイスをmountするために /etc/fstabに以下の設定を追加する

/dev/ad0s1 /usr/mnt/win ntfs ro,noauto 0 0
Windows領域
/dev/ad6s1 /usr/mnt/flash msdos rw,noauto 0 0
CF
/dev/cd0a /usr/mnt/cdrom cd9660 ro,noauto 0 0
CD-ROM
/dev/da0s1 /usr/mnt/usb msdos rw,noauto 0 0
Memory-key
/dev/da0 /usr/mnt/fd msdos rw,noauto 0 0
fd
デバイスは環境に合わせて変更する必要がある。

/mnt以下の各ディレクトリに参照が発生した場合に自動的に /usr/mnt以下のマウントポイントにデバイスをmount (8) し、 /mntにシンボリックリンクを作成する。
amdの動作を定義するために/etc/amd.mapに以下の設定を追加する。

win type:=program;fs:=/usr/mnt/win;\
mount:="/sbin/mount mount /usr/mnt/win";\
unmount:="/sbin/umount umount /usr/mnt/win";
Windows領域
flash type:=program;fs:=/usr/mnt/flash;\
mount:="/sbin/mount mount /usr/mnt/flash";\
unmount:="/sbin/umount umount /usr/mnt/flash";
CF Flash
cdrom type:=program;fs:=/usr/mnt/cdrom;\
mount:="/sbin/mount mount /usr/mnt/cdrom";\
unmount:="/sbin/umount umount /usr/mnt/cdrom";
CD-ROM
usb type:=program;fs:=/usr/mnt/usb;\
mount:="/sbin/mount mount /usr/mnt/usb";\
unmount:="/sbin/umount umount /usr/mnt/usb";
Memory-key
fd type:=program;fs:=/usr/mnt/fd;\
mount:="/sbin/mount mount /usr/mnt/fd";\
unmount:="/sbin/umount umount /usr/mnt/fd";
fd

起動時からamdを使用するために/etc/rc.confに以下の設定を追加する。

amd_enable="YES" amd を有効にする
amd_flags="-l syslog -c 30 /mnt /etc/amd.map" ログ取得の方法と対象とするディレクトリを指定する

MS Windows のファイルシステムの日本語表示


5.4-RELEASE では ntfs、msdosfs、cd9660 ファイルシステムの 日本語表示機能が標準で組み込まれているので、 マウント時にオプションを指定して日本語を表示できるよう設定する。
mount_ntfs (8) 、mount_msdosfs (8) 、mount_cd9660 (8) コマンドを実行して日本語の表示を確認した後は、 /etc/fstabに以下の設定を追加して完了。
但しインストールした状態だと変換モジュール(libiconv)が インストールされていないのでエラーが発生する場合がある。 その様な場合は ports コレクションから libiconvportsインストールすれば 問題なくマウント可能となる。

ntfs ro,noauto,-C=eucJP
msdosfs rw,noauto,-L=ja_jp.eucJP,-D=CP932
cd9660 ro,noauto,-C=eucJP

ホストデータベースの検索順序


FreeBSD 5.0 からnddispatch (3) が NetBSD より移植されたので、 /etc/host.conf/etc/nsswitch.conに変更となる。
/etc/nsswitch.confは以下に示すデータベースの検索に影響する。

group getgrent()
hosts gethostbyname()
networks getnetbyname()
passwd getpwent()
shells getusershell()

ホスト名の検索順序を /etc/hostsDNSの順に設定する場合は、 /etc/nsswitch.conに以下の記述を追加すると、 起動時に /etc/host.confが自動的に生成される。

hosts:
files dns


Last Update: Nov. 29 2005 Copyright © Mitzyuki IMAIZUMI 2002,2004,2005 All Rights Reserved,