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>
@ -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.
|
||||||
|
|
||||||
|
BIN
doc/getting-started/images/configurator-postvm01.png
Executable file
After Width: | Height: | Size: 156 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 101 KiB |
BIN
doc/getting-started/images/gsg_asus_minipc64.png
Executable file
After Width: | Height: | Size: 535 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 541 KiB |
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 418 KiB |