如何在 LXC 容器中连接 /dev USB 调制解调器?

如何在 LXC 容器中连接 /dev USB 调制解调器?

我一直在努力各种各样的 教程将我的连接到/dev/ttyACM0lxc 容器中。

基本上我已尝试在我的 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

我没有调制解调器,但我用我的 U 盘测试了将其直接与容器连接。

主机上的我的设备:

    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

一切都如预期。

相关内容