diff --git a/doc/tutorials/using_agl_as_uos.rst b/doc/tutorials/using_agl_as_uos.rst index 42f0648ad..c5e04f779 100644 --- a/doc/tutorials/using_agl_as_uos.rst +++ b/doc/tutorials/using_agl_as_uos.rst @@ -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 +`_ +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 -`_ -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: 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: .. 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.