systemd-nspawnコンテナでadb(Androidデバッグブリッジ)を使用する

systemd-nspawnコンテナでadb(Androidデバッグブリッジ)を使用する

systemd-nspawnコンテナでadbを使用したいと思います。残念ながら、コンテナ内の電話(USB経由で接続)にアクセスできません。

pi@debian-buster-64:~ $ export ADB_TRACE=usb
pi@debian-buster-64:~ $ adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully

pi@debian-buster-64:~ $ 

以下は、コンテナ設定/etc/systemd/nspawn/debian-buster-64.nspawnです。

[Exec]
PrivateUsers=no
Capability=CAP_NET_ADMIN

[Files]
Bind=/home
Bind=/run/user:/run/host-user/
BindReadOnly=/etc/resolv.conf

[Network]
Private=no
VirtualEthernet=no

以下はコンテナ内のlsusb出力です。

pi@debian-buster-64:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 045e:07b2 Microsoft Corp. 2.4GHz Transceiver v8.0 used by mouse Wireless Desktop 900
Bus 001 Device 010: ID 18d1:4ee7 Google Inc. 
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusbの出力はホストの出力と同じで、電話(Google Inc.)で見ることができます。

コンテナは64ビットなので(ホストは32ビットのみ)、コンテナ内でadbを使用したいと思います。残念ながら、32ビットのadbには制限があります。 adbを使用したアクセスはホストシステムで機能します(上記の32ビット制限を含む)。コンテナ内で動作させる方法についてのアイデアはありますか?

ベストアンサー1

おすすめ記事