Doc: add "Deploy the UOS kernel modules for AGL"

This commit is contained in:
Xie Zhengtian 2018-12-06 15:40:33 +08:00 committed by David Kinder
parent 73161f910f
commit 2be939f3d1

View File

@ -7,6 +7,9 @@ This tutorial describes the steps to run Automotive Grade Linux (AGL)
as the User OS on ACRN hypervisor and the problems we got at current stage.
We hope the steps documented in this article could help us to reproduce the
problem much easier and provide some information for further debugging.
The regulatory model of APL NUC we used is `NUC6CAYH
<https://www.intel.com/content/www/us/en/products/boards-kits/nuc/kits/nuc6cayh.html>`_
and other platforms may work too.
.. image:: images/The-overview-of-AGL-as-UOS.png
:align: center
@ -26,36 +29,46 @@ https://www.automotivelinux.org/.
Steps for using AGL as the UOS
******************************
The regulatory model of NUC we used is `NUC6CAYH
<https://www.intel.com/content/www/us/en/products/boards-kits/nuc/kits/nuc6cayh.html>`_
and other platforms may work too.
#. Prepare the Service OS (SOS)
Follow the instructions found in the Getting started guide for Intel NUC
to setup SOS :ref:`getting-started-apl-nuc`.
#. Prepare the User OS (UOS)
Download the release of AGL from https://download.automotivelinux.org/AGL/release/eel/,
#. Download the release of AGL from https://download.automotivelinux.org/AGL/release/eel/,
and we will use ``eel_5.1.0`` release for example.
.. code-block:: none
cd ~
wget https://download.automotivelinux.org/AGL/release/eel/5.1.0/intel-corei7-64/deploy/images/intel-corei7-64/agl-demo-platform-crosssdk-intel-corei7-64.wic.xz
unxz agl-demo-platform-crosssdk-intel-corei7-64.wic.xz
You need to adjust the ``/usr/share/acrn/samples/nuc/launch_uos.sh`` script to match your installation.
$ cd ~
$ wget https://download.automotivelinux.org/AGL/release/eel/5.1.0/intel-corei7-64/deploy/images/intel-corei7-64/agl-demo-platform-crosssdk-intel-corei7-64.wic.xz
$ unxz agl-demo-platform-crosssdk-intel-corei7-64.wic.xz
#. Download the "kernel-iot-lts2018" kernel:
.. code-block:: none
$ sudo mkdir ~/uos-kernel-build
$ cd ~/uos-kernel-build
$ wget https://download.clearlinux.org/releases/current/clear/x86_64/os/Packages/linux-iot-lts2018-4.19.0-27.x86_64.rpm
$ rpm2cpio linux-iot-lts2018-4.19.0-27.x86_64.rpm | cpio -idmv
.. note::
Here we download the kernel from ``current`` Clear Linux version.
#. Deploy the UOS kernel modules to UOS virtual disk image
(note: youll need to use the same iot-lts2018 image version number noted in step 1 above):
.. code-block:: none
$ sudo losetup -f -P --show ~/agl-demo-platform-crosssdk-intel-corei7-64.wic
$ sudo mount /dev/loop0p2 /mnt
$ sudo cp -r ~/uos-kernel-build/usr/lib/modules/4.19.0-27.iot-lts2018/ /mnt/lib/modules/
$ sudo umount /mnt
$ sync
#. You need to adjust the ``/usr/share/acrn/samples/nuc/launch_uos.sh`` script to match your installation.
These are the couple of lines you need to modify:
.. code-block:: none
-s 3,virtio-blk,/root/agl-demo-platform-crosssdk-intel-corei7-64.wic \
-k /usr/lib/kernel/default-iot-lts2018 \
-B "root=/dev/vda2
-B "root=/dev/vda2 ...
.. note::
In case you have downloaded a different AGL image or store the image in other directory,
@ -63,13 +76,11 @@ and other platforms may work too.
to match what you have downloaded above.
Likewise, you may need to adjust the kernel file name to ``default-iot-lts2018``.
#. Start the User OS (UOS)
You are now all set to start the User OS (UOS).
#. Start the User OS (UOS):
.. code-block:: none
sudo /usr/share/acrn/samples/nuc/launch_uos.sh
$ sudo /usr/share/acrn/samples/nuc/launch_uos.sh
**Congratulations**, you are now watching the User OS booting up!
@ -77,7 +88,7 @@ and other platforms may work too.
.. image:: images/The-console-of-AGL.png
:align: center
When you see the output of the console above, that means AGL has been loaded
and now you could operate on the console.
@ -108,8 +119,8 @@ After that, there are still some steps need to do to launch weston in AGL:
.. code-block:: none
export XDG_RUNTIME_DIR=/run/platform/display
systemctl restart weston
$ export XDG_RUNTIME_DIR=/run/platform/display
$ systemctl restart weston
And you will be able to see the GUI of weston in AGL now.