X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/2811b5358ee26edbb5601e2d2a434d4c1bdfb2a0..30a3cbd862755b661dfdae688665f06e20085097:/scripts/run-container.sh diff --git a/scripts/run-container.sh b/scripts/run-container.sh index 30f9656..79042f5 100644 --- a/scripts/run-container.sh +++ b/scripts/run-container.sh @@ -1,6 +1,18 @@ #!/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 @@ -9,7 +21,7 @@ start cgroup-lite umount -l /sys/fs/cgroup/schedtune # start sensors hal -start anbox-sensors +anbox-sensord & # start anbox-net, that sets up lxc bridge /home/anbox/anbox-net.sh start @@ -20,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 @@ -36,35 +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 -if [ -f /vendor/lib/libladder.so ] && [ ! -f rootfs/vendor/lib/libladder.so ]; then - cd rootfs/vendor/lib - wget https://github.com/GS290-dev/gigaset_gs290_dump/raw/full_k63v2_64_bsp-user-10-QP1A.190711.020-1597810494-release-keys/vendor/lib/libladder.so - cd ../../.. -fi -if [ -f /vendor/lib64/libladder.so ] && [ ! -f rootfs/vendor/lib64/libladder.so ]; then - cd rootfs/vendor/lib64 - wget https://github.com/GS290-dev/gigaset_gs290_dump/raw/full_k63v2_64_bsp-user-10-QP1A.190711.020-1597810494-release-keys/vendor/lib64/libladder.so - cd ../../.. -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