X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/08ef15b7fbdb05e53db06d67ac00e4b88c59af8c..ead0f6940830256ecbccaddff182bb5e1c318324:/scripts/run-container.sh diff --git a/scripts/run-container.sh b/scripts/run-container.sh index 6bfe06a..05f1a08 100644 --- a/scripts/run-container.sh +++ b/scripts/run-container.sh @@ -1,28 +1,73 @@ #!/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 -# restart cgroupfs-mount, else container may fail to start on some devices -restart cgroupfs-mount +# start cgroup-lite, else container may fail to start. +start cgroup-lite +umount -l /sys/fs/cgroup/schedtune + +# start sensors hal +start anbox-sensors -# stop sensorfw -# NOTE: it is temporary solution, that workes only on halium devices. -stop sensorfw +# start anbox-net, that sets up lxc bridge +/home/anbox/anbox-net.sh start -# start lxc-net, that sets up lxc bridge -start lxc-net +# stop nfcd to not conflict with anbox +stop nfcd # umount rootfs if it was mounted umount -l rootfs || true -./mount.sh + +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 + mount -o bind /odm rootfs/odm_extra +else + if [ -d /vendor/odm ]; then + mount -o bind /vendor/odm rootfs/odm_extra + fi +fi # Anbox binder permissions chmod 666 /dev/anbox-*binder +chmod 777 /dev/ashmem # Wayland socket permissions -chmod 777 /run/user/32011 -chmod 777 /run/user/32011/wayland-1 +chmod 777 -R /run/user/32011 + +# Set sw_sync permissions +chmod 777 /dev/sw_sync +chmod 777 /sys/kernel/debug/sync/sw_sync + +# Media nodes permissions +chmod 777 /dev/Vcodec +chmod 777 /dev/MTK_SMI +chmod 777 /dev/mdp_sync +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