Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| #!/bin/sh | |
| set -x | |
| # We need to put the rootfs somewhere where we can modify some | |
| # parts of the content on first boot (namely file permissions). | |
| # Other than that nothing should ever modify the content of the | |
| # rootfs. | |
| DATA_PATH=$SNAP_COMMON/ | |
| ROOTFS_PATH=$DATA_PATH/rootfs | |
| ANDROID_IMG=$SNAP/android.img | |
| if [ ! -e $ANDROID_IMG ]; then | |
| echo "ERROR: android image does not exist" | |
| exit 1 | |
| fi | |
| start() { | |
| # Make sure our setup path for the container rootfs | |
| # is present as lxc is statically configured for | |
| # this path. | |
| mkdir -p $SNAP_COMMON/lxc | |
| # We start the bridge here as long as a oneshot service unit is not | |
| # possible. See snapcraft.yaml for further details. | |
| $SNAP/bin/anbox-bridge.sh start | |
| # Ensure FUSE support for user namespaces is enabled | |
| echo Y | tee /sys/module/fuse/parameters/userns_mounts || echo "WARNING: kernel doesn't support fuse in user namespaces" | |
| # Only try to use AppArmor when the kernel has support for it | |
| AA_EXEC="$SNAP/usr/sbin/aa-exec -p unconfined --" | |
| if [ ! -d /sys/kernel/security/apparmor ]; then | |
| echo "WARNING: AppArmor support is not available!" | |
| AA_EXEC="" | |
| fi | |
| exec $AA_EXEC $SNAP/bin/anbox-wrapper.sh container-manager \ | |
| --data-path=$DATA_PATH \ | |
| --android-image=$ANDROID_IMG \ | |
| --daemon | |
| } | |
| stop() { | |
| $SNAP/bin/anbox-bridge.sh stop | |
| } | |
| case "$1" in | |
| start) | |
| start | |
| ;; | |
| stop) | |
| stop | |
| ;; | |
| *) | |
| echo "ERROR: Unknown command '$1'" | |
| exit 1 | |
| ;; | |
| esac |