2010年8月15日日曜日

[memo] LXC ゲストから USB デバイスへアクセス

LXCゲスト内でUSBデバイスなどの物理デバイスにアクセスするには、config ファイルに許可するデバイス番号を記述すればいいらしい。
USBデバイスすべてへのアクセスを許可する場合は、以下の記述を追加する。

lxc.cgroup.devices.allow = c 189:* rwm

特定のデバイス(バス)のみ許可したい場合は、*を適宜書き換えればいいだろう。

ゲスト内では udev が動作しないため手動でデバイスノードを作る必要がある。
GUEST# mkdir -p /dev/bus/usb/001
GUEST# mknod /dev/bus/usb/001/001 c 189 0
GUEST# chgrp -R usb /dev/bus/usb/
GUEST# ls -l /dev/bus/usb/001
total 0
crw-rw-r-- 1 root usb         189, 0 2010-08-12 01:37 001

lsusb コマンドで表示してみる。

GUEST# emerge -av usbutils
GUEST# lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

参考:
[lxc-users] usb devices


#記事書いてから思ったけど、ゲストじゃなくてコンテナって読んだ方がいいんだろか。