mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-22 13:37:10 +00:00
Doc: The user guide for Pre-Launched RT mode
Signed-off-by: Tao Yuhong <yuhong.tao@intel.com> Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
This commit is contained in:
parent
deec563361
commit
b1ca987650
@ -79,6 +79,7 @@ Enable ACRN Features
|
|||||||
tutorials/setup_openstack_libvirt
|
tutorials/setup_openstack_libvirt
|
||||||
tutorials/acrn_on_qemu
|
tutorials/acrn_on_qemu
|
||||||
tutorials/using_grub
|
tutorials/using_grub
|
||||||
|
tutorials/pre-launched-rt
|
||||||
|
|
||||||
Debug
|
Debug
|
||||||
*****
|
*****
|
||||||
|
BIN
doc/tutorials/images/pre_launched_rt.png
Normal file
BIN
doc/tutorials/images/pre_launched_rt.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
108
doc/tutorials/pre-launched-rt.rst
Normal file
108
doc/tutorials/pre-launched-rt.rst
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
.. _pre_launched_rt:
|
||||||
|
|
||||||
|
Pre-Launched Preempt-RT Linux Mode in ACRN
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
The Pre-Launched Preempt-RT Linux Mode of ACRN, abbreviated as
|
||||||
|
Pre-Launched RT mode, is an ACRN configuration scenario. Pre-Launched RT
|
||||||
|
mode allows you to boot ACRN with a preempt-rt Linux running in VM0, and
|
||||||
|
the Service VM running in VM1. VM0 and VM1 are both pre-launched VMs,
|
||||||
|
and their resources are partitioned from those on the physical platform.
|
||||||
|
|
||||||
|
.. figure:: images/pre_launched_rt.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
*************
|
||||||
|
|
||||||
|
Because the Pre-Launched RT VM and Service VM are physically isolated
|
||||||
|
from each other, they must have their own devices to run a common OS,
|
||||||
|
such as Linux. Also, the platform must support booting ACRN with
|
||||||
|
multiple kernel images. So, your platform must have:
|
||||||
|
|
||||||
|
- Two hard disk drives, one for the Pre-Launched RT and one for the Service
|
||||||
|
VM
|
||||||
|
- Two network devices
|
||||||
|
- GRUB multiboot support
|
||||||
|
|
||||||
|
Example of Pre-Launched RT
|
||||||
|
**************************
|
||||||
|
|
||||||
|
Take the Whiskey Lake WHL-IPC-I5 board (as described in :ref:`hardware`) for
|
||||||
|
example. This platform can connect both an NVMe and a SATA drive and has
|
||||||
|
two Ethernet ports. We will passthrough the SATA and Ethernet 03:00.0
|
||||||
|
devices into the Pre-Launched RT VM, and give the rest of the devices to
|
||||||
|
the Service VM.
|
||||||
|
|
||||||
|
Install SOS with Grub on NVMe
|
||||||
|
=============================
|
||||||
|
|
||||||
|
As with the Hybrid and Logical Partition scenarios, the Pre-Launched RT
|
||||||
|
mode must boot using GRUB. The ACRN hypervisor is loaded as a GRUB
|
||||||
|
multiboot kernel, while the Pre-Launched RT kernel and Service VM
|
||||||
|
kernels are loaded as multiboot modules. The ACRN hypervisor, Service
|
||||||
|
VM, and Pre-Launched RT kernel images are all located on the NVMe drive.
|
||||||
|
We recommend installing Ubuntu on the NVMe drive as the Service VM OS,
|
||||||
|
which also has the required GRUB image to launch Pre-Launched RT mode.
|
||||||
|
Refer to :ref:`Run Ubuntu as the Service VM <Ubuntu Service OS>`, to
|
||||||
|
install Ubuntu on the NVMe drive, and use grub to launch the Service VM.
|
||||||
|
|
||||||
|
Install Pre-Launched RT Filesystem on SATA and Kernel Image on NVMe
|
||||||
|
===================================================================
|
||||||
|
|
||||||
|
The Pre-Launched Preempt RT Linux use Clearlinux as rootfs. Refer to
|
||||||
|
:ref:`Burn the Preempt-RT VM image onto the SATA disk <install_rtvm>` to
|
||||||
|
download the RTVM image and burn it to the SATA drive. The Kernel should
|
||||||
|
be on the NVMe drive along with GRUB. You'll need to copy the RT kernel
|
||||||
|
to the NVMe drive. Once you have successfully installed and booted
|
||||||
|
Ubuntu from the NVMe drive, you'll then need to copy the RT kernel from
|
||||||
|
the SATA to the NVMe drive:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
# mount /dev/nvme0n1p1 /boot
|
||||||
|
# mount /dev/sda1 /mnt
|
||||||
|
# cp /mnt/bzImage /boot/EFI/BOOT/bzImage_RT
|
||||||
|
|
||||||
|
Build ACRN with Pre-Launched RT Mode
|
||||||
|
====================================
|
||||||
|
|
||||||
|
The ACRN VM configuration framework can easily configure resources for
|
||||||
|
Pre-Launched VMs. On Whiskey Lake WHL-IPC-I5, to passthrough SATA and
|
||||||
|
ethernet 03:00.0 devices to the Pre-Launched RT VM, build ACRN with:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
make BOARD_FILE=$PWD/misc/acrn-config/xmls/board-xmls/whl-ipc-i5.xml SCENARIO_FILE=$PWD/misc/acrn-config/xmls/config-xmls/whl-ipc-i5/hybrid_rt.xml
|
||||||
|
|
||||||
|
After the build completes, please update ACRN on NVMe. It is
|
||||||
|
/boot/EFI/BOOT/acrn.32.out, if /dev/nvme0n1p1 is mounted at /boot.
|
||||||
|
|
||||||
|
Add Pre-Launched RT Kernel Image to GRUB Config
|
||||||
|
===============================================
|
||||||
|
|
||||||
|
The last step is to modify the GRUB configuration file to load the Pre-Launched
|
||||||
|
kernel. (For more information about this, see :ref:`Update Grub for the Ubuntu Service VM
|
||||||
|
<rt_industry_ubuntu_setup>`.) The grub config file will look something
|
||||||
|
like this:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
menuentry 'ACRN Hybrid' {
|
||||||
|
set root=hd1,gpt1
|
||||||
|
echo 'loading hybrid...'
|
||||||
|
multiboot --quirk-modules-after-kernel /EFI/BOOT/acrn.32.out root=/dev/nvme0n1p3
|
||||||
|
module /EFI/BOOT/bzImage_RT RT_bzImage
|
||||||
|
module /EFI/BOOT/bzImage Linux_bzImage
|
||||||
|
}
|
||||||
|
|
||||||
|
Reboot the system, and it will boot into Pre-Launched RT Mode
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
ACRN:\>vm_list
|
||||||
|
VM_UUID VM_ID VM_NAME VM_STATE
|
||||||
|
================================ ===== ================================ ========
|
||||||
|
26c5e0d88f8a47d88109f201ebd61a5e 0 ACRN PRE-LAUNCHED VM0 Running
|
||||||
|
dbbbd4347a574216a12c2201f1ab0240 1 ACRN SOS VM Running
|
||||||
|
ACRN:\>
|
Loading…
Reference in New Issue
Block a user