From 63e66e6592d89e8150927219f35e3a8055c86efa Mon Sep 17 00:00:00 2001 From: lirui34 Date: Mon, 5 Aug 2019 15:33:48 +0800 Subject: [PATCH] doc: hybrid mode scenario introduction Add introduction about how to enable hybrid mode scenario. Signed-off-by: lirui34 --- doc/develop.rst | 1 + doc/getting-started/apl-nuc.rst | 1 + .../images/hybrid_scenario_on_nuc.png | Bin 0 -> 35590 bytes doc/tutorials/using_hybrid_mode_on_nuc.rst | 102 ++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 doc/tutorials/images/hybrid_scenario_on_nuc.png create mode 100644 doc/tutorials/using_hybrid_mode_on_nuc.rst diff --git a/doc/develop.rst b/doc/develop.rst index ce763792c..5576a28ea 100644 --- a/doc/develop.rst +++ b/doc/develop.rst @@ -22,6 +22,7 @@ Configuration Tutorials tutorials/using_partition_mode_on_nuc tutorials/using_partition_mode_on_up2 tutorials/using_sdc2_mode_on_nuc + tutorials/using_hybrid_mode_on_nuc User VM Tutorials ***************** diff --git a/doc/getting-started/apl-nuc.rst b/doc/getting-started/apl-nuc.rst index 8f0db74b3..2b3116787 100644 --- a/doc/getting-started/apl-nuc.rst +++ b/doc/getting-started/apl-nuc.rst @@ -17,6 +17,7 @@ described in :ref:`hardware`, are currently supported for ACRN development: `__ (NUC7i7DN), but this is not supported on APL (NUC6CAYH). +.. _connect_serial_port: Connecting to the serial port ============================= diff --git a/doc/tutorials/images/hybrid_scenario_on_nuc.png b/doc/tutorials/images/hybrid_scenario_on_nuc.png new file mode 100644 index 0000000000000000000000000000000000000000..329f659ad2af42e68ef96f57bd4414f46b86fcdd GIT binary patch literal 35590 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

UiD|wZ`)5*$e`fv!AWc7F`nsJ= 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 +- Connecting to the serial port, described in :ref:`Connecting to the serial port + ` +- Install Grub on SATA or NVME disk of NUC + +Update Ubuntu GRUB to Boot hypervisor and Load Kernel Image +*********************************************************** +#. Append the following configuration to the ``/etc/grub.d/40_custom`` file: + + .. code-block:: bash + :emphasize-lines: 18,20 + + menuentry 'ACRN hypervisor Hybird Scenario' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-e23c76ae-b06d-4a6e-ad42-46b8eedfd7d3' { + + recordfail + + load_video + + gfxmode $linux_gfx_mode + + insmod gzio + + insmod part_gpt + + insmod ext2 + + echo 'Loading hypervisor Hybrid scenario ...' + + multiboot --quirk-modules-after-kernel /boot/acrn.32.out + + module /boot/zephyr.bin XXXXXX + + module /boot/bzImage yyyyyy + + } + + .. note:: The module ``/boot/zephyr.bin`` is VM0(Zephyr) kernel file, + param ``xxxxxx`` is VM0’s kernel file tag and must exactly match the ``kernel_mod_tag`` + of VM0 which configured in file ``hypervisor/scenarios/hybrid/vm_configurations.c``. + The multiboot module ``/boot/bzImage`` is Service VM kernel file, param ``yyyyyy`` + is the bzImage tag and must exactly match the ``kernel_mod_tag`` of VM1 in file + ``hypervisor/scenarios/hybrid/vm_configurations.c``. + The kernel command line arguments used to boot the Service VM is located in header file + ``hypervisor/scenarios/hybrid/vm_configurations.h`` and configured by `SOS_VM_BOOTARGS` MACRO. + +#. Modify the ``/etc/default/grub`` file as follows to make the GRUB menu + visible when booting: + + .. code-block:: bash + + # GRUB_HIDDEN_TIMEOUT=0 + GRUB_HIDDEN_TIMEOUT_QUIET=false + +#. Update grub:: + + $ sudo update-grub + +#. Reboot the NUC. Select the **ACRN hypervisor Hybrid Scenario** entry to boot + the ACRN hypervisor on the NUC’s display. The GRUB loader will boot the + hypervisor, and the hypervisor will start VMs automatically. + +Hybrid Scenario Startup Checking +******************************** +#. Use these steps to verify the hypervisor is properly running: + + a. Login ACRN hypervisor shell from serial console. + #. Use the vm_list check pre-launched VM and Service VM are launched successfully. + +#. Use these steps to verify all VMs are running properly: + + a. Use the ``vm_console 0`` to switch to VM0(Zephyr)’s console, it will show + a string of **Hello world! acrn**. + #. Use a :kbd:`Ctrl+Spacebar` to return to the ACRN hypervisor shell. + #. Use the ``vm_console 1`` to switch to VM1(Service VM)’s console. + #. The VM1’s Service VM could boot up and login in. + #. SSH to VM1 and Launch post-launched VM2 by ACRN device model launch script. + #. Back to Service VM console, use a :kbd:`Ctrl+Spacebar` to return to the ACRN hypervisor shell. + #. Use the ``vm_console 2`` to switch to VM2(User VM)’s console. + #. The VM2 could boot up and login in. + +Refer to the :ref:`acrnshell` user guide for more information about available commands. \ No newline at end of file