]> glassweightruler.freedombox.rocks Git - waydroid.git/blob - scripts/run-container.sh
anbox: Set permission for more nodes
[waydroid.git] / scripts / run-container.sh
1 #!/bin/bash
2 cd /home/anbox
3
4 # just in case, stop Anbox 7
5 stop anbox-container || true
6
7 # start cgroup-lite, else container may fail to start.
8 start cgroup-lite
9 umount -l /sys/fs/cgroup/schedtune
10
11 # start sensors hal
12 start anbox-sensors
13
14 # start lxc-net, that sets up lxc bridge
15 start lxc-net
16 brctl addbr anbox0
17
18 # stop nfcd to not conflict with anbox
19 stop nfcd
20
21 # umount rootfs if it was mounted
22 umount -l rootfs || true
23
24 mkdir -p /home/anbox/rootfs
25 mkdir -p /home/anbox/data
26 mount anbox_arm64_system.img rootfs
27 mount -o remount,ro rootfs
28 mount anbox_arm64_vendor.img rootfs/vendor
29 mount -o remount,ro rootfs/vendor
30 mount -o bind anbox.prop rootfs/vendor/anbox.prop
31
32 if mountpoint -q -- /odm; then
33 mount -o bind /odm rootfs/odm_extra
34 else
35 if [ -d /vendor/odm ]; then
36 mount -o bind /vendor/odm rootfs/odm_extra
37 fi
38 fi
39
40 # TODO: Move this to installer script
41 SKU=`getprop ro.boot.product.hardware.sku`
42 mount -o remount,rw rootfs/vendor
43 cp -p /vendor/etc/permissions/android.hardware.nfc.* rootfs/vendor/etc/permissions/
44 cp -p /vendor/etc/permissions/android.hardware.consumerir.xml rootfs/vendor/etc/permissions/
45 cp -p /odm/etc/permissions/android.hardware.nfc.* rootfs/vendor/etc/permissions/
46 cp -p /odm/etc/permissions/android.hardware.consumerir.xml rootfs/vendor/etc/permissions/
47 if [ ! -z $SKU ]; then
48 cp -p /odm/etc/permissions/sku_${SKU}/android.hardware.nfc.* rootfs/vendor/etc/permissions/
49 cp -p /odm/etc/permissions/sku_${SKU}/android.hardware.consumerir.xml rootfs/vendor/etc/permissions/
50 fi
51 if [ -f /vendor/lib/libladder.so ] && [ ! -f rootfs/vendor/lib/libladder.so ]; then
52 cd rootfs/vendor/lib
53 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
54 cd ../../..
55 fi
56 if [ -f /vendor/lib64/libladder.so ] && [ ! -f rootfs/vendor/lib64/libladder.so ]; then
57 cd rootfs/vendor/lib64
58 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
59 cd ../../..
60 fi
61 mount -o remount,ro rootfs/vendor
62
63 # Anbox binder permissions
64 chmod 666 /dev/anbox-*binder
65 chmod 777 /dev/ashmem
66
67 # Wayland socket permissions
68 chmod 777 -R /run/user/32011
69
70 # Set sw_sync permissions
71 chmod 777 /dev/sw_sync
72 chmod 777 /sys/kernel/debug/sync/sw_sync
73
74 # Media nodes permissions
75 chmod 777 /dev/Vcodec
76 chmod 777 /dev/MTK_SMI
77 chmod 777 /dev/mdp_sync
78 chmod 777 /dev/mtk_cmdq
79 chmod 777 /dev/video32
80 chmod 777 /dev/video33
81
82 # Graphics nodes permissions
83 chmod 777 -R /dev/dri/*
84 chmod 777 -R /dev/graphics/*
85 chmod 777 -R /dev/fb*
86
87 lxc-start -n anbox -F -- /init