diff --git a/source/release-notes.rst b/source/release-notes.rst index 454e3e6c..8e02a30a 100644 --- a/source/release-notes.rst +++ b/source/release-notes.rst @@ -21,6 +21,109 @@ 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 celadon@lists.linuxfoundation.org + +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 + * This release supports Alder Lake-S (ADL-S) + * IoT configuration support SRIOV mode with 99.97% conformance on Alder Lake (ADL)platform with production ready + * Vm-Manager support to launch Android + +Release Constraint list +----------------------- +* VP9 hardware codec is not enabled in the current release due to hardware constraint +* Sensor support is not enabled in current release due to hardware constraint. +* The current QEMU release doesn’t support RGBA8888 color format which impact RGBA8888 usage on Android guest os application +* USB accessory mode is not supported in the current release. +* MAC randomization feature is not supported in the current release. +* Partner modules aren’t integrated within the current GMS package. +* NN API is not supported in the current release. +* Hardware doesn’t have inbuilt cameras, only usb external camera is supported. + +Known issues +------------ +* Ethernet tethering option in Settings menu is active even when no USB Ethernet Adaptor connected +* System touch can’t accurately point the location +* With UserData CheckPoint feature enabled, device reboots after 1st time boot while flashing is done +* Windows freeform feature has been partially backported from Android T + +Open Issue List +--------------- +* 16019209010 VtsHalMediaC2V1_0TargetVideoDecTest module +* 16017487117 x86_64 CtsMediaTestCases failures +* 16017342135 STS CtsSecurityTestCases failing +* 16018517871 CtsMediaV2TestCases failures related to HEVC profilelevel +* 16017974748 Failures are observed with x86_64 CtsDeqpTestCases module + +Where to find the release +------------------------- + +* Manifest Link: https://github.com/projectceladon/manifest/blob/master/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 + Network Interface Card | Intel® Wireless-AC 9260 5th Generation Intel802.11ac, Dual Band, 2x2Wi-Fi + Bluetooth®5.1 + ======================= ======= + +* 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/Q422-A12_Validation_Result.png + :align: right + :width: 750px + CIV_03.22.03.37_A11 =================== @@ -60,7 +163,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 diff --git a/source/stable-release_iot/android-11.rst b/source/stable-release_iot/android-11.rst new file mode 100644 index 00000000..3d14008d --- /dev/null +++ b/source/stable-release_iot/android-11.rst @@ -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 diff --git a/source/stable-release_iot/android-12.rst b/source/stable-release_iot/android-12.rst new file mode 100644 index 00000000..97fd8f89 --- /dev/null +++ b/source/stable-release_iot/android-12.rst @@ -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 diff --git a/source/stable-release_iot/feature-delta-iot.rst b/source/stable-release_iot/feature-delta-iot-a11.rst similarity index 99% rename from source/stable-release_iot/feature-delta-iot.rst rename to source/stable-release_iot/feature-delta-iot-a11.rst index b8e87f08..f3c7bfb9 100644 --- a/source/stable-release_iot/feature-delta-iot.rst +++ b/source/stable-release_iot/feature-delta-iot-a11.rst @@ -1,5 +1,3 @@ -.. _feature-delta-iot: - Feature Delta Offered by Stable Releases (IoT) ############################################## diff --git a/source/stable-release_iot/feature-delta-iot-a12.rst b/source/stable-release_iot/feature-delta-iot-a12.rst new file mode 100644 index 00000000..d477bfeb --- /dev/null +++ b/source/stable-release_iot/feature-delta-iot-a12.rst @@ -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 + diff --git a/source/stable-release_iot/images/Q422-A12_Validation_Result.png b/source/stable-release_iot/images/Q422-A12_Validation_Result.png new file mode 100644 index 00000000..d56f99d7 Binary files /dev/null and b/source/stable-release_iot/images/Q422-A12_Validation_Result.png differ diff --git a/source/stable-release_iot/stable-release_iot.rst b/source/stable-release_iot/stable-release_iot.rst index 684ee150..f56c37b0 100644 --- a/source/stable-release_iot/stable-release_iot.rst +++ b/source/stable-release_iot/stable-release_iot.rst @@ -5,8 +5,8 @@ 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. @@ -14,5 +14,5 @@ supported platforms with continuous updates with ASBs. .. toctree:: :maxdepth: 2 - feature-delta-iot - user-guide + android-12 + android-11 diff --git a/source/stable-release_iot/user-guide.rst b/source/stable-release_iot/user-guide-a11.rst similarity index 99% rename from source/stable-release_iot/user-guide.rst rename to source/stable-release_iot/user-guide-a11.rst index 2cd4f3c6..0163a490 100644 --- a/source/stable-release_iot/user-guide.rst +++ b/source/stable-release_iot/user-guide-a11.rst @@ -116,7 +116,7 @@ Host kernel build steps # copy kernel config $ cd - $ 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 diff --git a/source/stable-release_iot/user-guide-a12.rst b/source/stable-release_iot/user-guide-a12.rst new file mode 100644 index 00000000..fe2ce7a4 --- /dev/null +++ b/source/stable-release_iot/user-guide-a12.rst @@ -0,0 +1,428 @@ +.. _user-guide: + +User Guide +########## + +System Requirements +******************* + +Recommended system requirements for Host: + +* CPU: 4 cores or more +* RAM: 8 GB or more +* Hard-Disk: 500 GB + +How to install this release +*************************** + +Celadon build steps +=================== + +Follow the development environment set up instructions in +``_ for |C| build host setup. + +Manifest Link: https://github.com/projectceladon/manifest/blob/master/stable-build/CIV_02.22.04.50_A12.xml + +Prerequisites and host kernel build steps: + +Prerequisites + +* Install Ubuntu\* 18.04 LTS +* If operating behind a corporate firewall, setup the proxy + settings +* Install the following packages + +.. code-block:: bash + + $ sudo apt install -y git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison rsync kmod cpio + +Host kernel build steps +======================= + +Requirement: + +* x86_64_defconfig [Make sure downloaded file is not html] +Defconfig_link: https://github.com/projectceladon/vendor-intel-utils-vertical-iot/blob/main/x86_64_defconfig + +.. code-block:: bash + + # Sync kernel + # Note that this will pick up the latest on the branch + $ git clone https://github.com/intel/linux-intel-lts.git + + # Change directory + $ cd linux-intel-lts + + # Checkout to specific commit (Refer to release notes for SHA ID) + $ git checkout lts-v5.15.71-adl-linux-221121T044440Z + + $ cp x86_64_defconfig .config + $ echo ""| make ARCH=x86_64 olddefconfig + + # Make kernel debian package + $ make ARCH=x86_64 -j16 LOCALVERSION=-lts2021-iotg bindeb-pkg + + # To find output files + $ find .. -name "*.deb" + ../linux-image-5.15.71-lts2021-iotg-dbg_5.15.71-lts2021-iotg-1_amd64.deb + ../linux-headers-5.15.71-lts2021-iotg_5.15.71-lts2021-iotg-1_amd64.deb + ../linux-image-5.15.71-lts2021-iotg_5.15.71-lts2021-iotg-1_amd64.deb + ../linux-libc-dev_5.15.71-lts2021-iotg-1_amd64.deb + + # Copy built .deb packages to use during Installing Ubuntu host kernel + $ cd .. + $ cp *.deb + +For Celadon Host OS hardening recommendations see: +https://github.com/projectceladon/celadon-documentation/blob/master/source/getting-started/host-os-hardening.rst + + +Build Celadon from Source +========================= + +Celadon Source Requirements: + +* CIV_02.22.04.50_A12.xml + +.. code-block:: bash + + # Create symbolic link for Python if not already exists in ‘/usr/bin’ directory + $ sudo ln -s /usr/bin/python3 /usr/bin/python + +Steps to sync to this release: + +.. code-block:: bash + + # Init with the default manifest + $ mkdir + $ cd + $ repo init -u https://github.com/projectceladon/manifest.git + + # Copy the CIV manifest and use it + $ cp /CIV_02.22.04.50_A12.xml .repo/manifests/ + $ repo init -u https://github.com/projectceladon/manifest.git -m CIV_02.22.04.50_A12.xml + #NOTE : Manifest tag will change according to the latest release + + # Sync the code + $ repo sync -c -q -j${nproc} + $ repo for all -c git lfs pull + +Step to generate the Android-CIV\* Image: + +.. code-block:: bash + + # Perform the environment setup from directory where repo is initialized + $ source build/envsetup.sh + + # Select userdebug variant + $ lunch caas-userdebug + + # Start the build + $ make flashfiles BASE_LTS2020_YOCTO_KERNEL=true -j $(nproc) + + + # Build output (CIV flashfiles) + $ find out/target/product/caas/ -name caas-releasefiles-*.zip + out/target/product/caas/caas-releasefiles-xxxxx.zip + + +Change to the ADL target directory and copy caas-releasefiles-userdebug.tar.gz to the target director + +DUT setup +********* + +Hardware details: + +* HW Alder Lake (ADL) DUT details + * For ADL RVP DDR5 C1 CPU + * BIOS Version ADLSFWI1.R00.3225.B00.2205270548 + +.. note:: + Every type of Guest VM configuration has a minimum required number of assigned cores/vCPUs. + Not meeting minimum cores requirement will result in degraded performance + +BIOS setting: + +* Intel®(VMX) Virtualization Technology (Intel® VT) + + * Settings: Intel Advance Menu-> CPU Configurations + Intel (VMX) Virtualization: Enabled + +* Intel® Virtualization Technology (Intel® VT) for + + * Settings: Intel Advance Menu-> System Agent (SA) Configuration + VT-d: Enabled + +* SRIOV Enable + + * Settings: Intel Advance Menu-> System Agent (SA) Configuration - + Graphics Configuration: Enabled + +* Intel(R) TCC Mode + + * Settings: Intel Advance Menu-> Intel(R) Time Coordinated Computing + TCC: Disabled + +.. note:: + The menu structure may differ due to BIOS differences + +Host setup +********** + +Prerequisites: + +Install Ubuntu 22.04 LTS: + +* Download and install the Ubuntu 22.04 LTS from the official Ubuntu website: https://www.releases.ubuntu.com/22.04/ubuntu-22.04.1-desktop-amd64.iso +* If operating behind a corporate firewall, setup the proxy settings + +Installation Scripts Required: + +* sriov_patches.zip +* ubuntu_kvm_multios_scripts.zip +From release package ADL link: +https://www.intel.com/content/www/us/en/secure/design/confidential/software-kits/kit-details.html?kitId=757435&s=Newest + +Setup Ubuntu host: + +* Set the default download server to “Main server” in “Software & Updates” GUI +* Go to Applications and launch “Software & Updates”, and in “Ubuntu Software” tab, select Download from: “Main server” + +.. note:: + SRIOV related content available under NDA + +.. code-block:: bash + + # Reboot into the Ubuntu host image + # Change directory + $ cd ~ + + # Please use these commands to update and upgrade the Ubuntu with the latest software packages. + $ sudo apt -y update + $ sudo apt -y upgrade + + # Reboot the system + $ sudo reboot now + + # Copy the artifact + $ cd + $ cp /sriov_patches.zip . + $ cp /ubuntu_kvm_multios_scripts.zip . + + # Extract files + $ unzip sriov_patches.zip + $ unzip -jo ubuntu_kvm_multios_scripts.zip + + + # This will install kernel and firmware, and update grub + # Copy .deb package generated in Host kernel build steps above + # If prompted, answer y to go ahead with changes + $ sudo ./sriov_setup_kernel.sh + + # After rebooting, check that the kernel is the installed version. + $ uname -r + 5.15.71-lts2021-iotg + +Setup the Host OS for SRIOV +**************************** +Perform the setup for Ubuntu OS. Please unzip to ```` directory + +.. code-block:: bash + + # If prompted, answer y to go ahead with changes + $ sudo ./sriov_setup_ubuntu.sh + + # Check if Host OS is running in SR-IOV PF mode + $ dmesg | grep SR-IOV + i915 0000:00:02.0: Running in SR-IOV PF mode + # Check Host OS GuC and HuC Firmware Version + $ dmesg | grep GuC + i915 0000:00:02.0: [drm] GuC firmware i915/tgl_guc_70.bin version 70.5.1 + i915 0000:00:02.0: [drm] GuC submission enabled + $ dmesg | grep HuC + i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc.bin version 7.9.3 + i915 0000:00:02.0: [drm] HuC authenticated + +.. note:: + If need to run any reliability or benchmark test, + please run the commands below to disable auto suspend and hibernate on Ubuntu host + +.. code-block:: bash + + # Disable suspend and hibernate service + $ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target + + # Reboot Ubuntu host + $ sudo reboot now + +Android Guest VM Setup +********************** +Follow the development environment set up instructions in +``_ for |C| build host setup. + +Users of Celadon-in-VM (CIV) release must ensure that Celadon platform host OS hardening measures are in place to ensure that the host OS could be treated as part of the secure computing base. This is essential to ensuring CIV security could be trusted in CIV operations. + +.. code-block:: bash + + # Copy the artifact + $ cp caas-releasefiles-userdebug.tar.gz + + # Extract files + $ cd + $ tar xzvf caas-releasefiles-userdebug.tar.gz + + # Prepare setup_host.sh + $ chmod +x ./scripts/setup_host.sh + # Update the host + # If prompted, answer ‘Y’ for all options to go ahead with changes + $ sudo -E ./scripts/setup_host.sh + +Create Android VM Image +======================= +Create Android CIV image for running as VM in ADL target + +.. code-block:: bash + + # Change directory + $ cd + # Generate CIV disk image from caas-flashfiles. + # The script and flashfiles have already been extracted from caas-releasefiles-userdebug.tar.gz + # Wait for "Flashing is completed" msg from script. + $ sudo -E ./scripts/start_flash_usb.sh caas-flashfiles-.zip --display-off + +Running Android* 12 +******************** + +This section describes the steps to run Android 12 VM on the ADL platform + +* VM Launch +Launch Celadon Android Guest VM + +.. code-block:: bash + + # Launch the Android CIV Guest VM + $ sudo vm-manager -b civ-sriov + +Guest VM Configuration Options +****************************** + +Android 12 Guest VM Memory and Number of CPUs +============================================= + +Edit the memory and vcpu sections of the configuration ini file at ``/.intel/.civ/civ-sriov.ini.`` + +.. code-block:: bash + + # Enable USB Devices in Guest VM + # [memory] + size=4G + + # [vcpu] + num=4G + +.. note:: + A passthrough device option can only be used once, because a device can be passed through to only one guest VM at a time. + The passthrough is defined in the configuration ini file. + +Android 12 guest VM USB device passthrough +========================================== + +.. code-block:: bash + + # Find the PCI ID of the USB device + $ $ lspci -nn -D | grep USB + 0000:00:14.0 USB controller [0c03]: Intel Corporation Device [8086:7ae0] (rev 11) + 0000:00:14.1 USB controller [0c03]: Intel Corporation Device [8086:7ae1] (rev 11) + 0000:05:00.0 USB controller [0c03]: Intel Corporation Thunderbolt 4 NHI [Maple Ridge 4C 2020] [8086:1137] + 0000:07:00.0 USB controller [0c03]: Intel Corporation Thunderbolt 4 USB Controller [Maple Ridge 4C 2020] [8086:1138] + + # Edit the passthrough section of the configuration ini file at /home//.intel/.civ + # [passthrough] + # Specify the PCIe ID of the device for the passthrough to guest, separate them with comma + $ passthrough_pci=0000:00:14.0,0000:00:14.1,0000:05:00.0,0000:07:00.0, + + + +Enable PCIe Wi-Fi Adapter Device in Guest VM +============================================ + +This section describes steps to enable PCIe + +.. code-block:: bash + + $ lspci -nn -D | grep Wi-Fi + 0000:02:00.0 Network controller [0280]: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz [8086:2725] (rev 1a) + # Then edit the passthrough section of the configuration ini file at /home//.intel/.civ. + +.. note:: + A passthrough device option can only be used once, because a device can be passthrough to only 1 guest VM at a time + For Android 12 guest VM, find the PCI ID of the Wi-Fi device + +Enable logging for Android 12 Guest VM +====================================== + +This section describes steps to enable debug logging + +.. code-block:: bash + + # Edit the extra section of the configuration ini file at /home//.intel/.civ. + [extra] + cmd=-chardev socket,id=ch0,path=/tmp/civ1-console,server=on,wait=off,logfile=/tmp/civ1_serial.log -serial chardev:ch0 + + [passthrough] + #specified the PCI id here if you want to passthrough it to guest, separate them with comma + passthrough_pci=0000:02:00.0 + + # Connect to Android 12 Guest VM console for any debugging + # Connect to Celadon guest console + $ sudo socat unix-connect:/tmp/civ1-console stdio + +Launch Guest VM on Single Display and Full Screen Mode +====================================================== + +Edit the extra section of the configuration ini file at /home//.intel/.civ + +.. code-block:: bash + + # different according to the use cases. + [extra] + cmd=-full-screen + +.. note:: + The amount of memory and cores allocated might be different according to each platform. + +Shutdown VMs and System +======================= + +Shutdown Android VM via Android ADB connection + +.. code-block:: bash + + # Connect via ADB from remote machine via host machine IP + $ adb connect xxx.xxx.xxx.xxx + # shutdown Android + $ adb reboot -p + +Acronyms and terms +****************** + +* Stable Releases (IoT) - IOTG overlay on top of Celadon + +* CIV - Celadon in Virtual Machine + +* ADL: ALDER LAKE + +* GVT-d : Intel® Graphics Virtualization Technology -g (Intel® GVT-g): virtual + graphics processing unit (vGPU) (multiple VMs to one physical GPU) + +* SR-IOV: Single Root IO Virtualization + +Helpful hints / related documents +********************************* + +* If you plan to use Celadon in a product, please replace all the test keys + under ``device/intel/build/testkeys/`` with your product key +* The release of this project will be signed by test keys; it's only a + reference for our customer and we are not responsible for this. Customers + should use their own keys to sign their release images +* Build Celadon in VM https://projectceladon.github.io/celadon-documentation/getting-started/build-source.html