doc: GSG update for ACRN v3.3

- Update ACRN kernel version to 6.1.80.
    - Update reference board to ASUS Mini PC PN64.
    - Update development computer and target system SOS to Ubuntu 24.04
      noble.
    - Change User VM image to Ubuntu 24.04 cloud image.
    - Add some necessary ACRN build tools.
    - Modify mem parameter in launch script xml to 4096M.
    - Modify the GRUB menu reference to suit the above changes.

Signed-off-by: Jiayuan Yang <jiayuan.yang@intel.com>
This commit is contained in:
Jiayuan Yang 2024-07-15 01:18:32 -04:00 committed by wenlingz
parent e4429d632b
commit 0c10e8d38e
6 changed files with 58 additions and 90 deletions

View File

@ -38,15 +38,15 @@ Before you begin, make sure your machines have the following prerequisites:
* Software specifications * Software specifications
- Ubuntu Desktop 22.04 LTS (ACRN development is not supported on Windows.) - Ubuntu Desktop 24.04 LTS (ACRN development is not supported on Windows.)
**Target system**: **Target system**:
* Hardware specifications * Hardware specifications
- Target board (see :ref:`hardware_tested`) - Target board (see :ref:`hardware_tested`)
- Ubuntu Desktop 22.04 LTS bootable USB disk: download the latest `Ubuntu - Ubuntu Desktop 24.04 LTS bootable USB disk: download the latest `Ubuntu
Desktop 22.04 LTS ISO image <https://releases.ubuntu.com/jammy/>`__ and Desktop 24.04 LTS ISO image <https://releases.ubuntu.com/noble/>`__ and
follow the `Ubuntu documentation follow the `Ubuntu documentation
<https://ubuntu.com/tutorials/create-a-usb-stick-on-ubuntu#1-overview>`__ <https://ubuntu.com/tutorials/create-a-usb-stick-on-ubuntu#1-overview>`__
for creating the USB disk. for creating the USB disk.
@ -75,7 +75,7 @@ Prepare the Development Computer
To set up the ACRN build environment on the development computer: To set up the ACRN build environment on the development computer:
#. On the development computer, run the following command to confirm that Ubuntu #. On the development computer, run the following command to confirm that Ubuntu
Desktop 22.04 is running: Desktop 24.04 is running:
.. code-block:: bash .. code-block:: bash
@ -117,10 +117,10 @@ To set up the ACRN build environment on the development computer:
python3 python3-pip libblkid-dev e2fslibs-dev \ python3 python3-pip libblkid-dev e2fslibs-dev \
pkg-config libnuma-dev libcjson-dev liblz4-tool flex bison \ pkg-config libnuma-dev libcjson-dev liblz4-tool flex bison \
xsltproc clang-format bc libpixman-1-dev libsdl2-dev libegl-dev \ xsltproc clang-format bc libpixman-1-dev libsdl2-dev libegl-dev \
libgles-dev libdrm-dev gnu-efi libelf-dev \ libgles-dev libdrm-dev gnu-efi libelf-dev liburing-dev \
build-essential git-buildpackage devscripts dpkg-dev equivs lintian \ build-essential git-buildpackage devscripts dpkg-dev equivs lintian \
apt-utils pristine-tar dh-python python3-lxml python3-defusedxml \ apt-utils pristine-tar dh-python python3-lxml python3-defusedxml \
python3-tqdm python3-xmlschema python3-elementpath acpica-tools python3-tqdm python3-xmlschema python3-elementpath acpica-tools
#. Get the ACRN hypervisor and ACRN kernel source code, and check out the #. Get the ACRN hypervisor and ACRN kernel source code, and check out the
current release branch. current release branch.
@ -130,12 +130,12 @@ To set up the ACRN build environment on the development computer:
cd ~/acrn-work cd ~/acrn-work
git clone https://github.com/projectacrn/acrn-hypervisor.git git clone https://github.com/projectacrn/acrn-hypervisor.git
cd acrn-hypervisor cd acrn-hypervisor
git checkout release_3.2 git checkout release_3.3
cd .. cd ..
git clone https://github.com/projectacrn/acrn-kernel.git git clone https://github.com/projectacrn/acrn-kernel.git
cd acrn-kernel cd acrn-kernel
git checkout release_3.2 git checkout release_3.3
.. _gsg-board-setup: .. _gsg-board-setup:
@ -175,19 +175,19 @@ To set up the target hardware environment:
Example of a target system with cables connected: Example of a target system with cables connected:
.. image:: ./images/gsg_vecow.png .. image:: ./images/gsg_asus_minipc64.png
:align: center :align: center
Install OS on the Target Install OS on the Target
============================ ============================
The target system needs Ubuntu Desktop 22.04 LTS to run the Board Inspector The target system needs Ubuntu Desktop 24.04 LTS to run the Board Inspector
tool. You can read the full instructions to download, create a bootable USB tool. You can read the full instructions to download, create a bootable USB
drive, and `Install Ubuntu desktop drive, and `Install Ubuntu desktop
<https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview>`_ on the Ubuntu <https://ubuntu.com/tutorials/install-ubuntu-desktop#1-overview>`_ on the Ubuntu
site. We'll provide a summary here: site. We'll provide a summary here:
To install Ubuntu 22.04: To install Ubuntu 24.04:
#. Insert the Ubuntu bootable USB disk into the target system. #. Insert the Ubuntu bootable USB disk into the target system.
@ -247,9 +247,9 @@ Configure Target BIOS Settings
#. Boot your target and enter the BIOS configuration editor. #. Boot your target and enter the BIOS configuration editor.
Tip: When you are booting your target, you'll see an option (quickly) to Tip: When you are booting your target, you'll see an option (quickly) to
enter the BIOS configuration editor, typically by pressing :kbd:`F2` during enter the BIOS configuration editor, typically by pressing :kbd:`F2` or :kbd:`DEL` during
the boot and before the GRUB menu (or Ubuntu login screen) appears. If you the boot and before the GRUB menu (or Ubuntu login screen) appears. If you
are not quick enough, you can reboot the system to try again. are not quick enough, you can still choose ``UEFI settings`` in the GRUB menu.
#. Configure these BIOS settings: #. Configure these BIOS settings:
@ -339,7 +339,7 @@ Generate a Scenario Configuration File and Launch Script
******************************************************** ********************************************************
In this step, you will download, install, and use the `ACRN Configurator In this step, you will download, install, and use the `ACRN Configurator
<https://github.com/projectacrn/acrn-hypervisor/releases/download/v3.2/acrn-configurator-3.2.deb>`__ <https://github.com/projectacrn/acrn-hypervisor/releases/download/v3.3/acrn-configurator-3.3.deb>`__
to generate a scenario configuration file and launch script. to generate a scenario configuration file and launch script.
A **scenario configuration file** is an XML file that holds the parameters of A **scenario configuration file** is an XML file that holds the parameters of
@ -355,7 +355,7 @@ post-launched User VM. Each User VM has its own launch script.
.. code-block:: bash .. code-block:: bash
cd ~/acrn-work cd ~/acrn-work
wget https://github.com/projectacrn/acrn-hypervisor/releases/download/v3.2/acrn-configurator-3.2.deb -P /tmp wget https://github.com/projectacrn/acrn-hypervisor/releases/download/v3.3/acrn-configurator-3.3.deb -P /tmp
If you already have a previous version of the acrn-configurator installed, If you already have a previous version of the acrn-configurator installed,
you should first remove it: you should first remove it:
@ -368,7 +368,7 @@ post-launched User VM. Each User VM has its own launch script.
.. code-block:: bash .. code-block:: bash
sudo apt install -y /tmp/acrn-configurator-3.2.deb sudo apt install -y /tmp/acrn-configurator-3.3.deb
#. Launch the ACRN Configurator: #. Launch the ACRN Configurator:
@ -433,7 +433,7 @@ post-launched User VM. Each User VM has its own launch script.
:class: drop-shadow :class: drop-shadow
The Configurator does consistency and validation checks when you load or save The Configurator does consistency and validation checks when you load or save
a scenario. Notice the Hypervisor and VM1 tabs both have an error icon, a scenario. Notice the Hypervisor and VM1 tabs both have an error icon,
meaning there are issues with configuration options in two areas. Since the meaning there are issues with configuration options in two areas. Since the
Hypervisor tab is currently highlighted, we're seeing an issue we can resolve Hypervisor tab is currently highlighted, we're seeing an issue we can resolve
on the Hypervisor settings. Once we resolve all the errors and save the on the Hypervisor settings. Once we resolve all the errors and save the
@ -466,26 +466,25 @@ post-launched User VM. Each User VM has its own launch script.
#. Confirm that the **VM type** is ``Standard``. In the previous step, #. Confirm that the **VM type** is ``Standard``. In the previous step,
``STD`` in the VM name is short for Standard. ``STD`` in the VM name is short for Standard.
#. Scroll down to **Memory size (MB)** and change the value to ``2048``. For #. Scroll down to **Memory size (MB)** and change the value to ``4096``. For
this example, we will use Ubuntu 22.04 to boot the post-launched VM. this example, we will use Ubuntu 24.04 to boot the post-launched VM.
Ubuntu 22.04 needs at least 2048 MB to boot. Ubuntu 24.04 needs at least 4096 MB to boot.
#. For **Physical CPU affinity**, select pCPU ID ``0``, then click **+** and #. For **Physical CPU affinity**, select pCPU ID ``0``, then click **+** and
select pCPU ID ``1`` to affine (or pin) the VM to CPU cores 0 and 1. (That will select pCPU ID ``1`` to affine (or pin) the VM to CPU cores 0 and 1. (That will
resolve the missing physical CPU affinity assignment error.) resolve the missing physical CPU affinity assignment error.)
#. For **Virtio console device**, click **+** to add a device and keep the #. For **Virtio console device**, click **+** to add a device and keep the
default options. This parameter specifies the console that you will use to default options.
log in to the User VM later in this guide.
#. For **Virtio block device**, click **+** and enter #. For **Virtio block device**, click **+** and enter
``/home/acrn/acrn-work/ubuntu-22.04.2-desktop-amd64.iso``. This parameter ``/home/acrn/acrn-work/user-vm1.img``. This parameter
specifies the VM's OS image and its location on the target system. Later specifies the VM's OS image and its location on the target system. Later
in this guide, you will save the ISO file to that directory. (If you used in this guide, you will create the image file to that directory. (If you used
a different username when installing Ubuntu on the target system, here's a different username when installing Ubuntu on the target system, here's
where you'll need to change the ``acrn`` username to the username you used.) where you'll need to change the ``acrn`` username to the username you used.)
.. image:: images/configurator_postvm01.png .. image:: images/configurator-postvm01.png
:align: center :align: center
:class: drop-shadow :class: drop-shadow
@ -572,10 +571,10 @@ Build ACRN
cd .. cd ..
ls *acrn-service-vm*.deb ls *acrn-service-vm*.deb
linux-headers-5.15.71-acrn-service-vm_5.15.71-acrn-service-vm-1_amd64.deb linux-headers-6.1.80-acrn-service-vm_6.1.80-acrn-service-vm-1_amd64.deb
linux-image-5.15.71-acrn-service-vm_5.15.71-acrn-service-vm-1_amd64.deb linux-image-6.1.80-acrn-service-vm_6.1.80-acrn-service-vm-1_amd64.deb
linux-image-5.15.71-acrn-service-vm-dbg_5.15.71-acrn-service-vm-1_amd64.deb linux-image-6.1.80-acrn-service-vm-dbg_6.1.80-acrn-service-vm-1_amd64.deb
linux-libc-dev_5.15.71-acrn-service-vm-1_amd64.deb linux-libc-dev_6.1.80-acrn-service-vm-1_amd64.deb
#. Use the ``scp`` command to copy files from your development computer to the #. Use the ``scp`` command to copy files from your development computer to the
target system. Replace ``10.0.0.200`` with the target system's IP address target system. Replace ``10.0.0.200`` with the target system's IP address
@ -622,7 +621,7 @@ Install ACRN
The target system will reboot into the ACRN hypervisor and The target system will reboot into the ACRN hypervisor and
start the Ubuntu Service VM. start the Ubuntu Service VM.
#. Confirm that you see the GRUB menu with "Ubuntu with ACRN hypervisor, with Linux 5.15.71-acrn-service-vm (ACRN 3.2)" #. Confirm that you see the GRUB menu with "Ubuntu with ACRN hypervisor, with Linux 6.1.80-acrn-service-vm (ACRN 3.3)"
entry. Select it and proceed to booting ACRN. (It may be auto-selected, in which case it entry. Select it and proceed to booting ACRN. (It may be auto-selected, in which case it
will boot with this option automatically in 5 seconds.) will boot with this option automatically in 5 seconds.)
@ -634,10 +633,12 @@ Install ACRN
──────────────────────────────────────────────────────────────────────────────── ────────────────────────────────────────────────────────────────────────────────
Ubuntu Ubuntu
Advanced options for Ubuntu Advanced options for Ubuntu
Ubuntu-ACRN Board Inspector, with Linux 5.15.71-acrn-service-vm Ubuntu-ACRN Board Inspector, with Linux 6.8.0-35-generic
Ubuntu-ACRN Board Inspector, with Linux 5.15.0-56-generic Ubuntu-ACRN Board Inspector, with Linux 6.1.80-acrn-service-vm
*Ubuntu with ACRN hypervisor, with Linux 5.15.71-acrn-service-vm (ACRN 3.2) Memory test (memtest86+x64.efi)
Ubuntu with ACRN hypervisor, with Linux 5.15.0-56-generic (ACRN 3.2) Memory test (memtest86+x64.efi, serial console)
Ubuntu with ACRN hypervisor, with Linux 6.8.0-35-generic (ACRN 3.3)
*Ubuntu with ACRN hypervisor, with Linux 6.1.80-acrn-service-vm (ACRN 3.3)
UEFI Firmware Settings UEFI Firmware Settings
.. _gsg-run-acrn: .. _gsg-run-acrn:
@ -686,21 +687,24 @@ The ACRN hypervisor boots the Ubuntu Service VM automatically.
Launch the User VM Launch the User VM
******************* *******************
#. On the target system, use the web browser to visit the `official Ubuntu website <https://releases.ubuntu.com/jammy/>`__ and #. On the target system, download the Ubuntu cloud images ``noble-server-cloudimg-amd64.img``
get the Ubuntu Desktop 22.04 LTS ISO image for the User VM into the ``~/acrn-work/`` directory (the location we said
``ubuntu-22.04.2-desktop-amd64.iso`` for the User VM. (The same image you in the ACRN Configurator for the scenario configuration for the VM):
specified earlier in the ACRN Configurator UI.) Alternatively, instead of
downloading it again, you could use ``scp`` to copy the ISO
image file from the development system to the ``~/acrn-work`` directory on the target system.
#. If you downloaded the ISO file on the target system, copy it from the .. code-block:: bash
Downloads directory to the ``~/acrn-work/`` directory (the location we said
in the ACRN Configurator for the scenario configuration for the VM), for cd ~/acrn-work/
example: wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img ./
#. We need to do some steps before booting into cloud image User VM: Set up username and password both to ``acrn``;
Change the image format to ``raw`` and change the image size:
.. code-block:: bash .. code-block:: bash
cp ~/Downloads/ubuntu-22.04.2-desktop-amd64.iso ~/acrn-work sudo apt install qemu-utils guestfs-tools
sudo virt-customize -a ./noble-server-cloudimg-amd64.img --run-command 'useradd -m -s /bin/bash acrn' --run-command 'echo "acrn:acrn" | chpasswd' --run-command 'systemctl disable systemd-networkd-wait-online.service'
qemu-img convert -f qcow2 -O raw ./noble-server-cloudimg-amd64.img ./user-vm1.img
qemu-img -f raw ./user-vm1.img 16G
#. Launch the User VM: #. Launch the User VM:
@ -710,66 +714,30 @@ Launch the User VM
sudo ~/acrn-work/launch_user_vm_id1.sh sudo ~/acrn-work/launch_user_vm_id1.sh
#. It may take about a minute for the User VM to boot and start running the #. It may take about a minute for the User VM to boot and start running the
Ubuntu image. You will see a lot of output, then the console of the User VM Ubuntu image. You will see a lot of output, then the console of the User VM
will appear as follows: will appear as follows:
.. code-block:: console .. code-block:: console
Ubuntu 22.04.2 LTS ubuntu hvc0 Ubuntu 24.04 LTS ubuntu hvc0
ubuntu login: ubuntu login:
#. Log in to the User VM. For the Ubuntu 22.04 ISO, the user is ``ubuntu``, and
there's no password.
#. Confirm that you see output similar to this example:
.. code-block:: console
Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.19.0-32-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Expanded Security Maintenance for Applications is not enabled.
0 updates can be applied immediately.
Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status
The list of available updates is more than a week old.
To check for new updates run: sudo apt update
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
ubuntu@ubuntu:~$
#. This User VM and the Service VM are running different Ubuntu images. Use this #. This User VM and the Service VM are running different Ubuntu images. Use this
command to see that the User VM is running the downloaded Ubuntu ISO image: command to see that the User VM is running the downloaded Ubuntu image:
.. code-block:: console .. code-block:: console
ubuntu@ubuntu:~$ uname -r acrn@ubuntu:~$ uname -r
5.19.0-32-generic 6.8.0-36-generic
Then open a new terminal window and use the command to see that the Service Then open a new terminal window and use the command to see that the Service
VM is running the ``acrn-kernel`` Service VM image: VM is running the ``acrn-kernel`` Service VM image:
.. code-block:: console .. code-block:: console
acrn@vecow:~$ uname -r acrn@asus-MINIPC-PN64:~$ uname -r
5.15.71-acrn-service-vm 6.1.80-acrn-service-vm
The User VM has launched successfully. You have completed this ACRN setup. The User VM has launched successfully. You have completed this ACRN setup.

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 541 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 418 KiB