]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - scripts/run-container.sh
anbox: Add multiarch support to installer
[waydroid.git] / scripts / run-container.sh
index 19a782daa548f953dc39bfd0854fcefc2fef8591..05f1a08514e62967ac08a70a9478269352bcb09c 100644 (file)
@@ -1,27 +1,41 @@
 #!/bin/bash
 cd /home/anbox
 
+if [ ! -e /dev/anbox-hwbinder ] || [ ! -e /dev/ashmem ]; then
+    modprobe binder_linux devices="anbox-binder,anbox-hwbinder,anbox-vndbinder"
+    modprobe ashmem_linux
+    mkdir /dev/binderfs
+    mount -t binder binder /dev/binderfs
+    ln -s /dev/binderfs/* /dev/
+fi
+if [ ! -e /dev/anbox-hwbinder ] || [ ! -e /dev/ashmem ]; then
+    echo "ERROR: Binder and ashmem nodes not found!"
+    exit
+fi
+
 # just in case, stop Anbox 7
 stop anbox-container || true
 
 # start cgroup-lite, else container may fail to start.
 start cgroup-lite
+umount -l /sys/fs/cgroup/schedtune
 
 # start sensors hal
 start anbox-sensors
 
-# start lxc-net, that sets up lxc bridge
-start lxc-net
+# start anbox-net, that sets up lxc bridge
+/home/anbox/anbox-net.sh start
+
+# stop nfcd to not conflict with anbox
+stop nfcd
 
 # umount rootfs if it was mounted
 umount -l rootfs || true
 
-mkdir -p /home/anbox/rootfs
-mkdir -p /home/anbox/data
-mount anbox_arm64_system.img rootfs
-mount -o remount,ro rootfs
-mount anbox_arm64_vendor.img rootfs/vendor
+mount anbox_*_system.img rootfs
 mount -o remount,ro rootfs
+mount anbox_*_vendor.img rootfs/vendor
+mount -o remount,ro rootfs/vendor
 mount -o bind anbox.prop rootfs/vendor/anbox.prop
 
 if mountpoint -q -- /odm; then
@@ -34,6 +48,7 @@ fi
 
 # Anbox binder permissions
 chmod 666 /dev/anbox-*binder
+chmod 777 /dev/ashmem
 
 # Wayland socket permissions
 chmod 777 -R /run/user/32011
@@ -50,4 +65,9 @@ chmod 777 /dev/mtk_cmdq
 chmod 777 /dev/video32
 chmod 777 /dev/video33
 
+# Graphics nodes permissions
+chmod 777 -R /dev/dri/*
+chmod 777 -R /dev/graphics/*
+chmod 777 -R /dev/fb*
+
 lxc-start -n anbox -F -- /init