LXC 컨테이너에서 권한 있는 Ubuntu 16.04 게스트를 실행하는 Fedora 26 호스트가 있습니다. 내 목표는 /dev/ttyACM0
LXC 게스트에서 직렬 장치( )에 연결하는 것입니다.
다음 명령을 사용하여 게스트 OS를 만들었습니다.
sudo lxc-create -t download -n ubuntu-c -- -d ubuntu -r xenial -a amd64
호스트 운영 체제에서 장치는 다음과 같이 나타납니다.
ls -la /dev/ttyACM0 crw-rw----. 1 root dialout 166, 0 Aug 18 14:52 /dev/ttyACM0
컨테이너를 시작한 후 나열된 항목이 없으므로 /dev/ttyACM0
호스트 시스템에서 다음 명령을 실행했습니다.
$sudo lxc-device -n ubuntu-c add /dev/ttyACM0
그러면 장치가 /dev
컨테이너 아래에 나타납니다.
장치를 열려고 하는데 minicom
권한 오류가 발생합니다. 그래서 cgroups
호스트에서 다음 명령을 실행하여 컨테이너 설정에 장치를 추가해 보았습니다 .
$ sudo lxc-cgroup -n ubuntu-c devices.allow "c 166:* rwm"
여전히 권한 오류가 발생하므로 더 구체적으로 설명하려고 노력했습니다.
$ sudo lxc-cgroup -n ubuntu-c devices.allow "c 166:0 rwm"
그리고 명령이 다음과 함께 작동하는지 확인하십시오.
$ 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
하지만 여전히 장치에 액세스할 수 없습니다. 나는 루트로 컨테이너를 시작했으며 장치에 액세스하려고 할 때 컨테이너 내부의 루트 사용자라고 말해야 합니다. 나는 또한 성공하지 못한 채 lxc.cgroup.devices.allow = c 166:* rwm
파일에 추가하려고 시도했습니다 /var/lib/lxc/ubuntu-c/config
.