doc: Steps to update hybrid and logical_Partition documents

1.Modify hybrid update ubuntu grub Note: The syntax is easy for users to understand.
2.Add to view the serial port number, enter the serial hybrid verification mode.
3.Delete the kernel, because the config_uos file has been abandoned for maintenance,
  now the Ubuntu native kernel image is used and added to the document.
4.Add to view the serial port number, enter the serial port logic_partition verification method.

Signed-off-by: zhongzhenx.liu <zhongzhenx.liu@intel.com>
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
This commit is contained in:
jackwhich 2021-09-22 15:28:19 +08:00 committed by David Kinder
parent 7ca0d97ee9
commit f591a249e2
2 changed files with 60 additions and 36 deletions

View File

@ -109,7 +109,7 @@ Perform the following to update Ubuntu GRUB so it can boot the hypervisor and lo
}
.. note:: The module ``/boot/zephyr.elf`` is the VM0 (Zephyr) kernel file.
The param ``xxxxxx`` is VM0's kernel file tag and must exactly match the
``kern_mod`` of VM0, which is configured in the ``misc/config_tools/data/nuc7i7dnb/hybrid.xml``
@ -121,6 +121,26 @@ Perform the following to update Ubuntu GRUB so it can boot the hypervisor and lo
The module ``/boot/ACPI_VM0.bin`` is the binary of ACPI tables for pre-launched VM0 (Zephyr).
The parameter ``ACPI_VM0`` is VM0's ACPI tag and should not be modified.
#. Correct example Grub configuration (with ``module2`` image paths set):
.. code-block:: console
:emphasize-lines: 10,11,12
menuentry 'ACRN hypervisor Hybrid Scenario' --id ACRN_Hybrid --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 ...'
multiboot2 /boot/acrn.bin
module2 /boot/zephyr.elf Zephyr_ElfImage
module2 /boot/bzImage Linux_bzImage
module2 /boot/ACPI_VM0.bin ACPI_VM0
}
#. Modify the ``/etc/default/grub`` file as follows to make the GRUB menu
visible when booting:
@ -143,6 +163,9 @@ Perform the following to update Ubuntu GRUB so it can boot the hypervisor and lo
Hybrid Scenario Startup Check
*****************************
#. Refer to the **Test the Communication Port** section in the
:ref:`connect_serial_port` tutorial.
#. Use these steps to verify that the hypervisor is properly running:
a. Log in to the ACRN hypervisor shell from the serial console.

View File

@ -18,8 +18,7 @@ Validated Versions
******************
- Ubuntu version: **18.04**
- ACRN hypervisor tag: **v2.4**
- ACRN kernel tag: **v2.4**
- ACRN hypervisor tag: **v2.6**
Prerequisites
*************
@ -43,28 +42,14 @@ Prerequisites
Update Kernel Image and Modules of Pre-Launched VM
**************************************************
#. On your development workstation, clone the ACRN kernel source tree, and
build the Linux kernel image that will be used to boot the pre-launched VMs:
#. On the local Ubuntu target machine, find the kernel file,
copy to your (``/boot`` directory) and name the file ``bzImage``.
The ``uname -r`` command returns the kernel release, for example,
``5.11.0-34-generic``):
.. code-block:: none
$ git clone https://github.com/projectacrn/acrn-kernel.git
Cloning into 'acrn-kernel'...
...
$ cd acrn-kernel
$ cp kernel_config_uos .config
$ make olddefconfig
scripts/kconfig/conf --olddefconfig Kconfig
#
# configuration written to .config
#
$ make
$ make modules_install INSTALL_MOD_PATH=out/
The last two commands build the bootable kernel image as
``arch/x86/boot/bzImage``, and loadable kernel modules under the ``./out/``
folder. Copy these files to a removable disk for installing on the
Intel NUC later.
$ sudo cp /boot/vmlinuz-$(uname -r) /boot/bzImage
#. The current ACRN logical partition scenario implementation requires a
multi-boot capable bootloader to boot both the ACRN hypervisor and the
@ -75,6 +60,7 @@ Update Kernel Image and Modules of Pre-Launched VM
default, the GRUB bootloader is installed on the EFI System Partition
(ESP) that's used to bootstrap the ACRN hypervisor.
#. After installing the Ubuntu OS, power off the Intel NUC. Attach the
SATA disk and storage device with the USB interface to the Intel NUC. Power on
the Intel NUC and make sure it boots the Ubuntu OS from the NVMe SSD. Plug in
@ -90,20 +76,14 @@ Update Kernel Image and Modules of Pre-Launched VM
# Mount the Ubuntu OS root filesystem on the SATA disk
$ sudo mount /dev/sda3 /mnt
$ sudo cp -r <kernel-modules-folder-built-in-step1>/lib/modules/* /mnt/lib/modules
$ sudo cp -r /lib/modules/* /mnt/lib/modules
$ sudo umount /mnt
# Mount the Ubuntu OS root filesystem on the USB flash disk
$ sudo mount /dev/sdb3 /mnt
$ sudo cp -r <path-to-kernel-module-folder-built-in-step1>/lib/modules/* /mnt/lib/modules
$ sudo cp -r /lib/modules/* /mnt/lib/modules
$ sudo umount /mnt
#. Copy the bootable kernel image to the /boot directory:
.. code-block:: none
$ sudo cp <path-to-kernel-image-built-in-step1>/bzImage /boot/
.. rst-class:: numbered-step
Update ACRN Hypervisor Image
****************************
@ -144,15 +124,15 @@ Update ACRN Hypervisor Image
Refer to :ref:`gsg` to set up the ACRN build
environment on your development workstation.
Clone the ACRN source code and check out to the tag v2.4:
Clone the ACRN source code and check out to the tag v2.6:
.. code-block:: none
$ git clone https://github.com/projectacrn/acrn-hypervisor.git
$ cd acrn-hypervisor
$ git checkout v2.4
$ git checkout v2.6
#. Check the ``pci_devs`` sections in ``misc/config_tools/data/whl-ipc-i7/logical_partition.xml``
#. Check the ``pci_devs`` sections in ``misc/config_tools/data/nuc7i7dnb/logical_partition.xml``
for each pre-launched VM to ensure you are using the right PCI device BDF information (as
reported by ``lspci -vv``). If you need to make changes to this file, create a copy of it and
use it subsequently when building ACRN (``SCENARIO=/path/to/newfile.xml``).
@ -161,7 +141,7 @@ Update ACRN Hypervisor Image
.. code-block:: none
$ make hypervisor BOARD=whl-ipc-i7 SCENARIO=logical_partition RELEASE=0
$ make hypervisor BOARD=nuc7i7dnb SCENARIO=logical_partition RELEASE=0
.. note::
The ``acrn.bin`` will be generated to ``./build/hypervisor/acrn.bin``.
@ -217,14 +197,33 @@ Update Ubuntu GRUB to Boot Hypervisor and Load Kernel Image
Update the UUID (``--set``) and PARTUUID (``root=`` parameter)
(or use the device node directly) of the root partition (e.g.``/dev/nvme0n1p2). Hint: use ``sudo blkid``.
The kernel command-line arguments used to boot the pre-launched VMs is ``bootargs``
in the ``misc/config_tools/data/whl-ipc-i7/logical_partition.xml``
in the ``misc/config_tools/data/nuc7i7dnb/logical_partition.xml``
The ``module2 /boot/bzImage`` param ``XXXXXX`` is the bzImage tag and must exactly match the ``kern_mod``
in the ``misc/config_tools/data/whl-ipc-i7/logical_partition.xml`` file.
in the ``misc/config_tools/data/nuc7i7dnb/logical_partition.xml`` file.
The module ``/boot/ACPI_VM0.bin`` is the binary of ACPI tables for pre-launched VM0, the parameter ``ACPI_VM0`` is
VM0's ACPI tag and should not be modified.
The module ``/boot/ACPI_VM1.bin`` is the binary of ACPI tables for pre-launched VM1 the parameter ``ACPI_VM1`` is
VM1's ACPI tag and should not be modified.
#. Correct example Grub configuration (with ``module2`` image paths set):
.. code-block:: console
menuentry 'ACRN hypervisor Logical Partition Scenario' --id ACRN_Logical_Partition --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
search --no-floppy --fs-uuid --set 9bd58889-add7-410c-bdb7-1fbc2af9b0e1
echo 'Loading hypervisor logical partition scenario ...'
multiboot2 /boot/acrn.bin root=PARTUUID="e515916d-aac4-4439-aaa0-33231a9f4d83"
module2 /boot/bzImage Linux_bzImage
module2 /boot/ACPI_VM0.bin ACPI_VM0
module2 /boot/ACPI_VM1.bin ACPI_VM1
}
#. Modify the ``/etc/default/grub`` file as follows to make the GRUB menu
visible when booting:
@ -253,6 +252,8 @@ Update Ubuntu GRUB to Boot Hypervisor and Load Kernel Image
Logical Partition Scenario Startup Check
****************************************
#. Refer to the **Test the Communication Port** section in the
:ref:`connect_serial_port` tutorial.
#. Use these steps to verify that the hypervisor is properly running: