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비트 제한 사항 포함). 컨테이너 내부에서 작동하게 만드는 방법에 대한 아이디어가 있습니까?

관련 정보