Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document update for celadon_IoT stablerelease A12 #277

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 86 additions & 1 deletion source/release-notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,91 @@ Retail, Education, Workload consolidation and Marine segments.
:local:
:depth: 1

CIV_02.22.04.50_A12
===================

Intended audience
-----------------

* Celadon Open Source Community who has subscribed to [email protected]

Customer support
----------------

* subscribe/unsubscribe celadon mailing list using : https://lists.linuxfoundation.org/mailman/listinfo/celadon

Introduction
------------
Feature Details
---------------
* Celadon Upstreamed fixes in this release

* 1st Stable Release from Celadon_IoT for Android 12
* 99.97% Google* conformance on Alder Lake (ADL)platform with production ready
* Supporting Alder Lake (ADL) on single baseline and Single Image
* IoT configuration support SRIOV mode with 99.97% conformance
* Vm-Manager support to launch Android
Known issues
------------
* VP9 hardware codec not supported in ADL-S platform
* CTS module VtsHalMediaC2V1_0TargetVideoDecTest has regression
* Android Settings screen not scrolling properly
* Device going to junk/frozen screen for playing media file (video) with hardware codec(c2.intel.hevc.decoder), needs VM kill and launch to recover.
* Ethernet tethering option in Settings is active even when no Ethernet connected
* With UserData CheckPoint enabled build, device reboots on 1st time boot after flashing

Where to find the release
-------------------------

* Manifest Link: [Draft] https://github.com/projectceladon/manifest/blob/dfffe458de15b10107e7b791819a8d5305b85304/stable-build/CIV_02.22.04.50_A12.xml

Host Kernel Release configuration
---------------------------------

* linux-intel-lts kernel
* Branch: https://github.com/intel/linux-intel-lts
* SHA ID: https://github.com/intel/linux-intel-lts/releases/tag/lts-v5.15.71-adl-linux-221121T044440Z
* kernel-config
* Config-File: https://github.com/projectceladon/vendor-intel-utils-vertical-iot/blob/main/x86_64_defconfig

Reference configuration
-----------------------

* Supported hardware
======================= =======
Platform Product
----------------------- -------
Alder Lake(ADL) | ADL RVP DDR5 C1 CPU 12th Gen Intel(R) Core(TM) i9-12900E
======================= =======

* Supported software
* Android CIV Guest:
======================= =======
Platform Product
----------------------- -------
Android | Android 12
Kernel | 5.10.145 (lts-v5.10.145-civ-android-221027T031053Z)
AOSP | android-12.0.0_r28
======================= =======

* Ubuntu Host:
======================= =======
Platform Product
----------------------- -------
Qemu | version 7.1.0
Ubuntu | 22.04 LTS (Jammy Jellyfish)
Kernel_IoTG | 5.15.71 (lts-v5.15.71-adl-linux-221121T044440Z)
======================= =======

Validation results
------------------

Stable Releases (IoT) are validated with SR-IOV mode on Alder Lake(ADL)Intel® platform in the following function domains. Validation cycles are performed on GMS user signed widevine enabled image as required by google certification requirements

.. figure:: stable-release_iot/images/sep22_Validation_Result2.png
:align: right
:width: 750px

CIV_03.22.03.37_A11
===================

Expand Down Expand Up @@ -60,7 +145,7 @@ Host Kernel Release configuration
* Branch: https://github.com/intel/linux-intel-lts/tree/5.4/yocto
* SHA ID: https://github.com/intel/linux-intel-lts/releases/tag/lts-v5.4.209-yocto-220817T175100Z
* kernel-config
* Config-File: https://github.com/projectceladon/vendor-intel-utils-vertical-iot/blob/main/x86_64_defconfig
* Config-File: https://github.com/projectceladon/vendor-intel-utils-vertical-iot/blob/android/r/x86_64_defconfig


Reference configuration
Expand Down
15 changes: 15 additions & 0 deletions source/stable-release_iot/android-11.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.. _android-11:

Android 11 Stable Releases IoT
##############################

Android 11 Stable Releases (IoT) is an Internet of Things (IoT) overlay on top of |C|. The
Stable Releases (IoT) release provides users with an extensive set of features on
Comet Lake (CML), Tiger Lake (TGL), and Elkhart Lake (EHL) platforms with a single
Baseline/Image of Android 11

.. toctree::
:maxdepth: 2

feature-delta-iot-a11
user-guide-a11
14 changes: 14 additions & 0 deletions source/stable-release_iot/android-12.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. _android-12:

Android 12 Stable Releases IoT
##############################

Android 12 Stable Releases (IoT) is an Internet of Things (IoT) overlay on top of |C|. The
Stable Releases (IoT) release provides users with an extensive set of features on
Alder Lake (ADL) platforms with a single Baseline/Image of Android 12

.. toctree::
:maxdepth: 2

feature-delta-iot-a12
user-guide-a12
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
.. _feature-delta-iot:

Feature Delta Offered by Stable Releases (IoT)
##############################################

Expand Down
113 changes: 113 additions & 0 deletions source/stable-release_iot/feature-delta-iot-a12.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
Feature Delta Offered by Stable Releases (IoT)
##############################################

Here are the additional features provided by Stable Releases (IoT).

.. contents::
:depth: 1
:local:

* 99.97% Google\* conformance on Alder Lake (ADL)platform with production ready
* Supporting Alder Lake (ADL) on single baseline and Single Image
* IoT configuration support SRIOV mode with 99.97% conformance
* Vm-Manager support to launch Android

Real-time clock (RTC) and alarm virtualization
**********************************************

The Celadon in Virtual Machine (CiV) project may require operations on the
RTC device, such as changes to current time and setups of alarm, to be
synced to host and persistent across reboots. RTC device is purely emulated
by QEMU and its state will be lost after exit of QEMU process, furthermore,
guest RTC alarm is unable to wake up the guest after host suspends, which is
the case in when using --host-pm-control option in CiV.

The solution is to modify the emulated RTC device so that it emits QMP
events upon certain operations and uses a QMP client running on host to
receive the QMP events and sync the operations to host accordingly.

.. figure:: images/rtc.png
:width: 500px
:align: center

Figure 1 : Architecture Diagram of RTC Time Virtualization

Whenever the guest RTC alarm time is set, QEMU emits an RTC_CHANGE
event to QMP client. The QMP client can then set up a host RTC alarm
accordingly.

.. figure:: images/alarm.png
:width: 500px
:align: center

Figure 2 : Architecture Diagram of RTC Alarm Virtualization

Whenever the expire time of the guest RTC alarm changes, QEMU emits an
RTC_ALARM event to the QMP client, and the QMP client can then set up a host
RTC alarm accordingly. In the case of host suspension, the host alarm wakes
up the host and notifies the QMP client. Then, the QMP client sends an
rtc-refresh-timer command to QEMU, to ensure that QEMU wakes up the guest.

Secure data erase
*****************

In |C|, all partitions are inside a single guest virtual disk image file on
the host with the disk controller emulated by QEMU. The underlying actual
storage hardware technology be it magnetic or solid state is transparent to
the Android\* VM.

As such, due to emulation, secure partition erase would be to fall back to
“byte-by-byte overwrite” to the virtual partition. This “byte-by-byte
overwrite” operation is not solid state storage friendly.

To provide secure data erase of data partition, following enhancement is
needed in CiV:

Addition of secure data erase to make use of storage controller hardware
secure erase feature, when it is supported in hardware to erase data
partition and only finally fall back to byte-by-byte override 0 when not
supported during Android recovery/wipe data process.

1. Guest virtual disk image file enhancement

In CiV, all Android required partitions are resided in the same
guest virtual disk image file in host.

To support the enhancements to add secure data partition erase via
hardware controller secure erase where supported, the data partition
needs to be separated from the main Celadon CiV guest disk image
file. This allows to pass a true host partition to QEMU CiV launch
parameters as a separate emulated disk for secure data erase.

.. figure:: images/sde.png
:width: 750px
:align: center

Figure 3 : Host/Guest VM disk/file view after SDE enhancements
illustrates the changes in CiV guest image file in the host

2. Secure data erase enhancement

In AOSP for data partition erase, this is performed by recovery tool
when “--wipe-data” is written to ``/cache/recovery/command``. In generic
AOSP data partition will have a secure partition wipe if it has
encryption keys for the volume before any reformatting of the
partition.

For SDE enhancement, to add secure erase of the data partition via
hardware controller feature, vsock communication between AOSP
recovery tool and host side daemon application is added to add data
partition secure erase prior to Android reformat of data partition.

The host side daemon application is added to perform secure data
partition wipe using hardware controller supported erase mechanism
such as via ``BLKSECDISCARD/BLKDISCARD`` command if supported before
falling back to ``BLKZEROOUT`` commands if none of the former are
supported.

.. figure:: images/sde_enc.png
:width: 500px
:align: center

Figure 4 : Data partition secure erase

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, LGTM, feature delta between A11 and A12 is also more or less same.

8 changes: 4 additions & 4 deletions source/stable-release_iot/stable-release_iot.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ Stable Releases IoT

Stable Releases (IoT) is an Internet of Things (IoT) overlay on top of |C|. The
Stable Releases (IoT) release provides users with an extensive set of features on
Comet Lake (CML), Tiger Lake (TGL), and Elkhart Lake (EHL) platforms with a single
Baseline/Image.
Android 11: Comet Lake (CML), Tiger Lake (TGL), and Elkhart Lake (EHL) platforms with a single Baseline/Image
Android 12: Alder Lake (ADL) platforms with a single Baseline/Image

Stable Releases (IoT) empowers the community to utilize 100% compliance on the
supported platforms with continuous updates with ASBs.

.. toctree::
:maxdepth: 2

feature-delta-iot
user-guide
android-12
android-11
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ Host kernel build steps

# copy kernel config
$ cd <source path>
$ wget https://github.com/projectceladon/vendor-intel-utils-vertical-iot/blob/main/x86_64_defconfig
$ wget https://github.com/projectceladon/vendor-intel-utils-vertical-iot/blob/android/r/x86_64_defconfig
$ cp x86_64_defconfig .config
$ echo ""| make ARCH=x86_64 olddefconfig

Expand Down
Loading