LINUX.ORG.RU

Как монтировать устройство в lxc без перезагрузки?

 ,


2

2

Создал контейнер для программирования esp32 и для этого в конфиге прописал:

lxc.mount.entry = /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file

всё работает, но когда вытаскиваю и вставляю плату, ttyUSB0 больше не доступен из lxc. Есть ли способ как-то решить эту проблему?

Методом проб и ошибок, вдохновляясь этим мануалом https://discuss.linuxcontainers.org/t/live-usb-mount-without-restart/1341 нашёл решение. Хз, как оно работает, но работает:

создать директорию dev в хомяке(можно в другом месте):

mkdir ~/dev

в конфиг контейнера прописать:

lxc.mount.entry = /home/lxcuser/dev mnt/dev auto auto,bind,create=dir,rw

где lxcuser - пользователь от которого запускается lxc

Создать символьный файл командой:

mknod ~/dev/ttyUSB0 c 0 0  # вместо 0 0 вероятно надо подставить что-то другое

Обновить устройство командой:

sudo umount /home/lxcuser/dev/ttyUSB0 && \
        sudo mount --bind /dev/ttyUSB0 /home/lxcuser/dev/ttyUSB0 && \
        sudo chmod 666 /home/lxcuser/dev/ttyUSB0

Обновлять каждый раз при присоединении нового устройства.

Из контейнера доступно в /mnt/dev/ttyUSB0

devalone ★★ ()
Последнее исправление: devalone (всего исправлений: 1)