Назад | Перейти на главную страницу

Как подключить USB-модем / dev в контейнер LXC?

Я боролся с различный учебные пособия подключить мой /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

Все как положено.