X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/40c6aa7ac2bcf00f42efd43be4c0a06dec1ed0a6..f12914e3bc08ba4a9e39dca30d19c98aeba79f62:/tools/actions/initializer.py diff --git a/tools/actions/initializer.py b/tools/actions/initializer.py index 31b4fc9..ed885f5 100644 --- a/tools/actions/initializer.py +++ b/tools/actions/initializer.py @@ -113,10 +113,17 @@ def init(args): status = helpers.lxc.status(args) if status != "STOPPED": logging.info("Stopping container") - helpers.lxc.stop(args) - helpers.images.umount_rootfs(args) + try: + container = tools.helpers.ipc.DBusContainerService() + args.session = container.GetSession() + container.Stop(False) + except Exception as e: + logging.debug(e) + tools.actions.container_manager.stop(args) if args.images_path not in tools.config.defaults["preinstalled_images_paths"]: helpers.images.get(args) + else: + helpers.images.remove_overlay(args) if not os.path.isdir(tools.config.defaults["rootfs"]): os.mkdir(tools.config.defaults["rootfs"]) if not os.path.isdir(tools.config.defaults["overlay"]): @@ -126,13 +133,17 @@ def init(args): os.mkdir(tools.config.defaults["overlay_rw"]) os.mkdir(tools.config.defaults["overlay_rw"]+"/system") os.mkdir(tools.config.defaults["overlay_rw"]+"/vendor") + helpers.drivers.probeAshmemDriver(args) helpers.lxc.setup_host_perms(args) helpers.lxc.set_lxc_config(args) helpers.lxc.make_base_props(args) if status != "STOPPED": logging.info("Starting container") - helpers.images.mount_rootfs(args, args.images_path) - helpers.lxc.start(args) + try: + container.Start(args.session) + except Exception as e: + logging.debug(e) + logging.error("Failed to restart container. Please do so manually.") if "running_init_in_service" not in args or not args.running_init_in_service: try: