doc: update release notes for v2.5 on configuration upgrades

This patch updates recommendations to upgrade from a prior ACRN version for
v2.5.

v2:
 * Apply suggestions from review.
 * Remove descriptions on the scenario XML upgrade tool.

Signed-off-by: Junjie Mao <junjie.mao@intel.com>
This commit is contained in:
Junjie Mao 2021-06-21 16:05:02 +08:00 committed by David Kinder
parent 5399602d5a
commit a9af948993
2 changed files with 32 additions and 72 deletions

View File

@ -76,6 +76,8 @@ Upgrading to v2.4 From Previous Releases
We highly recommended that you follow the instructions below to
upgrade to v2.4 from previous ACRN releases.
.. _upgrade_python:
Additional Dependencies
=======================

View File

@ -57,93 +57,52 @@ Upgrading to v2.5 From Previous Releases
We highly recommended that you follow the instructions below to
upgrade to v2.5 from previous ACRN releases.
Additional Dependencies
=======================
Generate New Board XML
======================
Python version 3.6 or higher is required to build ACRN v2.5. You can check the version of
Python you are using by:
Board XML files, generated by ACRN board inspector, contain board information
that is essential to build ACRN. Compared to previous versions, ACRN v2.5
extends the schema of board XMLs to summarize board information more
systematically. You must regenerate your board XML file using the new
board inspector when you upgrade to ACRN v2.5.
To use the new board inspector, ensure you have Python >= 3.6 on the target
board and install the ``lxml`` PyPI package. Refer to :ref:`upgrade_python` for
detailed steps to check and upgrade Python version. The ``lxml`` package can be
installed by executing the following command:
.. code-block:: bash
$ python3 --version
Python 3.5.2
Only when the reported version is less than 3.6 (as is the case in the example above) do
you need an upgrade. The first (and preferred) choice is to install the latest
Python 3 from the official package repository:
.. code-block:: bash
$ sudo apt install python3
...
$ python --version
Python 3.8.8
If this does not get you an appropriate version, you may use the deadsnakes PPA
(using the instructions below) or build from source yourself.
.. code-block:: bash
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt install python3.9
$ python --version
Python 3.9.2
In addition, the following new tools and packages are needed to build ACRN v2.5.
(If you're already using ACRN v2.4, you should already have these tools.)
.. code-block:: bash
$ sudo apt install libxml2-utils xsltproc
$ sudo pip3 install lxml xmlschema
$ sudo pip3 install lxml
.. note::
This is not the complete list of tools required to build ACRN. Refer to
:ref:`getting-started-building` for a complete guide to get started from
scratch.
Refer to :ref:`acrn_config_workflow` for a complete list of tools required to
run the board inspector.
Configuration File Format
=========================
With the prerequisites, copying the entire board inspector folder from
``misc/config_tools/board_inspector`` to the target board, ``cd`` to that
directory on the target, and run the tool using::
Starting with release v2.4, Kconfig is no longer used, and the contents of
scenario XML files have been simplified. If you're using v2.3 or earlier, you
need to upgrade your own Kconfig-format files or scenario XML files if you
maintain any.
sudo python3 cli.py <my_board_name>
See the instructions in the :ref:`release_notes_2.4` release notes for helpful
instructions to assist in this upgrade.
This will generate ``<my_board_name>.xml`` under the current working directory.
Add New Configuration Options
=============================
Build Commands
==============
In v2.5, the following elements are added to scenario XMLs:
We recommend you update the usage of variables ``BOARD_FILE`` and
``SCENARIO_FILE``, which are being deprecated, and ``RELEASE``:
- :option:`hv.FEATURES.NVMX_ENABLED`
- :option:`vm.PTM`
- ``BOARD_FILE`` should be replaced with ``BOARD``. You should not specify
``BOARD`` and ``BOARD_FILE`` at the same time.
- Similarly, ``SCENARIO_FILE`` should be replaced with ``SCENARIO``.
- The value of ``RELEASE`` should be either ``y`` (previously was ``1``) or
``n`` (previously was ``0``).
The following element is renamed:
``BOARD_FILE`` and ``SCENARIO_FILE`` can still be used but will take effect
only if ``BOARD`` and ``SCENARIO`` are not defined. They will be deprecated in
a future release.
- :option:`hv.FEATURES.SSRAM.SSRAM_ENABLED` (was ``hv.FEATURES.PSRAM.PSRAM_ENABLED`` in v2.4)
Patches on Generated Sources
============================
Constraints on values of the following element is changed:
The C files generated from board and scenario XML files were removed from the
repository in v2.4. Instead they will be generated in the build output when
building the hypervisor. See the instructions in the :ref:`release_notes_2.4`
release notes for more information.
Modifying generated files is not a recommended practice.
If you find a configuration that is not flexible enough to meet your
needs, please let us know by sending mail to `the acrn-dev mailing
list <https://lists.projectacrn.org/g/acrn-dev>`_ or submitting a
`GitHub issue <https://github.com/projectacrn/acrn-hypervisor/issues>`_.
- :option:`vm.guest_flags.guest_flag` no longer accepts an empty text. For VMs
without any guest flag set, a ``0`` should be given.
Document Updates
****************
@ -190,4 +149,3 @@ Fixed Issues Details
Known Issues
************