mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-29 08:47:24 +00:00
Doc: add "Deploy the UOS kernel modules for AGL"
This commit is contained in:
parent
73161f910f
commit
2be939f3d1
@ -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.
|
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
|
We hope the steps documented in this article could help us to reproduce the
|
||||||
problem much easier and provide some information for further debugging.
|
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
|
.. image:: images/The-overview-of-AGL-as-UOS.png
|
||||||
:align: center
|
:align: center
|
||||||
@ -26,36 +29,46 @@ https://www.automotivelinux.org/.
|
|||||||
Steps for using AGL as the UOS
|
Steps for using AGL as the UOS
|
||||||
******************************
|
******************************
|
||||||
|
|
||||||
The regulatory model of NUC we used is `NUC6CAYH
|
#. Download the release of AGL from https://download.automotivelinux.org/AGL/release/eel/,
|
||||||
<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/,
|
|
||||||
and we will use ``eel_5.1.0`` release for example.
|
and we will use ``eel_5.1.0`` release for example.
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
cd ~
|
$ 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
|
$ 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
|
$ unxz agl-demo-platform-crosssdk-intel-corei7-64.wic.xz
|
||||||
|
|
||||||
|
#. Download the "kernel-iot-lts2018" kernel:
|
||||||
You need to adjust the ``/usr/share/acrn/samples/nuc/launch_uos.sh`` script to match your installation.
|
|
||||||
|
.. 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: you’ll 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:
|
These are the couple of lines you need to modify:
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
-s 3,virtio-blk,/root/agl-demo-platform-crosssdk-intel-corei7-64.wic \
|
-s 3,virtio-blk,/root/agl-demo-platform-crosssdk-intel-corei7-64.wic \
|
||||||
-k /usr/lib/kernel/default-iot-lts2018 \
|
-k /usr/lib/kernel/default-iot-lts2018 \
|
||||||
-B "root=/dev/vda2
|
-B "root=/dev/vda2 ...
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
In case you have downloaded a different AGL image or store the image in other directory,
|
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.
|
to match what you have downloaded above.
|
||||||
Likewise, you may need to adjust the kernel file name to ``default-iot-lts2018``.
|
Likewise, you may need to adjust the kernel file name to ``default-iot-lts2018``.
|
||||||
|
|
||||||
#. Start the User OS (UOS)
|
#. Start the User OS (UOS):
|
||||||
|
|
||||||
You are now all set to start the User OS (UOS).
|
|
||||||
|
|
||||||
.. code-block:: none
|
.. 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!
|
**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
|
.. image:: images/The-console-of-AGL.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
When you see the output of the console above, that means AGL has been loaded
|
When you see the output of the console above, that means AGL has been loaded
|
||||||
and now you could operate on the console.
|
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
|
.. code-block:: none
|
||||||
|
|
||||||
export XDG_RUNTIME_DIR=/run/platform/display
|
$ export XDG_RUNTIME_DIR=/run/platform/display
|
||||||
systemctl restart weston
|
$ systemctl restart weston
|
||||||
|
|
||||||
And you will be able to see the GUI of weston in AGL now.
|
And you will be able to see the GUI of weston in AGL now.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user