udev

udevでデバイスファイルのシンボリックを作成

  • POST
udevでデバイスファイルのシンボリックを作成 はじめに Linux環境において、デバイスファイルのファイル名は機種により異なるが、 RXTXライブラリのようにライブラリ側で、デバイスファイル名が固定されているケースがある。 この場合は、デバイスファイルを参照するシンボリックリンクをライブラリが指定しているデバイスファイル名で作成することで、ミスマッチを回避できる。 Linux環境でデバイスファイルのシンボリックを作成する手順を記載する。 udevとは udevは、Linuxにおいての/dev配下のデバイスファイルの管理を行う仕組みである。 USBフラッシュメモリなどのデバイスの差し込みを行うと、/dev配下にデバイスファイルが作成され、デバイスを取り外しすると、/dev配下のデバイスファイルが作成される。 シンボリックリンクを作成 RaspberryPi環境での実行する。 USBフラッシュメモリを装着すると、デバイスファイル(/dev/sda)が作成される。 以下のコマンドを実行すると、デバイスファイルの情報が表示される。 $ udevadm info -a -n /dev/sda # SUBSYSTEMSの項目を確認する looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2': KERNELS=="1-1.2" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{bDeviceClass}=="00" ATTRS{manufacturer}=="UFD 2.0" ATTRS{bmAttributes}=="80" ATTRS{bConfigurationValue}=="1" ATTRS{version}==" 2.00" ATTRS{devnum}=="9" ATTRS{bMaxPower}=="200mA" ATTRS{idProduct}=="3600" ATTRS{avoid_reset_quirk}=="0" ATTRS{urbnum}=="1558" ATTRS{bDeviceSubClass}=="00" ATTRS{maxchild}=="0" ATTRS{bcdDevice}=="0100" ATTRS{bMaxPacketSize0}=="64" ATTRS{idVendor}=="13fe" ATTRS{product}=="Silicon-Power32G" ATTRS{speed}=="480" ATTRS{removable}=="removable" ATTRS{ltm_capable}=="no" ATTRS{serial}=="201108SP001507B80507CD4F175B" ATTRS{bNumConfigurations}=="1" ATTRS{busnum}=="1" ATTRS{authorized}=="1" ATTRS{quirks}=="0x0" ATTRS{configuration}=="" ATTRS{devpath}=="1.2" ATTRS{bDeviceProtocol}=="00" ATTRS{bNumInterfaces}==" 1" $ vi /etc/udev/rules.d/99-test.rules # 以下の内容を入力して保存する SUBSYSTEMS=="usb", KERNEL=="sda", SYMLINK+="Link", MODE="0666" USBフラッシュメモリを抜き差しすると、シンボリックリンクが作成される。