Как подключить 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

1 ответ

Решение

У меня нет модема, но я протестировал с моим Pendrive, чтобы подключить его напрямую с контейнером.

Мое устройство на хосте:

    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

Все как и ожидалось.

Другие вопросы по тегам