Я боролся с различный учебные пособия подключить мой /dev/ttyACM0
в контейнере lxc.
В основном я пытался добавить следующую строку в свою конфигурацию lxc:
lxc.cgroup.devices.allow = c 166:* rwm
И еще один (как с относительным, так и с полным путем):
lxc.mount.entry = /dev/ttyACM0 dev/ttyACM0 none bind,optional
но пока не могу получить рабочую конфигурацию.
К вашему сведению, на стороне хоста модем работает, и мой хост появляется:
$ ll /dev/ttyACM0
crw-rw---T 1 root dialup 166, 0 janv. 29 16:47 /dev/ttyACM0
У меня нет модема, но я протестировал свой флеш-накопитель, чтобы подключить его напрямую к контейнеру.
Мое устройство на хосте:
brw-rw---- 1 root plugdev 8, 16 Jan 29 15:17 /dev/sdb
Конфигурация моего контейнера:
...
lxc.cgroup.devices.allow = b 8:16 rwm
lxc.mount.entry = /dev/sdb /var/lib/lxc/multi2/rootfs/dev/sdb none bind 0 0
Но при попытке запустить я получил следующую ошибку:
ERROR lxc_conf - No such file or directory - failed to mount '/dev/sdb' on '/var/lib/rootfs-lxc//dev/sdb'
Затем я попытался создать файл устройства в контейнере / dev:
sudo touch /var/lib/lxc/multi2/rootfs/dev/sdb
Когда я попробовал запустить его снова, все заработало! В консоли контейнера:
root@multi2:~# ls -l /dev/sdb
brw-rw---- 1 root plugdev 8, 16 Jan 29 15:17 /dev/sdb
root@multi2:~# fdisk -l /dev/sdb
Disk /dev/sdb: 1000 MB, 1000341504 bytes
251 heads, 2 sectors/track, 3892 cylinders, total 1953792 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x784ffaa9
Device Boot Start End Blocks Id System
/dev/sdb1 2048 1943551 970752 b W95 FAT32
Все как положено.