Eu tenho um host Fedora 26 executando um convidado privilegiado do Ubuntu 16.04 em um contêiner LXC. Meu objetivo é conectar-me a um dispositivo serial ( /dev/ttyACM0
) do convidado LXC.
Eu criei o sistema operacional convidado com o seguinte comando:
sudo lxc-create -t download -n ubuntu-c -- -d ubuntu -r xenial -a amd64
No sistema operacional host, o dispositivo é exibido como:
ls -la /dev/ttyACM0
crw-rw----. 1 root dialout 166, 0 Aug 18 14:52 /dev/ttyACM0
Depois de iniciar o contêiner, não vejo /dev/ttyACM0
listado, portanto, executo este comando no host:
$sudo lxc-device -n ubuntu-c add /dev/ttyACM0
O dispositivo aparece sob /dev
no contêiner.
Eu tentei abrir o dispositivo com minicom
, mas recebi um erro de permissão. Então, tentei adicionar o dispositivo à configuração cgroups
do contêiner, executando o comando no host:
$ sudo lxc-cgroup -n ubuntu-c devices.allow "c 166:* rwm"
Ainda teve um erro de permissão, por isso tentei ser mais específico com:
$ sudo lxc-cgroup -n ubuntu-c devices.allow "c 166:0 rwm"
E verifiquei que o comando trabalhou com:
$ sudo lxc-cgroup -n ubuntu-c devices.list
c *:* m
b *:* m
c 1:3 rwm
c 1:5 rwm
c 1:7 rwm
c 5:0 rwm
c 5:1 rwm
c 5:2 rwm
c 1:8 rwm
c 1:9 rwm
c 136:* rwm
c 10:229 rwm
c 254:0 rm
c 10:200 rwm
c 10:228 rwm
c 10:232 rwm
c 166:* rwm
c 166:0 rwm
Ainda assim, não consigo acessar o dispositivo. Devo dizer que iniciei o contêiner como root e sou o usuário root dentro do contêiner ao tentar acessar o dispositivo. Eu também tentei adicionar lxc.cgroup.devices.allow = c 166:* rwm
ao arquivo /var/lib/lxc/ubuntu-c/config
sem sucesso.