LXCゲストからシリアルデバイスにアクセス

LXCゲストからシリアルデバイスにアクセス

LXCコンテナで特権Ubuntu 16.04ゲストを実行するFedora 26ホストがあります。私の目標は、/dev/ttyACM0LXCゲストからシリアルデバイス()に接続することです。

次のコマンドを使用してゲスト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

ただし、まだデバイスにアクセスできません。私はrootとしてコンテナを起動し、デバイスにアクセスしようとしたときにコンテナ内のrootユーザーであると言わなければなりません。私も成功せずにlxc.cgroup.devices.allow = c 166:* rwmファイルに追加しようとしました/var/lib/lxc/ubuntu-c/config

関連情報