HAYAGUI

FreeBSD 4.5 + amd

はじめに

cdrom を使う時は、最初に mount して終わったら umount する必要がありますが、 amd(Auto Mount Daemon)を設定すると、ディレクトリにアクセスするだけで自動的にマウントされます。
SCSI 接続の CD-ROM を amd 設定してみます。

参考にしたページは、こちらhttp://www.jp.freebsd.org/QandA/HTML/666.html

前準備

amd を利用するためにはカーネルに NFS が組み込まれている必要があります。 通常は最初から入っていますが、一応確認してみましょう。

/usr/src/sys/i386/conf/GENERIC を vi で開きます。

mico# cd /usr/src/sys/i386/conf
mico# pwd
/usr/src/sys/i386/conf
mico# ls GENERIC
GENERIC
以下の行があれば OK です。
options         NFS                     #Network Filesystem
options         NFS_ROOT                #NFS usable as root device, NFS required
次に、CD-ROM のデバイス名を見てみます。 CD-ROM がついている状態で、FreeBSD をインストールすると、/etc/fstab にデバイス名が設定されますので、 これを確認します。
mico# cat fstab
# See the fstab(5) manual page for important information on automatic mounts
# of network filesystems before modifying this file.
#
# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/ad0s1b             none            swap    sw              0       0
/dev/ad0s1a             /               ufs     rw              1       1
/dev/ad0s1f             /tmp            ufs     rw              2       2
/dev/ad0s1g             /usr            ufs     rw              2       2
/dev/ad0s1e             /var            ufs     rw              2       2
/dev/cd0c             /cdrom          cd9660  ro,noauto       0       0
proc                    /proc           procfs  rw              0       0
CD-ROM は、/dev/cd0c であることがわかります。ATA接続のCD-ROM の場合は、wcd0c とかになるでしょう。

設定

/etc/amd.map を編集します。
mico# cd /etc
mico# vi amd.map
私は、この書式にしました。
/defaults       fs:=/a/${key}
# SCSI CD-ROM
cdrom           type:=program;\
                mount:="/sbin/mount mount -t cd9660 /dev/cd0c ${fs}";\
                unmount:="/sbin/umount umount /dev/cd0c";
次に、マウントディレクトリを作成します。 上の書式内にある /a/cdrom を作成します。 実際は、/mnt/cdrom がディレクトリになります。
mico# mkdir -p /a/cdrom
起動時に、amd を起動する為、/etc/rc.conf に以下の内容を追加します。
amd_enable="YES"
amd_flags="-l syslog -c 20 /mnt /etc/amd.map"
-c 20 は、20秒たったら自動的に umount する設定です。 とりあえず、reboot しましょ。

動作確認

CD-ROM ドライブに、FreeBSD のインストールディスクを入れて、/mnt/cdrom ディレクトリに cd してみましょう。
mico# cd /mnt/cdrom
mico# ls
4.4-RELEASE             cdrom.inf               packages-4.4-release
成功成功!
自動的に、amd.map に書いてある /sbin/mount mount -t cd9660 /dev/cd0c /a/cdrom が実行されて、成功したことになります。

amd の状態を確認するには、amq を実行すると表示できます。

mico# amq
/           root     "root"                              mico:(pid67)
/mnt        toplvl   /etc/amd.map                        /mnt
/mnt/cdrom  program  mount -t cd9660 /dev/cd0c /a/cdrom  /a/cdrom
手動で umount するには、以下のようにします。 amq すると、/mnt/cdrom がなくなっていることがわかります。
mico# cd /
mico# amq -u /mnt/cdrom
mico# amq
/     root    "root"        mico:(pid67)
/mnt  toplvl  /etc/amd.map  /mnt
root ではないユーザも CD-ROM を自由に使えます。
> cd /mnt/cdrom
> ls
4.4-RELEASE             cdrom.inf               packages-4.4-release

戻る



(C)1999 - 2002 Kenji Ito All rights reserved.