シリアルデバイス
lxdシステムコンテナ内でft232hというシリアルデバイスを使えるようにしていきます。
ubuntu2204-container-00という名前のコンテナがあるとします。
$ lxc list
+--------------------------+---------+---------------------+-----------------------------------------------+-----------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+--------------------------+---------+---------------------+-----------------------------------------------+-----------------+-----------+
| ubuntu2204-container-00 | RUNNING | 10.86.163.56 (eth0) | fd42:f181:9c81:dde3:216:3eff:fe02:c29a (eth0) | CONTAINER | 0 |
+--------------------------+---------+---------------------+-----------------------------------------------+-----------------+-----------+
lxc config device add <instance> <name> <type> [key=value]... の形式で指定します。
$ lxc config device add ubuntu2204-container-00 ftdi unix-char source=/dev/ttyUSB0 path=/dev/ttyUSB0 gid=20
<instance> にはデバイスを追加したいコンテナ名を指定します。 <name> にはわかりやすい任意の名前を付けます。 <type> には追加したいデバイスのデバイスタイプを指定します。ここではキャラクターデバイスを追加したいのでunix-charを指定します。デバイスタイプは下記リンクを参考にしてください。
sourceには追加したいデバイスのホスト上のパスを指定します。pathにはコンテナ内のパスを指定します。 gidデバイスの所有者のgidを指定します。ここではdialoutにしたいので20を指定します。そのたのオプションについては下記リンクを参考にしてください。
USBデバイス
lxc config device add ubuntu2204-container-00 wio usb vendorid=2886 productid=002d mode=0666