X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/7c09cea9204412a9087472c975a0de674b4ab4e0..131ead44653298e9e961554b63ea66cd9f0f6cb4:/scripts/run-container.sh diff --git a/scripts/run-container.sh b/scripts/run-container.sh index d982f07..728805a 100644 --- a/scripts/run-container.sh +++ b/scripts/run-container.sh @@ -1,17 +1,30 @@ #!/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 @@ -19,13 +32,17 @@ 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 anbox_*_system.img rootfs mount -o remount,ro rootfs -mount anbox_arm64_vendor.img rootfs/vendor +mount anbox_*_vendor.img rootfs/vendor mount -o remount,ro rootfs/vendor mount -o bind anbox.prop rootfs/vendor/anbox.prop +if [ -d /vendor/lib/egl ]; then + mount -o bind /vendor/lib/egl rootfs/vendor/lib/egl +fi +if [ -d /vendor/lib64/egl ]; then + mount -o bind /vendor/lib64/egl rootfs/vendor/lib64/egl +fi if mountpoint -q -- /odm; then mount -o bind /odm rootfs/odm_extra @@ -35,24 +52,15 @@ else fi fi -# TODO: Move this to installer script -SKU=`getprop ro.boot.product.hardware.sku` -mount -o remount,rw rootfs/vendor -cp -p /vendor/etc/permissions/android.hardware.nfc.* rootfs/vendor/etc/permissions/ -cp -p /vendor/etc/permissions/android.hardware.consumerir.xml rootfs/vendor/etc/permissions/ -cp -p /odm/etc/permissions/android.hardware.nfc.* rootfs/vendor/etc/permissions/ -cp -p /odm/etc/permissions/android.hardware.consumerir.xml rootfs/vendor/etc/permissions/ -if [ ! -z $SKU ]; then - cp -p /odm/etc/permissions/sku_${SKU}/android.hardware.nfc.* rootfs/vendor/etc/permissions/ - cp -p /odm/etc/permissions/sku_${SKU}/android.hardware.consumerir.xml rootfs/vendor/etc/permissions/ -fi -mount -o remount,ro rootfs/vendor - # Anbox binder permissions chmod 666 /dev/anbox-*binder +chmod 777 /dev/ashmem -# Wayland socket permissions -chmod 777 -R /run/user/32011 +# Wayland and pulse socket permissions +XDG_PATH=`cat anbox.prop | grep anbox.xdg_runtime_dir | cut -f 2- -d "="` +PULSE_PATH=`cat anbox.prop | grep anbox.pulse_runtime_path | cut -f 2- -d "="` +chmod 777 -R $PULSE_PATH +chmod 777 -R $XDG_PATH # Set sw_sync permissions chmod 777 /dev/sw_sync @@ -66,4 +74,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