diff --git a/doc/tutorials/using_partition_mode_on_nuc.rst b/doc/tutorials/using_partition_mode_on_nuc.rst index 5132aa8ce..139da1b62 100644 --- a/doc/tutorials/using_partition_mode_on_nuc.rst +++ b/doc/tutorials/using_partition_mode_on_nuc.rst @@ -18,11 +18,7 @@ Validated Versions ****************** - Ubuntu version: **18.04** -- ACRN hypervisor tag: **v2.6** - -.. note:: After the v2.6 release, the ``logical_partition`` scenario - was renamed to ``partitioned``, affecting the file names used in this - guide (validated with v2.6). +- ACRN hypervisor commit: **9bae63b941** Prerequisites ************* @@ -33,8 +29,8 @@ Prerequisites * Storage device with USB interface (such as USB Flash or SATA disk connected with a USB 3.0 SATA converter). * Disable **Intel Hyper Threading Technology** in the BIOS to avoid - interference from logical cores for the logical partition scenario. -* In the logical partition scenario, two VMs (running Ubuntu OS) + interference from logical cores for the partitioned scenario. +* In the partitioned scenario, two VMs (running Ubuntu OS) are started by the ACRN hypervisor. Each VM has its own root filesystem. Set up each VM by following the `Ubuntu desktop installation `_ instructions @@ -49,13 +45,14 @@ Update Kernel Image and Modules of Pre-Launched VM #. 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, - ``4.15.0-55-generic``): + ``5.4.0-89-generic``): .. code-block:: none $ sudo cp /boot/vmlinuz-$(uname -r) /boot/bzImage + $ sudo cp /boot/initrd.img-$(uname -r) /boot/initrd_Image -#. The current ACRN logical partition scenario implementation requires a +#. The current ACRN partitioned scenario implementation requires a multi-boot capable bootloader to boot both the ACRN hypervisor and the bootable kernel image built from the previous step. Install the Ubuntu OS on the onboard NVMe SSD by following the `Ubuntu desktop installation @@ -128,15 +125,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.6: + Clone the ACRN source code and check out to the commit 9bae63b941: .. code-block:: none $ git clone https://github.com/projectacrn/acrn-hypervisor.git $ cd acrn-hypervisor - $ git checkout v2.6 + $ git checkout 9bae63b941 -#. Check the ``pci_devs`` sections in ``misc/config_tools/data/nuc11tnbi5/logical_partition.xml`` +#. Check the ``pci_devs`` sections in ``misc/config_tools/data/nuc11tnbi5/partitioned.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``). @@ -145,7 +142,7 @@ Update ACRN Hypervisor Image .. code-block:: none - $ make hypervisor BOARD=nuc11tnbi5 SCENARIO=logical_partition RELEASE=0 + $ make hypervisor BOARD=nuc11tnbi5 SCENARIO=partitioned .. note:: The ``acrn.bin`` will be generated to ``./build/hypervisor/acrn.bin``. @@ -153,7 +150,7 @@ Update ACRN Hypervisor Image #. Check the Ubuntu bootloader name. - In the current design, the logical partition depends on the GRUB boot + In the current design, the partitioned depends on the GRUB boot loader; otherwise, the hypervisor will fail to boot. Verify that the default bootloader is GRUB: @@ -181,7 +178,7 @@ Update Ubuntu GRUB to Boot Hypervisor and Load Kernel Image .. code-block:: none - 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' { + menuentry 'ACRN hypervisor Partitioned Scenario' --id ACRN_Partitioned --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 @@ -190,9 +187,10 @@ Update Ubuntu GRUB to Boot Hypervisor and Load Kernel Image insmod ext2 search --no-floppy --fs-uuid --set 9bd58889-add7-410c-bdb7-1fbc2af9b0e1 - echo 'Loading hypervisor logical partition scenario ...' + echo 'Loading hypervisor partitioned scenario ...' multiboot2 /boot/acrn.bin root=PARTUUID="e515916d-aac4-4439-aaa0-33231a9f4d83" module2 /boot/bzImage XXXXXX + module2 /boot/initrd_Image XXXXXX module2 /boot/ACPI_VM0.bin ACPI_VM0 module2 /boot/ACPI_VM1.bin ACPI_VM1 } @@ -201,9 +199,11 @@ 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/nuc11tnbi5/logical_partition.xml`` + in the ``misc/config_tools/data/nuc11tnbi5/partitioned.xml`` The ``module2 /boot/bzImage`` param ``XXXXXX`` is the bzImage tag and must exactly match the ``kern_mod`` - in the ``misc/config_tools/data/nuc11tnbi5/logical_partition.xml`` file. + in the ``misc/config_tools/data/nuc11tnbi5/partitioned.xml`` file. + The ``module2 /boot/initrd_Image`` param ``XXXXXX`` is the initrd_Image tag and must exactly match the ``ramdisk_mod`` + in the ``misc/config_tools/data/nuc11tnbi5/partitioned.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 @@ -213,7 +213,7 @@ Update Ubuntu GRUB to Boot Hypervisor and Load Kernel Image .. 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' { + menuentry 'ACRN hypervisor Partitioned Scenario' --id ACRN_Partitioned --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 @@ -221,9 +221,10 @@ Update Ubuntu GRUB to Boot Hypervisor and Load Kernel Image insmod part_gpt insmod ext2 search --no-floppy --fs-uuid --set 9bd58889-add7-410c-bdb7-1fbc2af9b0e1 - echo 'Loading hypervisor logical partition scenario ...' + echo 'Loading hypervisor partitioned scenario ...' multiboot2 /boot/acrn.bin root=PARTUUID="e515916d-aac4-4439-aaa0-33231a9f4d83" module2 /boot/bzImage Linux_bzImage + module2 /boot/initrd_Image Ubuntu module2 /boot/ACPI_VM0.bin ACPI_VM0 module2 /boot/ACPI_VM1.bin ACPI_VM1 } @@ -233,7 +234,7 @@ Update Ubuntu GRUB to Boot Hypervisor and Load Kernel Image .. code-block:: none - GRUB_DEFAULT=ACRN_Logical_Partition + GRUB_DEFAULT=ACRN_Partitioned #GRUB_HIDDEN_TIMEOUT=0 #GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 @@ -247,15 +248,15 @@ Update Ubuntu GRUB to Boot Hypervisor and Load Kernel Image $ sudo update-grub -#. Reboot the Intel NUC. Select the **ACRN hypervisor Logical Partition - Scenario** entry to boot the logical partition of the ACRN hypervisor on +#. Reboot the Intel NUC. Select the **ACRN hypervisor Partitioned + Scenario** entry to boot the partitioned of the ACRN hypervisor on the Intel NUC's display. The GRUB loader will boot the hypervisor, and the hypervisor will automatically start the two pre-launched VMs. .. rst-class:: numbered-step -Logical Partition Scenario Startup Check -**************************************** +Partitioned Scenario Startup Check +********************************** #. Connect to the serial port as described in this :ref:`Connecting to the serial port ` tutorial. diff --git a/misc/config_tools/data/nuc11tnbi5/partitioned.xml b/misc/config_tools/data/nuc11tnbi5/partitioned.xml index dfa1f0efb..1c8cee4d0 100644 --- a/misc/config_tools/data/nuc11tnbi5/partitioned.xml +++ b/misc/config_tools/data/nuc11tnbi5/partitioned.xml @@ -87,8 +87,8 @@ YOCTO KERNEL_BZIMAGE Linux_bzImage - - rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi + Ubuntu + rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi @@ -148,8 +148,8 @@ YOCTO KERNEL_BZIMAGE Linux_bzImage - - rw rootwait root=/dev/sda2 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M + Ubuntu + rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi