diff --git a/doc/acrn.doxyfile b/doc/acrn.doxyfile index 1df120f17..c61da9f64 100644 --- a/doc/acrn.doxyfile +++ b/doc/acrn.doxyfile @@ -1809,7 +1809,7 @@ LATEX_HIDE_INDICES = NO # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_SOURCE_CODE = NO +# LATEX_SOURCE_CODE = NO # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See @@ -1891,7 +1891,7 @@ RTF_EXTENSIONS_FILE = # The default value is: NO. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_SOURCE_CODE = NO +# RTF_SOURCE_CODE = NO #--------------------------------------------------------------------------- # Configuration options related to the man page output @@ -1989,7 +1989,7 @@ DOCBOOK_OUTPUT = docbook # The default value is: NO. # This tag requires that the tag GENERATE_DOCBOOK is set to YES. -DOCBOOK_PROGRAMLISTING = NO +# DOCBOOK_PROGRAMLISTING = NO #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output @@ -2187,7 +2187,7 @@ EXTERNAL_PAGES = YES # powerful graphs. # The default value is: YES. -CLASS_DIAGRAMS = YES +# CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see: diff --git a/doc/asa.rst b/doc/asa.rst index e55b169f8..263cb59d2 100644 --- a/doc/asa.rst +++ b/doc/asa.rst @@ -3,6 +3,45 @@ Security Advisory ################# +Addressed in ACRN v3.0.2 +************************ +We recommend that all developers using v3.0.1 or earlier upgrade to this v3.0.2 +release (or later), which addresses the following security issue discovered in +previous releases. For v3.1 users, these issues are addressed in the v3.2 +release: + +----- + +- Board_inspector: use executables found under system paths + Using partial executable paths in the board inspector may cause unintended + results when another executable has the same name and is also detectable in + the search paths. + + Introduce a wrapper module (`external_tools`) which locates executables + only under system paths such as /usr/bin and /usr/sbin and converts partial + executable paths to absolute ones before executing them via the subprocess + module. All invocations to `subprocess.run` or `subprocess.Popen` + throughout the board inspector are replaced with `external_tools.run`, with + the only exception being the invocation to the legacy board parser which + already uses an absolute path to the current Python interpreter. + + **Affected Release:** v3.1, v3.0.1 and earlier + +- Add tarfile member sanitization to extractall() + A directory traversal vulnerability in the Python tarfile module extractall() functions + could allow user-assisted remote attackers to overwrite arbitrary files via + a ``..`` (dot dot) sequence in filenames in a tar archive, related to CVE-2001-1267. + (Addresses security issue tracked by CVE-2007-4559) + + **Affected Release:** v3.1, v3.0.1 and earlier + +- PMU (Performance Monitoring Unit) is passed through to an RTVM only for debug mode + Enabling Pass-through PMU counters to RTVM can cause workload interference + in a release build, so enable PMU passthrough only when building ACRN in + debug mode. + + **Affected Release:** v3.1, v3.0.1 and earlier + Addressed in ACRN v3.0.1 ************************ We recommend that all developers upgrade to this v3.0.1 release (or later), which diff --git a/doc/conf.py b/doc/conf.py index 31eb175fd..1d5b2327c 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -46,7 +46,8 @@ extensions = [ # extlinks provides a macro template extlinks = { - 'acrn-issue': ('https://github.com/projectacrn/acrn-hypervisor/issues/%s', '#') + 'acrn-issue': ('https://github.com/projectacrn/acrn-hypervisor/issues/%s', '#'), + 'acrn-pr': ('https://github.com/projectacrn/acrn-hypervisor/pull/%s', '#') } # use intersphinx linking to link to previous version release notes @@ -133,7 +134,7 @@ language = 'en' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This patterns also effect to html_static_path and html_extra_path -exclude_patterns = ['_build', 'misc/README.rst' ] +exclude_patterns = ['_build', 'misc/README.rst', 'venv' ] # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' diff --git a/doc/developer-guides/c_coding_guidelines.rst b/doc/developer-guides/c_coding_guidelines.rst index 183140b1b..532dd5cf2 100644 --- a/doc/developer-guides/c_coding_guidelines.rst +++ b/doc/developer-guides/c_coding_guidelines.rst @@ -3312,8 +3312,7 @@ each function: ``@post ``. 12) The brief description of the function return value shall be documented with the format ``@return ``. -13) A void-returning function shall be documented with the format - ``@return None``. +13) A void-returning function shall not be documented with ``@return``. 14) The comments explaining the actual return values shall be documented with the format ``@retval ``. 15) If the description of one element needs to span multiple lines, each line diff --git a/doc/getting-started/getting-started.rst b/doc/getting-started/getting-started.rst index f3ac6d03e..56a0c41e3 100644 --- a/doc/getting-started/getting-started.rst +++ b/doc/getting-started/getting-started.rst @@ -53,11 +53,6 @@ Before you begin, make sure your machines have the following prerequisites: - USB keyboard and mouse - Monitor - Ethernet cable and Internet access - - A second USB disk with minimum 16GB capacity. Format your USB disk with a - file system that supports files greater than 4GB: extFAT or NTFS, but not - FAT32. We'll use this USB disk to copy files between the development - computer and target system. Instead of a USB drive, you can copy files - between systems over the network using the ``scp`` command. - Local storage device (NVMe or SATA drive, for example). We recommend having 40GB or more of free space. @@ -135,20 +130,12 @@ To set up the ACRN build environment on the development computer: cd ~/acrn-work git clone https://github.com/projectacrn/acrn-hypervisor.git cd acrn-hypervisor - git checkout master + git checkout release_3.2 cd .. git clone https://github.com/projectacrn/acrn-kernel.git cd acrn-kernel - git checkout master - - -#. Configure git with your name and email address: - - .. code-block:: none - - git config --global user.name "David Developer" - git config --global user.email "david.developer@company.com" + git checkout release_3.2 .. _gsg-board-setup: @@ -297,47 +284,11 @@ Generate a Board Configuration File In a few seconds, the build generates a board_inspector Debian package in the parent (``~/acrn-work``) directory. -#. Copy the Board Inspector Debian package from the development computer to the - target system. +#. Use the ``scp`` command to copy the board inspector Debian package from your + development computer to the ``/tmp`` directory on the target system. Replace + ``10.0.0.200`` with the target system's IP address you found earlier:: - Option 1: Use ``scp`` - Use the ``scp`` command to copy the Debian package from your development - computer to the ``/tmp`` directory on the target - system. Replace ``10.0.0.200`` with the target system's IP address you found earlier:: - - scp ~/acrn-work/python3-acrn-board-inspector*.deb acrn@10.0.0.200:/tmp - - Option 2: Use a USB disk - a. On the development computer, insert the USB disk that you intend to use to - copy files. - - #. Ensure that there is only one USB disk inserted by running the following - command: - - .. code-block:: bash - - ls /media/$USER - - Confirm that only one disk name appears. You'll use that disk name in the following steps. - - #. Copy the Board Inspector Debian package to the USB disk: - - .. code-block:: bash - - cd ~/acrn-work/ - disk="/media/$USER/"$(ls /media/$USER) - cp -r python3-acrn-board-inspector*.deb "$disk"/ - sync && sudo umount "$disk" - - #. Remove the USB disk from the development computer and insert it into the target system. - - #. Copy the Board Inspector Debian package from the USB disk to the target: - - .. code-block:: bash - - mkdir -p ~/acrn-work - disk="/media/$USER/"$(ls /media/$USER) - cp -r "$disk"/python3-acrn-board-inspector*.deb /tmp + scp ~/acrn-work/python3-acrn-board-inspector*.deb acrn@10.0.0.200:/tmp #. Now that we've got the Board Inspector Debian package on the target system, install it there: @@ -349,9 +300,9 @@ Generate a Board Configuration File .. code-block:: bash - reboot + sudo reboot -#. Run the Board Inspector to generate the board configuration file. This +#. Run the Board Inspector on the target system to generate the board configuration file. This example uses the parameter ``my_board`` as the file name. The Board Inspector can take a few minutes to scan your target system and create the board XML file with your target system's information. @@ -359,7 +310,7 @@ Generate a Board Configuration File .. code-block:: bash cd ~/acrn-work - sudo board_inspector my_board + sudo acrn-board-inspector my_board .. note:: @@ -373,37 +324,12 @@ Generate a Board Configuration File ls ./my_board.xml -#. Copy ``my_board.xml`` from the target to the development computer. Again we - have two options: +#. From your development computer, use the ``scp`` command to copy the board + configuration file on your target system back to the ``~/acrn-work`` + directory on your development computer. Replace ``10.0.0.200`` with the + target system's IP address you found earlier:: - Option 1: Use ``scp`` - From your development computer, use the ``scp`` command to copy the board - configuration file from your target system back to the - ``~/acrn-work`` directory on your development computer. Replace - ``10.0.0.200`` with the target system's IP address you found earlier:: - - scp acrn@10.0.0.200:~/acrn-work/my_board.xml ~/acrn-work/ - - Option 2: Use a USB disk - a. Make sure the USB disk is connected to the target. - - #. Copy ``my_board.xml`` to the USB disk: - - .. code-block:: bash - - disk="/media/$USER/"$(ls /media/$USER) - cp ~/acrn-work/my_board.xml "$disk"/ - sync && sudo umount "$disk" - - #. Insert the USB disk into the development computer. - - #. Copy ``my_board.xml`` from the USB disk to the development computer: - - .. code-block:: bash - - disk="/media/$USER/"$(ls /media/$USER) - cp "$disk"/my_board.xml ~/acrn-work - sync && sudo umount "$disk" + scp acrn@10.0.0.200:~/acrn-work/my_board.xml ~/acrn-work/ .. _gsg-dev-setup: @@ -413,7 +339,7 @@ Generate a Scenario Configuration File and Launch Script ******************************************************** In this step, you will download, install, and use the `ACRN Configurator -`__ +`__ to generate a scenario configuration file and launch script. A **scenario configuration file** is an XML file that holds the parameters of @@ -429,8 +355,7 @@ post-launched User VM. Each User VM has its own launch script. .. code-block:: bash cd ~/acrn-work - wget https://github.com/projectacrn/acrn-hypervisor/releases/download/v3.1/acrn-configurator-3.2-unstable.deb - cp acrn-configurator-3.2-unstable.deb /tmp + wget https://github.com/projectacrn/acrn-hypervisor/releases/download/v3.2/acrn-configurator-3.2.deb -P /tmp If you already have a previous version of the acrn-configurator installed, you should first remove it: @@ -443,7 +368,7 @@ post-launched User VM. Each User VM has its own launch script. .. code-block:: bash - sudo apt install -y /tmp/acrn-configurator-3.2-unstable.deb + sudo apt install -y /tmp/acrn-configurator-3.2.deb #. Launch the ACRN Configurator: @@ -541,9 +466,9 @@ post-launched User VM. Each User VM has its own launch script. #. Confirm that the **VM type** is ``Standard``. In the previous step, ``STD`` in the VM name is short for Standard. - #. Scroll down to **Memory size (MB)** and change the value to ``1024``. For + #. Scroll down to **Memory size (MB)** and change the value to ``2048``. For this example, we will use Ubuntu 22.04 to boot the post-launched VM. - Ubuntu 22.04 needs at least 1024 MB to boot. + Ubuntu 22.04 needs at least 2048 MB to boot. #. 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 @@ -554,13 +479,17 @@ post-launched User VM. Each User VM has its own launch script. log in to the User VM later in this guide. #. For **Virtio block device**, click **+** and enter - ``/home/acrn/acrn-work/ubuntu-22.04.1-desktop-amd64.iso``. This parameter + ``/home/acrn/acrn-work/ubuntu-22.04.2-desktop-amd64.iso``. This parameter 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 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.) - .. image:: images/configurator-postvm.png + .. image:: images/configurator_postvm01.png + :align: center + :class: drop-shadow + + .. image:: images/configurator-postvm02.png :align: center :class: drop-shadow @@ -585,14 +514,14 @@ post-launched User VM. Each User VM has its own launch script. .. rst-class:: numbered-step Build ACRN -*************** +********** #. On the development computer, build the ACRN hypervisor: .. code-block:: bash cd ~/acrn-work/acrn-hypervisor - debian/debian_build.sh clean && debian/debian_build.sh -c ~/acrn-work/MyConfiguration -b my_board.board -s scenario + debian/debian_build.sh clean && debian/debian_build.sh -c ~/acrn-work/MyConfiguration The build typically takes a few minutes. When done, the build generates several Debian packages in the parent (``~/acrn-work``) directory: @@ -611,7 +540,7 @@ Build ACRN acrn-tools_*.deb grub-acrn_*.deb - The Debian packages contain the ACRN hypervisor and tools to ease installing + These Debian packages contain the ACRN hypervisor and tools to ease installing ACRN on the target. #. Build the ACRN kernel for the Service VM: @@ -642,49 +571,21 @@ Build ACRN .. code-block:: bash cd .. - ls *.deb - linux-headers-5.15.44-acrn-service-vm_5.15.44-acrn-service-vm-1_amd64.deb - linux-image-5.15.44-acrn-service-vm_5.15.44-acrn-service-vm-1_amd64.deb - linux-image-5.15.44-acrn-service-vm-dbg_5.15.44-acrn-service-vm-1_amd64.deb - linux-libc-dev_5.15.44-acrn-service-vm-1_amd64.deb + ls *acrn-service-vm*.deb + linux-headers-5.15.71-acrn-service-vm_5.15.71-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-5.15.71-acrn-service-vm-dbg_5.15.71-acrn-service-vm-1_amd64.deb + linux-libc-dev_5.15.71-acrn-service-vm-1_amd64.deb -#. Copy all the necessary files generated on the development computer to the - target system, using one of these two options: +#. 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 + you found earlier:: - Option 1: Use ``scp`` - 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 you found earlier:: - - sudo scp ~/acrn-work/acrn*.deb \ - ~/acrn-work/grub*.deb \ - ~/acrn-work/*acrn-service-vm*.deb \ - ~/acrn-work/MyConfiguration/launch_user_vm_id1.sh \ - acrn@10.0.0.200:~/acrn-work - - Option 2: by USB disk - a. Insert the USB disk into the development computer and run these commands: - - .. code-block:: bash - - disk="/media/$USER/"$(ls /media/$USER) - cp ~/acrn-work/acrn*.deb "$disk"/ - cp ~/acrn-work/grub*.deb "$disk"/ - cp ~/acrn-work/*acrn-service-vm*.deb "$disk"/ - cp ~/acrn-work/MyConfiguration/launch_user_vm_id1.sh "$disk"/ - sync && sudo umount "$disk" - - #. Insert the USB disk you just used into the target system and run these - commands to copy the files locally: - - .. code-block:: bash - - disk="/media/$USER/"$(ls /media/$USER) - cp "$disk"/acrn*.deb ~/acrn-work - cp "$disk"/grub*.deb ~/acrn-work - cp "$disk"/*acrn-service-vm*.deb ~/acrn-work - cp "$disk"/launch_user_vm_id1.sh ~/acrn-work - sync && sudo umount "$disk" + sudo scp ~/acrn-work/acrn*.deb \ + ~/acrn-work/grub*.deb \ + ~/acrn-work/*acrn-service-vm*.deb \ + ~/acrn-work/MyConfiguration/launch_user_vm_id1.sh \ + acrn@10.0.0.200:~/acrn-work .. _gsg-install-acrn: @@ -699,8 +600,18 @@ Install ACRN .. code-block:: bash cd ~/acrn-work - sudo apt install ./acrn*.deb ./grub*.deb - sudo apt install ./*acrn-service-vm*.deb + cp ./acrn*.deb ./grub*.deb ./*acrn-service-vm*.deb /tmp + sudo apt install /tmp/acrn*.deb /tmp/grub*.deb /tmp/*acrn-service-vm*.deb + +#. Modify the GRUB menu display using ``sudo vi /etc/default/grub``, comment out the hidden style + and changing the timeout to 5 seconds (leave other lines as they are), as shown:: + + #GRUB_TIMEOUT_STYLE=hidden + GRUB_TIMEOUT=5 + + and install the new GRUB menu using:: + + sudo update-grub #. Reboot the system: @@ -708,19 +619,25 @@ Install ACRN reboot -#. Confirm that you see the GRUB menu with the "ACRN multiboot2" entry. Select - it and proceed to booting ACRN. (It may be auto-selected, in which case it + The target system will reboot into the ACRN hypervisor and + start the Ubuntu Service VM. + +#. Confirm that you see the GRUB menu with "Ubuntu-ACRN Board Inspector, with 5.15.0-56-generic" 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.) + Example grub menu shown as below: + .. code-block:: console - :emphasize-lines: 5 GNU GRUB version 2.04 ──────────────────────────────────────────────────────────────────────────────── Ubuntu Advanced options for Ubuntu - *Ubuntu GNU/Linux, with ACRN hypervisor - Advanced options for Ubuntu GNU/Linux (with ACRN hypervisor) + Ubuntu-ACRN Board Inspector, with Linux 5.15.71-acrn-service-vm + *Ubuntu-ACRN Board Inspector, with Linux 5.15.0-56-generic + Ubuntu with ACRN hypervisor, with Linux 5.15.71-acrn-service-vm (ACRN 3.2) + Ubuntu with ACRN hypervisor, with Linux 5.15.0-56-generic (ACRN 3.2) UEFI Firmware Settings .. _gsg-run-acrn: @@ -732,7 +649,8 @@ Run ACRN and the Service VM The ACRN hypervisor boots the Ubuntu Service VM automatically. -#. On the target, log in to the Service VM. (It will look like a normal +#. On the target, log in to the Service VM using the ``acrn`` username and + password you set up previously. (It will look like a normal graphical Ubuntu session.) #. Verify that the hypervisor is running by checking ``dmesg`` in the Service @@ -753,8 +671,12 @@ The ACRN hypervisor boots the Ubuntu Service VM automatically. so the Device Model can create a bridge device (acrn-br0) that provides User VMs with wired network access: + .. warning:: + The IP address of Service VM may change after executing the following command. + .. code-block:: bash + cp /usr/share/doc/acrnd/examples/* /etc/systemd/network sudo systemctl enable --now systemd-networkd .. _gsg-user-vm: @@ -764,12 +686,12 @@ The ACRN hypervisor boots the Ubuntu Service VM automatically. Launch the User VM ******************* -#. On the target system, use the web browser to go to the `official Ubuntu website `__ to +#. On the target system, use the web browser to visit the `official Ubuntu website `__ and get the Ubuntu Desktop 22.04 LTS ISO image - ``ubuntu-22.04.1-desktop-amd64.iso`` for the User VM. (The same image you + ``ubuntu-22.04.2-desktop-amd64.iso`` for the User VM. (The same image you specified earlier in the ACRN Configurator UI.) Alternatively, instead of - downloading it again, you can use a USB drive or ``scp`` to copy the ISO - image file to the ``~/acrn-work`` directory on the target system. + 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 Downloads directory to the ``~/acrn-work/`` directory (the location we said @@ -778,7 +700,7 @@ Launch the User VM .. code-block:: bash - cp ~/Downloads/ubuntu-22.04.1-desktop-amd64.iso ~/acrn-work + cp ~/Downloads/ubuntu-22.04.2-desktop-amd64.iso ~/acrn-work #. Launch the User VM: @@ -793,7 +715,7 @@ Launch the User VM .. code-block:: console - Ubuntu 22.04.1 LTS ubuntu hvc0 + Ubuntu 22.04.2 LTS ubuntu hvc0 ubuntu login: @@ -804,16 +726,22 @@ Launch the User VM .. code-block:: console - Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-43-generic x86_64) + 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 - 0 packages can be updated. - 0 updates are security updates. + Expanded Security Maintenance for Applications is not enabled. - Your Hardware Enablement Stack (HWE) is supported until April 2025. + 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 @@ -833,7 +761,7 @@ Launch the User VM .. code-block:: console ubuntu@ubuntu:~$ uname -r - 5.15.0-43-generic + 5.19.0-32-generic Then open a new terminal window and use the command to see that the Service VM is running the ``acrn-kernel`` Service VM image: @@ -841,7 +769,7 @@ Launch the User VM .. code-block:: console acrn@vecow:~$ uname -r - 5.15.44-acrn-service-vm + 5.15.71-acrn-service-vm The User VM has launched successfully. You have completed this ACRN setup. diff --git a/doc/getting-started/images/configurator-postvm02.png b/doc/getting-started/images/configurator-postvm02.png new file mode 100644 index 000000000..ebe14944b Binary files /dev/null and b/doc/getting-started/images/configurator-postvm02.png differ diff --git a/doc/getting-started/images/configurator_postvm01.png b/doc/getting-started/images/configurator_postvm01.png new file mode 100644 index 000000000..06e6829df Binary files /dev/null and b/doc/getting-started/images/configurator_postvm01.png differ diff --git a/doc/getting-started/sample-app.rst b/doc/getting-started/sample-app.rst index a48f99ae8..b0aabb683 100644 --- a/doc/getting-started/sample-app.rst +++ b/doc/getting-started/sample-app.rst @@ -76,7 +76,7 @@ Preparing the Target System =========================== On the target system, reboot and choose the regular Ubuntu image (not the -Multiboot2 choice created when following the Getting Started Guide). +Ubuntu-ACRN Board Inspector choice created when following the Getting Started Guide). 1. Log in as the **acrn** user. We'll be making ssh connections to the target system later in these steps, so install the ssh server on the target system using:: @@ -108,7 +108,7 @@ As a normal (e.g., **acrn**) user, follow these steps: 1. Install some additional packages in your development computer used for building the sample application:: - sudo apt install -y cloud-guest-utils schroot kpartx qemu-kvm + sudo apt install -y cloud-guest-utils schroot kpartx qemu-utils #. Check out the ``acrn-hypervisor`` source code branch (already cloned from the ``acrn-hypervisor`` repo when you followed the :ref:`gsg`). We've tagged a @@ -117,7 +117,7 @@ As a normal (e.g., **acrn**) user, follow these steps: cd ~/acrn-work/acrn-hypervisor git fetch --all - git checkout master + git checkout release_3.2 #. Build the ACRN sample application source code:: @@ -189,10 +189,10 @@ Make the RT_VM Image .. code-block:: console - linux-headers-5.15.44-rt46-acrn-kernel-rtvm+_5.15.44-rt46-acrn-kernel-rtvm+-1_amd64.deb - linux-image-5.15.44-rt46-acrn-kernel-rtvm+-dbg_5.15.44-rt46-acrn-kernel-rtvm+-1_amd64.deb - linux-image-5.15.44-rt46-acrn-kernel-rtvm+_5.15.44-rt46-acrn-kernel-rtvm+-1_amd64.deb - linux-libc-dev_5.15.44-rt46-acrn-kernel-rtvm+-1_amd64.deb + linux-headers-5.15.71-rt46-acrn-kernel-rtvm+_5.15.71-rt46-acrn-kernel-rtvm+-1_amd64.deb + linux-image-5.15.71-rt46-acrn-kernel-rtvm+-dbg_5.15.71-rt46-acrn-kernel-rtvm+-1_amd64.deb + linux-image-5.15.71-rt46-acrn-kernel-rtvm+_5.15.71-rt46-acrn-kernel-rtvm+-1_amd64.deb + linux-libc-dev_5.15.71-rt46-acrn-kernel-rtvm+-1_amd64.deb #. Make the RT VM image:: @@ -394,43 +394,21 @@ Build the ACRN Hypervisor and Service VM Images cd ~/acrn-work/acrn-hypervisor make clean - make BOARD=~/acrn-work/MyConfiguration/my_board.board.xml SCENARIO=~/acrn-work/MyConfiguration/scenario.xml + debian/debian_build.sh clean && debian/debian_build.sh -c ~/acrn-work/MyConfiguration The build typically takes about a minute. When done, the build - generates a Debian package in the build directory with your board and - working folder name. + generates several Debian packages in the build directory. Only one + with your board and working folder name among these Debian packages + is different from genetated in the Getting Started Guide. So we only + need to copy and reinstall one Debian package to the target system. This Debian package contains the ACRN hypervisor and tools for installing ACRN on the target. -#. Build the ACRN kernel for the Service VM (the sample application - requires a newer version of the Service VM than generated in the - Getting Started Guide, so we'll need to generate it again) using a tagged - version of the ``acrn-kernel``:: - - cd ~/acrn-work/acrn-kernel - git fetch --all - - git checkout acrn-v3.1 - - make distclean - cp kernel_config_service_vm .config - make olddefconfig - make -j $(nproc) deb-pkg - - The kernel build can take 15 minutes or less on a fast computer, but - could take one to two hours depending on the performance of your development - computer. When done, the build generates four Debian packages in the - directory above the build root directory: - - .. code-block:: console - - $ ls ../*acrn-service*.deb - - linux-headers-5.15.44-acrn-service-vm_5.15.44-acrn-service-vm-1_amd64.deb - linux-image-5.15.44-acrn-service-vm_5.15.44-acrn-service-vm-1_amd64.deb - linux-image-5.15.44-acrn-service-vm-dbg_5.15.44-acrn-service-vm-1_amd64.deb - linux-libc-dev_5.15.44-acrn-service-vm-1_amd64.deb +#. Use the ACRN kernel for the Service VM already on your development computer + when you followed the Getting Started Guide (the sample application + requires the same version of the Service VM as generated in the + Getting Started Guide, so no need to generate it again). .. rst-class:: numbered-step @@ -439,91 +417,56 @@ Copy Files from the Development Computer to Your Target System 1. Copy all the files generated on the development computer to the target system. This includes the sample application executable files, - HMI_VM and RT_VM images, Debian packages for the Service VM and - Hypervisor, launch scripts, and the iasl tool built following the - Getting Started Guide. You can use ``scp`` to copy across the local network, - or use a USB stick: + HMI_VM and RT_VM images, Debian packages for ACRN Hypervisor, + and the launch scripts. - Option 1: use ``scp`` to copy files over the local network - Use ``scp`` to copy files from your development computer to the - ``~/acrn-work`` directory on the target (replace the IP address used in - this example with the target system's IP address you found earlier):: + Use ``scp`` to copy files from your development computer to the + ``~/acrn-work`` directory on the target (replace the IP address used in + this example with the target system's IP address you found earlier):: - cd ~/acrn-work + cd ~/acrn-work - scp acrn-hypervisor/misc/sample_application/image_builder/build/*_vm.img \ - acrn-hypervisor/build/acrn-my_board-MyConfiguration*.deb \ - *acrn-service-vm*.deb MyConfiguration/launch_user_vm_id*.sh \ - acpica-unix-20210105/generate/unix/bin/iasl \ - acrn@10.0.0.200:~/acrn-work + scp acrn-hypervisor/misc/sample_application/image_builder/build/*_vm.img \ + acrn-hypervisor*.deb \ + MyConfiguration/launch_user_vm_id*.sh \ + acrn@10.0.0.200:~/acrn-work - Then on the target system, run these commands:: - - sudo cp ~/acrn-work/iasl /usr/sbin - sudo ln -s /usr/sbin/iasl /usr/bin/iasl - - Option 2: use a USB stick to copy files - Because the VM image files are large, format your USB stick with a file - system that supports files greater than 4GB: extFAT or NTFS, but not FAT32. - - Insert a USB stick into the development computer and run these commands:: - - disk="/media/$USER/"$(ls /media/$USER) - - cd ~/acrn-work - cp acrn-hypervisor/misc/sample_application/image_builder/build/*_vm.img rt_vm.img "$disk" - cp acrn-hypervisor/build/acrn-my_board-MyConfiguration*.deb "$disk" - cp *acrn-service-vm*.deb "$disk" - cp MyConfiguration/launch_user_vm_id*.sh "$disk" - cp acpica-unix-20210105/generate/unix/bin/iasl "$disk" - sync && sudo umount "$disk" - - Move the USB stick you just used to the target system and run - these commands to copy the files locally:: - - disk="/media/$USER/"$(ls /media/$USER) - - cp "$disk"/*_vm.img ~/acrn-work - cp "$disk"/acrn-my_board-MyConfiguration*.deb ~/acrn-work - cp "$disk"/*acrn-service-vm*.deb ~/acrn-work - cp "$disk"/launch_user_vm_id*.sh ~/acrn-work - sudo cp "$disk"/iasl /usr/sbin/ - sudo ln -s /usr/sbin/iasl /usr/bin/iasl - sync && sudo umount "$disk" .. rst-class:: numbered-step Install and Run ACRN on the Target System ***************************************** -1. On your target system, install the ACRN Debian package and ACRN +1. On the target system, configure your network according to instruction of below link: + + https://www.ubuntupit.com/how-to-configure-and-use-network-bridge-in-ubuntu-linux/ + +#. On your target system, install the ACRN Debian package and ACRN kernel Debian packages using these commands:: cd ~/acrn-work + cp ./acrn-hypervisor*.deb ./*acrn-service-vm*.deb /tmp sudo apt purge acrn-hypervisor - sudo apt install ./acrn-my_board-MyConfiguration*.deb - sudo apt install ./*acrn-service-vm*.deb + sudo apt install /tmp/acrn-hypervisor*.deb /tmp/*acrn-service-vm*.deb -#. Enable networking services for sharing with the HMI User VM:: +#. Enable networking services for sharing with the HMI User VM: + .. warning:: + The IP address of Service VM may change after executing the following command. + + .. code-block:: bash + + cp /usr/share/doc/acrnd/examples/* /etc/systemd/network sudo systemctl enable --now systemd-networkd #. Reboot the system:: reboot -#. Confirm that you see the GRUB menu with the "ACRN multiboot2" entry. Select - it and press :kbd:`Enter` to proceed to booting ACRN. (It may be - auto-selected, in which case it will boot with this option automatically in 5 - seconds.) - - .. image:: images/samp-image016.png - :class: drop-shadow - :align: center - - This will boot the ACRN hypervisor and launch the Service VM. - -#. Log in to the Service VM (using the target's keyboard and HDMI monitor) using +#. The target system will boot automatically into the ACRN hypervisor and + launch the Service VM. + + Log in to the Service VM (using the target's keyboard and HDMI monitor) using the ``acrn`` username. #. Find the Service VM's IP address (the first IP address shown by this command): @@ -606,7 +549,7 @@ Install and Run ACRN on the Target System ubuntu login: root Password: - Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.44-rt46-acrn-kernel-rtvm+ x86_64) + Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.71-rt46-acrn-kernel-rtvm+ x86_64) . . . diff --git a/doc/reference/hardware.rst b/doc/reference/hardware.rst index 3a17bd326..15e9c0ac1 100644 --- a/doc/reference/hardware.rst +++ b/doc/reference/hardware.rst @@ -66,47 +66,60 @@ level includes the activities described in the lower levels. .. _ASRock iEP-9010E: https://www.asrockind.com/en-gb/iEP-9010E -+------------------------+----------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+-------------------+ -| | | .. rst-class:: | -| | | centered | -| | | | -| | | ACRN Version | -| | +-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+ -| Intel Processor Family | Tested Products | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | -| | | centered | centered | centered | centered | centered | centered | centered | centered | -| | | | | | | | | | | -| | | v1.0 | v1.6.1 | v2.0 | v2.5 | v2.6 | v2.7 | v3.0 | v3.1 | -+========================+============================+===================+===================+===================+===================+===================+===================+===================+===================+ -| Alder Lake | | `ASRock iEPF-9010S-EY4`_,| | .. rst-class:: | .. rst-class:: | -| | | `ASRock iEP-9010E`_ | | centered | centered | -| | | | | | -| | | | Release | Community | -+------------------------+----------------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+ -| Tiger Lake | `Vecow SPC-7100`_ | | .. rst-class:: | -| | | | centered | -| | | | | -| | | | Maintenance | -+------------------------+----------------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+---------------------------------------+ -| Tiger Lake | `NUC11TNHi5`_ | | | | .. rst-class:: | .. rst-class:: | .. rst-class:: | -| | | | | | centered | centered | centered | -| | | | | | | | | -| | | | | | Release | Maintenance | Community | -+------------------------+----------------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+---------------------------------------+ -| Whiskey Lake | `WHL-IPC-I5`_ | | | .. rst-class:: | .. rst-class:: | .. rst-class:: | -| | | | | centered | centered | centered | -| | | | | | | | -| | | | | Release | Maintenance | Community | -+------------------------+----------------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-----------------------------------------------------------+ -| Kaby Lake | `NUC7i7DNHE`_ | | .. rst-class:: | .. rst-class:: | .. rst-class:: | -| | | | centered | centered | centered | -| | | | | | | -| | | | Release | Maintenance | Community | -+------------------------+----------------------------+-------------------+-------------------+---------------------------------------+-------------------------------------------------------------------------------+ -| Apollo Lake | | `NUC6CAYH`_, | .. rst-class:: | .. rst-class:: | .. rst-class:: | -| | | `UP2-N3350`_, | centered | centered | centered | -| | | `UP2-N4200`_, | | | | -| | | `UP2-x5-E3940`_ | Release | Maintenance | Community | -+------------------------+----------------------------+-------------------+-------------------+-----------------------------------------------------------------------------------------------------------------------+ +.. _ASUS PN64-E1: + https://www.asus.com/displays-desktops/mini-pcs/pn-series/asus-expertcenter-pn64-e1/ + +.. important:: + We recommend you use a system configuration that includes a serial port. + +.. # Note For easier editing, I'm using unicode non-printing spaces in this table to help force the width of the first two columns to help prevent wrapping (using   isn't compact enough) + ++------------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | | .. rst-class:: | +| | | centered | +| | | | +| | | ACRN Version | +| | +-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------+ +| Intel Processor Family | Tested Products                 | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | .. rst-class:: | +| Code Name | | centered | centered | centered | centered | centered | centered | centered | centered | centered | +| | | | | | | | | | | | +| | | v1.0 | v1.6.1 | v2.0 | v2.5 | v2.6 | v2.7 | v3.0 | v3.1 | v3.2 | ++========================+=================================+===================+===================+===================+===================+===================+===================+===================+===================+===================+ +| Raptor Lake | `ASUS PN64-E1`_ | | .. rst-class:: | +| | | | centered | +| | | | | +| | | | Community | ++------------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------+-------------------+-------------------+ +| Alder Lake | | `ASRock iEPF-9010S-EY4`_, | | .. rst-class:: | .. rst-class:: | +| | | `ASRock iEP-9010E`_ | | centered | centered | +| | | | | | +| | | | Release | Community | ++------------------------+---------------------------------+-----------------------------------------------------------------------------------------------------------------------+-------------------+---------------------------------------+ +| Tiger Lake | `Vecow SPC-7100`_ | | .. rst-class:: | +| | | | centered | +| | | | | +| | | | Maintenance | ++------------------------+---------------------------------+-----------------------------------------------------------+-------------------+---------------------------------------+-----------------------------------------------------------+ +| Tiger Lake | `NUC11TNHi5`_ | | .. rst-class:: | .. rst-class:: | .. rst-class:: | +| | | | centered | centered | centered | +| | | | | | | +| | | | Release | Maintenance | Community | ++------------------------+---------------------------------+---------------------------------------+-------------------+-------------------+-------------------+-------------------+-----------------------------------------------------------+ +| Whiskey Lake | `WHL-IPC-I5`_ | | .. rst-class:: | .. rst-class:: | .. rst-class:: | +| | | | centered | centered | centered | +| | | | | | | +| | | | Release | Maintenance | Community | ++------------------------+---------------------------------+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------------------------------------------------------------------+ +| Kaby Lake | `NUC7i7DNHE`_ | | .. rst-class:: | .. rst-class:: | .. rst-class:: | +| | | | centered | centered | centered | +| | | | | | | +| | | | Release | Maintenance | Community | ++------------------------+---------------------------------+-------------------+-------------------+---------------------------------------+---------------------------------------------------------------------------------------------------+ +| Apollo Lake | | `NUC6CAYH`_, | .. rst-class:: | .. rst-class:: | .. rst-class:: | +| | | `UP2-N3350`_, | centered | centered | centered | +| | | `UP2-N4200`_, | | | | +| | | `UP2-x5-E3940`_ | Release | Maintenance | Community | ++------------------------+---------------------------------+-------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ * **Release**: New ACRN features are complete and tested for the listed product. This product is recommended for this ACRN version. Support for older products @@ -136,4 +149,4 @@ you will use to configure the ACRN hypervisor, as described in the acrn-user@lists.projectacrn.org mailing list on your findings about unlisted products. -.. # vim: tw=200 +.. # vim: tw=300 diff --git a/doc/release_notes/release_notes_3.0.2.rst b/doc/release_notes/release_notes_3.0.2.rst new file mode 100644 index 000000000..10812215c --- /dev/null +++ b/doc/release_notes/release_notes_3.0.2.rst @@ -0,0 +1,56 @@ +.. _release_notes_3.0.2: + +ACRN v3.0.2 (Nov 2022) +###################### + +We are pleased to announce the release of the Project ACRN hypervisor +version 3.0.2 with hot fixes to the v3.0 release. + +ACRN is a flexible, lightweight reference hypervisor that is built with +real-time and safety-criticality in mind. It is optimized to streamline +embedded development through an open-source platform. See the +:ref:`introduction` introduction for more information. + +All project ACRN source code is maintained in the +https://github.com/projectacrn/acrn-hypervisor repository and includes +folders for the ACRN hypervisor, the ACRN device model, tools, and +documentation. You can download this source code either as a zip or +tar.gz file (see the `ACRN v3.0.2 GitHub release page +`_) or +use Git ``clone`` and ``checkout`` commands:: + + git clone https://github.com/projectacrn/acrn-hypervisor + cd acrn-hypervisor + git checkout v3.0.2 + +The project's online technical documentation is also tagged to +correspond with a specific release: generated v3.0 documents can be +found at https://projectacrn.github.io/3.0/. Documentation for the +latest development branch is found at https://projectacrn.github.io/latest/. + +ACRN v3.0.2 requires Ubuntu 20.04 (as does v3.0). Follow the instructions in the +:ref:`gsg` to get started with ACRN. + + +What's New in v3.0.2 +******************** + +Passthrough PMU (performance monitor unit) to user VM only in debug builds + ACRN v2.6 introduced PMU passthrough to RT VMs that have LAPIC passthrough + enabled. This is useful for performance profiling at development time but can + cause workload interference in a production build. PMU passthrough is only + enabled now for a hypervisor debug mode build. + +Added tarfile member sanitization to Python tarfile package extractall() calls + A vulnerability in the ACRN Configurator is patched, where files extracted + from a maliciously crafted tarball could be written to somewhere outside the + target directory and cause unsafe behavior. + +Run executables with absolute paths in board inspector + Using partial executable paths in the board inspector may cause unintended + results when another executable has the same name and is found via PATH + settings. The board inspector now uses absolute paths to executable. + + + +See :ref:`release_notes_3.0` and :ref:`release_notes_3.0.1` for additional release information. diff --git a/doc/release_notes/release_notes_3.2.rst b/doc/release_notes/release_notes_3.2.rst new file mode 100644 index 000000000..cdb8ef651 --- /dev/null +++ b/doc/release_notes/release_notes_3.2.rst @@ -0,0 +1,188 @@ +.. _release_notes_3.2: + +ACRN v3.2 (Aug 2023) +#################### + +We are pleased to announce the release of the Project ACRN hypervisor +version 3.2. + +ACRN is a flexible, lightweight reference hypervisor that is built with +real-time and safety-criticality in mind. It is optimized to streamline +embedded development through an open-source platform. See the +:ref:`introduction` introduction for more information. + +All project ACRN source code is maintained in the +https://github.com/projectacrn/acrn-hypervisor repository and includes +folders for the ACRN hypervisor, the ACRN device model, tools, and +documentation. You can download this source code either as a zip or +tar.gz file (see the `ACRN v3.2 GitHub release page +`_) or +use Git ``clone`` and ``checkout`` commands:: + + git clone https://github.com/projectacrn/acrn-hypervisor + cd acrn-hypervisor + git checkout v3.2 + +The project's online technical documentation is also tagged to +correspond with a specific release: generated v3.2 documents can be +found at https://projectacrn.github.io/3.2/. Documentation for the +latest development branch is found at https://projectacrn.github.io/latest/. + +ACRN v3.2 requires Ubuntu 22.04. Follow the instructions in the +:ref:`gsg` to get started with ACRN. + + +What's New in v3.2 +****************** + +Enabling New Generation Intel® Processors + ACRN v3.2 release now supports 12th Generation Intel® Atom N-Series Processors + (formerly code named Alder Lake N) and 13th Generation Intel® Core™ Mobile and + Desktop Processors (formerly code named Raptor Lake) with real-time SKUs. + +Hypervisor-Managed Processor Performance Policy Controls + The ACRN hypervisor Configurator now provides processor performance policy + control for CPU frequency if the system supports hardware-controlled + performance states (HWP). This ensures that loaded CPUs can run at least at + their guaranteed frequency level. + +New Debianization Solution for ACRN + The v3.2 release provides a standardized approach for ACRN debianization. + We provide an option to build each component as a separate Debian package and + allow users to select the binary to deploy at package installation time. Users + can also reselect the binary by reconfiguring the installed package. + +Service VM Upgraded to use Ubuntu 22.04 + The v3.2 release upgrades the Service VM OS from Ubuntu 20.04 to 22.04. + +Upgrading to v3.2 from Previous Releases +**************************************** + +We recommend you generate a new board XML for your target system with the v3.2 +Board Inspector. You should also use the v3.2 Configurator to generate a new +scenario XML file and launch scripts. Scenario XML files and launch scripts +created by previous ACRN versions will not work with the v3.2 ACRN hypervisor +build process and could produce unexpected errors during the build. + +Given the scope of changes for the v3.2 release, we have recommendations for how +to upgrade from prior ACRN versions: + +1. Start fresh from our :ref:`gsg`. This is the best way to ensure you have a + v3.2-ready board XML file from your target system and generate a new scenario + XML and launch scripts from the new ACRN Configurator that are consistent and + will work for the v3.2 build system. +#. Use the :ref:`upgrader tool ` to attempt upgrading + your configuration files that worked with prior releases. You'll need the + matched pair of scenario XML and launch XML files from a prior configuration, + and use them to create a new merged scenario XML file. See + :ref:`upgrading_configuration` for details. +#. Manually edit your previous older scenario XML and launch XML files to make them + compatible with v3.2. This is not our recommended approach. + +Here are some additional details about upgrading to the v3.22 release. + +Generate New Board XML +====================== + +Board XML files, generated by ACRN Board Inspector, contain board information +that is essential for building the ACRN hypervisor and setting up User VMs. +Compared to previous versions, ACRN v3.2 adds the following information to the +board XML file for supporting new features and fixes: + +* Add CPU frequency information. (See :acrn-pr:`8174`) +* Get connected displays and add them as child nodes to a corresponding graphics + card. (See :acrn-pr:`8230`) +* Add bdf information to an ioport serial controller. (See :acrn-pr:`8237`) +* Stop running and report an error if VMD is enabled in the BIOS setting. (See + :acrn-pr:`8328`) +* Report an error if a USB device is unplugged or disconnected while extracting + USB device information. (See :acrn-pr:`8326`) +* Handle PCI functions with an undefined header layout. (See :acrn-pr:`8233`) + +See the :ref:`board_inspector_tool` documentation for a complete list of steps +to install and run the tool. + +Update Configuration Options +============================ + +As explained in this :ref:`upgrading_configuration` document, we do provide a +tool that can assist upgrading your existing pre-v3.2 scenario XML files in the +new merged v3.2 format. From there, you can use the v3.2 ACRN Configurator UI to +open the upgraded scenario file for viewing and further editing if the upgrader +tool lost meaningful data during the conversion. + +The ACRN Configurator adds the following features and fixes to improve the user +experience: + +* Support virtio GPU configuration. (See :acrn-pr:`8248`) +* Determine SSRAM_ENABLED value automatically. (See :acrn-pr:`8232`) +* Add "CPU performance policy type" option. (See :acrn-pr:`8174`) +* Add "exclusively owns physical CPUs" checkbox to pre-launched and + post-launched VMs. (See :acrn-pr:`8290`) +* Generate ``config_summary.rst`` when saving scenario XML and launch scripts. + (See :acrn-pr:`8309`) + +See the :ref:`scenario-config-options` documentation for details about all the +available configuration options in the new Configurator. + + +Document Updates +**************** + +Here are some of the more significant documentation updates from the v3.1 release: + +.. rst-class:: rst-columns2 + +* :ref:`asa` +* :ref:`hld-security` +* :ref:`hv-cpu-virt` +* :ref:`gsg` +* :ref:`GSG_sample_app` +* :ref:`release_notes_3.2` +* :ref:`release_notes_3.0.2` +* :ref:`acrn_configurator_tool` +* :ref:`acrn_doc` +* :ref:`enable_multiple_displays` +* :ref:`acrn-dm_parameters-and-launch-script` +* :ref:`scenario-config-options` + +Fixed Issues Details +******************** + +.. comment example item + - :acrn-issue:`5626` - Host Call Trace once detected + +- :acrn-issue:`8435` - Post-launch RTVM and WaaG running simultaneously will cause Windows kernel crash +- :acrn-issue:`8445` - Fix security vulnerability for configurator dependent library +- :acrn-issue:`8454` - Fail to boot RTVM or UaaG when passthru Ethernet controller +- :acrn-issue:`8448` - The script in Sample Application Guide is not working +- :acrn-issue:`8352` - Sample app fails to build for v3.2 RC1 +- :acrn-issue:`8439` - Possible null pointer dereference/uninitialized variable/buffer overflow in code +- :acrn-issue:`8435` - Post-launch RTVM and WaaG running simultaneously will cause Windows kernel crash +- :acrn-issue:`8432` - Flickering screen when passing ADL-N and RPL-P platforms +- :acrn-issue:`8413` - hypervisor: 'vm_config' may be used uninitialized [-Werror=maybe-uninitialized] +- :acrn-issue:`8382` - Failed to build with gcc 12 +- :acrn-issue:`8422` - Failed to generate config summary and launch scripts if CAT is enabled in configurator +- :acrn-issue:`8395` - Configurator load fails because it needs to download RstCloth packages. +- :acrn-issue:`8380` - Cannot generate XML file for target system +- :acrn-issue:`8388` - Fail to generate board XML because of non-ASCII characters +- :acrn-issue:`8385` - Failed to generate config_summary.rst when board.xml has "module" node under the "processors/die" +- :acrn-issue:`8359` - GSG: change the method of checking kernel version of grub menuentry +- :acrn-issue:`8246` - Debianization improvement +- :acrn-issue:`8344` - debian/debian_build.sh fails when a work folder contains files other than XML +- :acrn-issue:`8111` - Sync between Service VM OS and RTVM failed when startup hence life_mngr cannot work +- :acrn-issue:`8315` - Invoking a command with partial executable path in Board Inspector Python file +- :acrn-issue:`8274` - Wrong kernel cmdline added in grub menu when install acrn-hypervisor + + +Known Issues +************ + +- :acrn-issue:`6631` - Kata support is broken since v2.7 +- :acrn-issue:`6978` - openstack failed since ACRN v2.7 +- :acrn-issue:`7827` - Pre_launched standard VMs cannot share CPU with Service VM in configurator +- :acrn-issue:`8202` - HV fail to boot acrn on QEMU +- :acrn-issue:`8471` - PTM enabling failure on i225 NIC +- :acrn-issue:`8472` - Failed to clear memory for post-launched standard VM +- :acrn-issue:`8473` - Missing VirtIO GPU Windows VF driver + diff --git a/doc/scripts/filter-known-issues.py b/doc/scripts/filter-known-issues.py index b60c9f0dc..aeb7ac73f 100755 --- a/doc/scripts/filter-known-issues.py +++ b/doc/scripts/filter-known-issues.py @@ -36,7 +36,6 @@ import logging import mmap import os import re -import sre_constants import sys import traceback @@ -69,7 +68,7 @@ def config_import_file(filename): regex = gd['regex'] try: r = re.compile(regex, re.MULTILINE) - except sre_constants.error as e: + except re.error as e: logging.error("%s: bytes %d-%d: bad regex: %s", filename, m.start(), m.end(), e) raise diff --git a/doc/static/acrn-custom.css b/doc/static/acrn-custom.css index 45e1686c9..296a69d41 100644 --- a/doc/static/acrn-custom.css +++ b/doc/static/acrn-custom.css @@ -291,7 +291,8 @@ body { counter-reset: step-count; } -div.numbered-step h2::before { +div.numbered-step h2::before, +section.numbered-step h2::before { counter-increment: step-count; content: counter(step-count); background: #cccccc;