mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-01 20:05:30 +00:00
There will be a daemon running on SOS: to forward wakeup_reason to acrn-dm; to co-ordinate the lifecycle of VMs and SOS; to handle ioc-timed wakeup/poweron. 1.to forward wakeup_reason to acrn-dm acrnd is responsible to retrive wakeup_reason from SOS lifecycle service and attach the wakeup_reason to acrn-dm parameter for ioc-dm; 2.co-ordinate the lifecycle of VMs and SOS When SOS is about to suspend/shutdown, SOS lifecycle service will send a request to acrnd to guarantee all guest VMs are suspended or shutdown before SOS suspending/shutdown process continue. On receiver the request, acrnd starts polling the guest VMs state, and notify SOS lifecycle service when all guest VMs are put in proper state gracefully. 3.handle ioc-timed wakeup/poweron For vechile specific mode like garage mode, guest UOS may need to wakeup/poweron in a future time for tasks such as map updating etc. To setup a timed wakeup/poweron, ioc-dm will send request to acrnd, acrnd maintains a list of timed requests from guest VMs, and acrnd selects the nearest request and send it to SOS lifecycle service who will setup the physical IOC. Reviewed-by: Yan Like <like.yan@intel.com> Acked-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com> Signed-off-by: Tao Yuhong <yuhong.tao@intel.com> |
||
---|---|---|
.. | ||
acrn_mngr.c | ||
acrn_mngr.h | ||
acrn_vm_ops.c | ||
acrnctl.c | ||
acrnctl.h | ||
acrnd.c | ||
acrnd.service | ||
Makefile | ||
README.rst |
.. _acrnctl: acrnctl ####### Description *********** The ``acrnctl`` tool helps users create, delete, launch, and stop a User OS (UOS). The tool runs under the Service OS, and UOSs should be based on ``acrn-dm``. Usage ***** You can see the available ``acrnctl`` commands by running: .. code-block:: none # acrnctl help support: list start stop del add pause continue suspend resume reset Use acrnctl [cmd] help for details Here are some usage examples: Add a VM ======== The ``add`` command lets you add a VM by specifying a script that will launch a UOS, for example ``launch_UOS.sh``: .. code-block:: none # acrnctl add launch_UOS.sh -U 1 vm1-14:59:30 added Note that the launch script must only launch one UOS instance. The VM name is important. ``acrnctl`` searches VMs by their names so duplicate VM names are not allowed. If the launch script changes the VM name at launch time, ``acrnctl`` will not recognize it. Delete VMs ========== Use the ``delete`` command with a VM name to delete that VM: .. code-block:: none # acrnctl del vm1-14:59:30 List VMs ======== Use the ``list`` command to display VMs and their state: .. code-block:: none # acrnctl list vm1-14:59:30 untracked vm-yocto stopped vm-android stopped Start VM ======== If a VM is in a ``stopped`` state, you can start it with the ``start`` command: .. code-block:: none # acrnctl start vm-yocto Stop VM ======= Use the ``stop`` command to stop one or more running VM: .. code-block:: none # acrnctl stop vm-yocto vm1-14:59:30 vm-android Build and Install ***************** Source code for ``acrnctl`` is in the ``tools/acrn-manager`` folder. Change to that folder and run: .. code-block:: none # make # make install