私はフォローしましたWaydroid Arch Wiki ページそしてwaydroid
、binder_linux-dkms
そしてwaydroid-image-gapps
。
waydroidを実行すると、ネットワーク部分を除いてうまく機能します。
ホストコンピュータに新しいインターフェイスがあります。
30: waydroid0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:16:3e:00:00:02 brd ff:ff:ff:ff:ff:ff
inet 192.168.240.1/24 brd 192.168.240.255 scope global waydroid0
valid_lft forever preferred_lft forever
inet6 fe80::216:3eff:fe00:1/64 scope link
valid_lft forever preferred_lft forever
31: vethbrQLNw@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master waydroid0 state UP group default qlen 1000
link/ether fe:3e:17:46:42:95 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::fc3e:17ff:fe47:4295/64 scope link
valid_lft forever preferred_lft forever
しかし、ネットワークインターフェイスを正しく設定していません。waydroid shell
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0@if31: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:16:3e:f9:d3:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::fba7:3c32:8e2f:857/64 scope link stable-privacy
valid_lft forever preferred_lft forever
だからpingをしようとすると1.1.1.1
エラーが発生しますconnect: Network is unreachable
。そしてウェイランドにはインターネットがありません。
ufwやファイアウォールがインストールされていません。
私は試した:
- 再起動
waydroid-container.service
- 止める
nftables.service
- 再起動
iptables.service
PS:Journalctlには次のものがあります。
окт 27 15:16:53 nous dnsmasq[139035]: started, version 2.87 cachesize 150
окт 27 15:16:53 nous dnsmasq[139035]: compile time options: IPv6 GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP con>
окт 27 15:16:53 nous dnsmasq-dhcp[139035]: DHCP, IP range 192.168.240.2 -- 192.168.240.254, lease time 1h
окт 27 15:16:53 nous dnsmasq-dhcp[139035]: DHCP, sockets bound exclusively to interface waydroid0
окт 27 15:16:53 nous dnsmasq[139035]: reading /etc/resolv.conf
окт 27 15:16:53 nous dnsmasq[139035]: using nameserver 127.0.0.1#53
окт 27 15:16:53 nous dnsmasq[139035]: read /etc/hosts - 148944 addresses
(127.0.0.1はマウントをバインドしていないためです)
waydroid log
出力:
(138954) [15:16:45] % chmod 666 -R /dev/binder
(138954) [15:16:45] % chmod 666 -R /dev/anbox-vndbinder
(138954) [15:16:45] % chmod 666 -R /dev/anbox-hwbinder
(138954) [15:16:45] Container manager is waiting for session to load
(139008) [15:16:52] Save session config: /var/lib/waydroid/session.cfg
(139008) [15:16:52] UserMonitor service is not even started
(139008) [15:16:52] Clipboard service is not even started
(138954) [15:16:52] % /usr/lib/waydroid/data/scripts/waydroid-net.sh start
vnic is waydroid0
(138954) [15:16:53] % mount /usr/share/waydroid-extra/images/system.img /var/lib/waydroid/rootfs
(138954) [15:16:53] % mount -o remount,ro /usr/share/waydroid-extra/images/system.img /var/lib/waydroid/rootfs
(138954) [15:16:53] % mount /usr/share/waydroid-extra/images/vendor.img /var/lib/waydroid/rootfs/vendor
(138954) [15:16:53] % mount -o remount,ro /usr/share/waydroid-extra/images/vendor.img /var/lib/waydroid/rootfs/vendor
(138954) [15:16:53] % mount -o bind /var/lib/waydroid/waydroid.prop /var/lib/waydroid/rootfs/vendor/waydroid.prop
(138954) [15:16:53] Save config: /var/lib/waydroid/waydroid.cfg
(138954) [15:16:53] % mount -o bind /home/user/.local/share/waydroid/data /var/lib/waydroid/data
(138954) [15:16:53] % chmod 777 -R /dev/ashmem
(138954) [15:16:53] % chmod 777 -R /dev/dri
(138954) [15:16:53] % chmod 777 -R /dev/fb0
(138954) [15:16:53] % chmod 777 -R /dev/video3
(138954) [15:16:53] % chmod 777 -R /dev/video2
(138954) [15:16:53] % chmod 777 -R /dev/video1
(138954) [15:16:53] % chmod 777 -R /dev/video0
(138954) [15:16:53] % lxc-start -P /var/lib/waydroid/lxc -F -n waydroid -- /init
(138954) [15:16:53] New background process: pid=139115, output=background
(138954) [15:16:53] Save session config: /var/lib/waydroid/session.cfg
(139008) [15:17:02] waydroidusermonitor: Received transaction: 1
(139008) [15:17:02] Android with user 0 is ready
(146313) [15:40:48] % tail -n 60 -F /var/lib/waydroid/waydroid.log
(146313) [15:40:48] *** output passed to waydroid stdout, not to this log ***
答え1
回避策としてNFTの使用を無効にすることができます(そうしないとネットワークが利用できなくなります)。何らかの理由で、この機能はデフォルトで有効になっています(犯罪無効にします)。
Arch-linuxの場合は、/usr/lib/waydroid/data/scripts/waydroid-net.sh
次の行を修正して確認する必要があります。
LXC_USE_NFT=false
答え2
スクリプトがwaydroid-net.sh
再び変更されたため、より多くのパッチが必要です。
- 障害を負う
nftables
- 無効に
iptables-legacy
するip6tables-legacy
これは、次のコマンドを使用して実行できます。
sudo sed -i~ -E 's/=.\$\(command -v (nft|ip6?tables-legacy).*/=/g' \
/usr/lib/waydroid/data/scripts/waydroid-net.sh
サービスを再起動する必要があります。
sudo systemctl restart waydroid-container.service
Waydroid 1.4.1を使用してUbuntu 22.04でテストされました。