doc: update the ROScube-I GSG with ACRN v2.5

This patch updates the ROScube-I GSG so that developers could use ROScube-I
with ACRN v2.5.

Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
This commit is contained in:
Weiyi Feng 2021-09-17 13:39:32 +08:00 committed by David Kinder
parent 61074ce1ee
commit c190272955
7 changed files with 66 additions and 36 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -12,8 +12,8 @@ Verified Version
- Ubuntu version: **18.04** - Ubuntu version: **18.04**
- GCC version: **7.5.0** - GCC version: **7.5.0**
- ACRN-hypervisor branch: **v2.1** - ACRN-hypervisor branch: **v2.5**
- ACRN-Kernel (Service VM kernel): **v2.1** - ACRN-Kernel (Service VM kernel): **v2.5**
- RT kernel for Ubuntu User VM OS: **Linux kernel 4.19.59 with Xenomai 3.1** - RT kernel for Ubuntu User VM OS: **Linux kernel 4.19.59 with Xenomai 3.1**
- HW: `ROScube-I`_ - HW: `ROScube-I`_
@ -93,18 +93,50 @@ Set Up Environment
.. code-block:: bash .. code-block:: bash
sudo apt update sudo apt update
sudo apt install -y gcc git make gnu-efi libssl-dev libpciaccess-dev \ sudo apt install -y gcc \
uuid-dev libsystemd-dev libevent-dev libxml2-dev libxml2-utils \ git \
libusb-1.0-0-dev python3 python3-pip libblkid-dev \ make \
e2fslibs-dev pkg-config libnuma-dev liblz4-tool flex bison vim \
sudo pip3 install kconfiglib libssl-dev \
libpciaccess-dev \
uuid-dev \
libsystemd-dev \
libevent-dev \
libxml2-dev \
libxml2-utils \
libusb-1.0-0-dev \
python3 \
python3-pip \
libblkid-dev \
e2fslibs-dev \
pkg-config \
libnuma-dev \
liblz4-tool \
flex \
bison \
xsltproc \
clang-format \
bc
sudo pip3 install lxml xmlschema defusedxml
#. Install the iASL compiler/disassembler used for advanced power management,
device discovery, and configuration (ACPI) within the host OS:
.. code-block:: bash
cd /tmp
wget https://acpica.org/sites/acpica/files/acpica-unix-20210105.tar.gz
tar zxvf acpica-unix-20210105.tar.gz
cd acpica-unix-20210105
make clean && make iasl
sudo cp ./generate/unix/bin/iasl /usr/sbin/
#. Get code from GitHub. #. Get code from GitHub.
.. code-block:: bash .. code-block:: bash
mkdir ~/acrn && cd ~/acrn mkdir ~/acrn && cd ~/acrn
git clone https://github.com/projectacrn/acrn-hypervisor -b release_2.1 git clone https://github.com/projectacrn/acrn-hypervisor -b release_2.5
cd acrn-hypervisor cd acrn-hypervisor
Configure Hypervisor Configure Hypervisor
@ -115,16 +147,16 @@ Configure Hypervisor
.. code-block:: bash .. code-block:: bash
sudo apt install -y cpuid msr-tools sudo apt install -y cpuid msr-tools
cd ~/acrn/acrn-hypervisor/misc/acrn-config/target/ cd ~/acrn/acrn-hypervisor/misc/config_tools/board_inspector/
sudo python3 board_parser.py ros-cube-cfl sudo python3 cli.py ros-cube-cfl
cp ~/acrn/acrn-hypervisor/misc/acrn-config/target/out/ros-cube-cfl.xml \ cp ~/acrn/acrn-hypervisor/misc/config_tools/board_inspector/ros-cube-cfl.xml \
~/acrn/acrn-hypervisor/misc/acrn-config/xmls/board-xmls/ ~/acrn/acrn-hypervisor/misc/config_tools/data/
#. Run ACRN configuration app and it will open a browser page. #. Run ACRN configuration app and it will open a browser page.
.. code-block:: bash .. code-block:: bash
cd ~/acrn/acrn-hypervisor/misc/acrn-config/config_app cd ~/acrn/acrn-hypervisor/misc/config_tools/config_app
sudo pip3 install -r requirements sudo pip3 install -r requirements
python3 app.py python3 app.py
@ -142,11 +174,17 @@ Configure Hypervisor
.. figure:: images/rqi-acrn-config-scenario-settings.png .. figure:: images/rqi-acrn-config-scenario-settings.png
#. Settings "Features": "RDT_ENABLED" option must be "n".
.. figure:: images/rqi-acrn-config-features-settings.png
#. Settings "HV": You can ignore this if your RAM is <= 16GB. #. Settings "HV": You can ignore this if your RAM is <= 16GB.
.. figure:: images/rqi-acrn-config-hv-settings.png .. figure:: images/rqi-acrn-config-hv-settings.png
#. Settings "VM0": Select the hard disk currently used. #. Settings "VM0": Select the hard disk currently used.
If you system need some special bootargs (like "video=eDP-1:d"),
you can add it below.
.. figure:: images/rqi-acrn-config-vm0-settings.png .. figure:: images/rqi-acrn-config-vm0-settings.png
@ -169,12 +207,6 @@ Configure Hypervisor
.. figure:: images/rqi-acrn-config-export-xml-submit.png .. figure:: images/rqi-acrn-config-export-xml-submit.png
#. Generate configuration files.
.. figure:: images/rqi-acrn-config-generate-config.png
.. figure:: images/rqi-acrn-config-generate-config-submit.png
#. Close the browser and stop the process (Ctrl+C). #. Close the browser and stop the process (Ctrl+C).
#. Optional: Patch the hypervisor if you want to passthrough GPIO to VM. #. Optional: Patch the hypervisor if you want to passthrough GPIO to VM.
@ -190,9 +222,11 @@ Configure Hypervisor
.. code-block:: bash .. code-block:: bash
cd ~/acrn/acrn-hypervisor cd ~/acrn/acrn-hypervisor
cp misc/config_tools/data/ros-cube-cfl.xml \
misc/config_tools/data/ros-cube-cfl/ros-cube-cfl.xml
make all \ make all \
BOARD_FILE=misc/acrn-config/xmls/board-xmls/ros-cube-cfl.xml \ BOARD_FILE=misc/config_tools/data/ros-cube-cfl/ros-cube-cfl.xml \
SCENARIO_FILE=misc/acrn-config/xmls/config-xmls/ros-cube-cfl/user_defined/industry_ROS2SystemOS.xml \ SCENARIO_FILE=misc/config_tools/data/ros-cube-cfl/user_defined/industry_ROS2SystemOS.xml \
RELEASE=0 RELEASE=0
#. Install hypervisor #. Install hypervisor
@ -216,7 +250,7 @@ Build Service VM Kernel
.. code-block:: bash .. code-block:: bash
cd ~/acrn cd ~/acrn
git clone https://github.com/projectacrn/acrn-kernel -b release_2.1 git clone https://github.com/projectacrn/acrn-kernel -b release_2.5
cd acrn-kernel cd acrn-kernel
#. Restore default ACRN configuration. #. Restore default ACRN configuration.
@ -371,7 +405,7 @@ Create User VM Image
sudo apt install git build-essential bison flex libelf-dev libssl-dev liblz4-tool sudo apt install git build-essential bison flex libelf-dev libssl-dev liblz4-tool
# Clone code # Clone code
git clone -b release_2.1 https://github.com/projectacrn/acrn-kernel git clone -b release_2.5 https://github.com/projectacrn/acrn-kernel
cd acrn-kernel cd acrn-kernel
# Set up kernel config # Set up kernel config
@ -405,19 +439,6 @@ Run User VM
Now back to the native machine to set up the environment for launching Now back to the native machine to set up the environment for launching
the User VM. the User VM.
#. Manually fetch and install the ``iasl`` binary to ``/usr/bin`` (where
ACRN expects it) with a newer version of the
than what's included with Ubuntu 18.04:
.. code-block:: bash
cd /tmp
wget https://acpica.org/sites/acpica/files/acpica-unix-20210105.tar.gz
tar zxvf acpica-unix-20210105.tar.gz
cd acpica-unix-20210105
make clean && make iasl
sudo cp ./generate/unix/bin/iasl /usr/sbin/
#. Convert KVM image file format. #. Convert KVM image file format.
.. code-block:: bash .. code-block:: bash
@ -433,10 +454,15 @@ the User VM.
wget https://raw.githubusercontent.com/Adlink-ROS/ROScube_ACRN_guide/v2.1/scripts/launch_ubuntu_uos.sh wget https://raw.githubusercontent.com/Adlink-ROS/ROScube_ACRN_guide/v2.1/scripts/launch_ubuntu_uos.sh
chmod +x ./launch_ubuntu_uos.sh chmod +x ./launch_ubuntu_uos.sh
.. note:: In different models of machines, you may need to modify this
script to set which device you want to passthrough and the
memory size of the virtual machine.
#. Set up network and reboot to take effect. #. Set up network and reboot to take effect.
.. code-block:: bash .. code-block:: bash
sudo apt install net-tools wget
mkdir -p ~/acrn/tools/ mkdir -p ~/acrn/tools/
cd ~/acrn/tools cd ~/acrn/tools
wget https://raw.githubusercontent.com/Adlink-ROS/ROScube_ACRN_guide/v2.1/scripts/acrn_bridge.sh wget https://raw.githubusercontent.com/Adlink-ROS/ROScube_ACRN_guide/v2.1/scripts/acrn_bridge.sh
@ -573,6 +599,10 @@ launching the real-time VM.
wget https://raw.githubusercontent.com/Adlink-ROS/ROScube_ACRN_guide/v2.1/scripts/launch_ubuntu_rtos.sh wget https://raw.githubusercontent.com/Adlink-ROS/ROScube_ACRN_guide/v2.1/scripts/launch_ubuntu_rtos.sh
chmod +x ./launch_ubuntu_rtos.sh chmod +x ./launch_ubuntu_rtos.sh
.. note:: In different models of machines, you may need to modify this
script to set which device you want to passthrough and the
memory size of the virtual machine.
#. **Reboot to ACRN kernel** and now you can launch the VM. #. **Reboot to ACRN kernel** and now you can launch the VM.
.. code-block:: bash .. code-block:: bash