IT pass HikiWiki - [Memo2008]kareiでのudevの設定 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

= 始めに

karei には複数の usb HDD が接続されているが, 起動の際に認識した順番に
/dev/sdb, /dev/sdc, /dev/sdd... と名前がつき, 起動する度に名前が変わる
ので, これを解決するために udev の設定を行う.

== udev の rule 作成

先ず,
設定したいデバイスのデバイスノードを取得する.
例えば /dev/sdb のデバイスノードが知りたい場合には

  $ udevinfo -q path -n /dev/sdb
  /block/sdb

となり, /dev/sdb のデバイスノードは /sys/block/sdd である事がわかる.
このデバイスノードに対して, udevinfo コマンドを実行することで,
設定に必要な serial を取得する. 以下, 情報は XX で伏せる.

  $ sudo -s
  # udevinfo -a -p /sys/block/sdb | grep serial
    ATTRS{serial}=="XXXXXXXXXXXXXXXXX"
    ATTRS{serial}=="XXXX:XX:XX.X"
  # udevinfo -a -p /sys/block/sdb | grep product
    ATTRS{product}=="XXXXXXXXX"
    ATTRS{product}=="EHCI Host Controller"

product の表示から, serial のうち下段は karei の USB コントローラである
ことがわかる. よって接続している USB ディスクの serial は上段である. こ
れを控えておく.

次に /etc/udev/local.rules に設定を記述する.
ここでは serial が一致するディスクを

    /dev/sdb    -> /dev/work01_username
    /dev/sdb1   -> /dev/work01_username1

となるように設定する.  
折り返しているが, 実際は一行で.

  # USB HDD for username
  SUBSYSTEMS=="usb", ATTRS{serial}=="XXXXXXXXXXXXXXXXX", KERNEL=="sd*", \
  NAME="%k", SYMLINK+="work01_username%n"

username はとりあえず使用したいユーザ名にしてある. また serial に設定す
る XX... は実際に名前をつけたいディスクの serial である.  rule の設定に
ついては /usr/share/doc/udev/writing_udev_rules/index.htmlを参考に.

最後に /etc/udev/rules.d/ 以下に
symbolic link を作成しておく. ここでは Debian の流儀に従い

   /etc/udev/rules.d/z45_local.rules -> ../local.rules

と symbolic link を作成する.

あとは適宜 /etc/fstab を設定した後で再起動すれば良い.

== 参考文献

* /usr/share/doc/udev/writing_udev_rules/index.html
* ((<Writing udev rules|URL:http://www.reactivated.net/writing_udev_rules.html>))