-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
swaroopbalan
committed
Feb 19, 2024
0 parents
commit 984ca28
Showing
202 changed files
with
52,597 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: db7edc6d62efaf99c404e90f52cd3418 | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,152 @@ | ||
.. _faqs: | ||
|
||
Frequently Asked Questions | ||
########################## | ||
|
||
:Q: | ||
What is the new Project |C| release? | ||
:A: | ||
The new Project |C| release refers to the source code that makes up | ||
the September 2019 Project |C| Release (**20-Sept-2019**), and each | ||
release since. While Project |C| had long supported Android* on bare | ||
metal deployments using Intel® Architecture, there was no support for | ||
virtualized deployments of Android on Intel architecture. The |C| | ||
community filled that gap with the September 2019 release, which allows | ||
one Android image to be deployed across Virtual Machines (VM) on | ||
Intel® architectures. |C| source code can be used across a variety of | ||
Intel hardware, including | ||
`Intel® NUC Kit NUC6CAYH <https://www.intel.com/content/www/us/en/products/boards-kits/nuc/kits/nuc6cayh.html>`_. | ||
Please check out :ref:`release-notes` for all the latest detailed release features. | ||
|
||
:Q: | ||
Why might developers and independent software vendors want to use |C| | ||
in VM? | ||
:A: | ||
The new Project |C| packaging still only takes one step to install, | ||
and in addition to gaining VM and container support for Android on | ||
Intel® Architecture, developers and | ||
:abbr:`ISVs (Independent Software Vendors)` will continue | ||
experiencing: | ||
|
||
* Open platform enabling helping developers speed time to market | ||
across a variety of infrastructures | ||
* Compliance with the Android Compatibility Test Suite (CTS), | ||
as well as | ||
`additional test suites <https://01.org/projectceladon/documentation/tutorials/test-strategy>`_ | ||
on leading platforms and configurations | ||
* Functionality across a | ||
:ref:`variety of Intel hardware <run-as-service>`, | ||
including `Intel® NUC Kit NUC6CAYH <https://www.intel.com/content/www/us/en/products/boards-kits/nuc/kits/nuc6cayh.html>`_ | ||
* Rich vertical solution configurations allowing for ease of | ||
scalability and extensibility across market segments | ||
|
||
|
||
.. list-table:: | ||
:header-rows: 1 | ||
|
||
* - | ||
- Celadon in VM | ||
* - | Operating | ||
| System | ||
- | Virtualized Celadon deployments include Celadon running | ||
| as a guest operating system in a virtual machine, in a | ||
| virtualized environment. | ||
* - | Security | ||
| & Isolation | ||
- | Running Celadon in a virtualized environment provides a | ||
| stronger separation between guest VMs and host VM, leading | ||
| to superior component isolation vs containerized deployments. | ||
* - | Resource | ||
| Consumption | ||
| & Density | ||
- | Virtualized Celadon deployments run at moderate densities; | ||
| less than containerized deployments, but more than bare | ||
| metal deployments. | ||
:Q: | ||
Can |C| still be run on bare metal? | ||
:A: | ||
Intel supports VM and Container configurations for |C|. Users can potentially | ||
take the opensource |C| project and run in different configurations including | ||
Native. | ||
|
||
.. note:: | ||
Users should be aware that test suites provided by Google may not | ||
pass with 100% scoring if deploying |C| on bare metal systems. | ||
While |C| in VM deployments are supported by `Google Mobile Services (GMS) | ||
<https://www.android.com/gms/>`_, Celadon on bare metal does not have | ||
GMS support. Dedicated use cases like retail, client, education and | ||
gaming do not need GMS. If there is a need for GMS while running | ||
|C| on bare metal, direct communication with Google will be necessary. | ||
|
||
:Q: | ||
What are some example use cases and workload/applications that benefit from the new Celadon releases? | ||
:A: | ||
`Digital Signage <https://01.org/projectceladon/digital-signage-solutions-android-intel-architectures>`_ | ||
and Secure Payment solutions are ideal for virtualized deployments, due | ||
to the high security and scalability virtualized deployments provide. | ||
With Celadon in VM, however, developers and ISVs can continue utilizing | ||
Intel® hardware acceleration while having the flexibility to customize | ||
to the latest Android applications. | ||
|
||
Overall, virtualized and containerized workloads are pervasive. | ||
Customers demand support for each workload deployment type - | ||
particularly for Android workloads. The latest Celadon release allows | ||
developers and ISV's to consolidate workloads under one image, leading | ||
to boundless opportunities to provide broad market support. | ||
|
||
:Q: | ||
Where can I learn more about Celadon in VM or Celadon in Containers? | ||
:A: | ||
There are many ways users can learn more, starting with accessing | ||
release notes and `software <https://github.com/projectCeladon>`_. | ||
Users can learn more by subscribing to the | ||
`Project Celadon mailing list <https://lists.linuxfoundation.org/mailman/listinfo/celadon>`_. | ||
Mailing list subscribers are kept up to date on the latest Celadon | ||
releases, updates and tools. Subscribers are also invited to Project | ||
Celadon focused events, like our monthly | ||
`Technical Community Meetings <https://01.org/projectceladon/community#technical-community-meetings>`_, which provide a space for | ||
discussion around Celadon technical topics. | ||
|
||
:Q: | ||
**What license(s) does |C| use?** | ||
:A: | ||
|C| consists of permissive and copyleft licenses such as BSD, MIT, | ||
Apache and GPL licenses. Use, reproduction and distribution of | ||
components of |C| licensed under an open source software license are | ||
governed solely by the terms of that open source software license. | ||
Please refer and comply to the open source software license found in the | ||
source code files or repositories. Certain licenses such as Google | ||
Mobile Services or Widevine are not included in |C|. | ||
|
||
:Q: | ||
**What Android desserts are supported in Celadon?** | ||
:A: | ||
The latest Android dessert is supported as soon as Google publicly | ||
releases the dessert. Please see the :ref:`release-notes` for the latest | ||
supported desserts. | ||
|
||
:Q: | ||
**Will the latest Celadon work on older hardware that was previously | ||
supported?** | ||
:A: | ||
|C| supports a variety of reference platforms, in addition to being | ||
device independent. Developers have the option to use an older manifest | ||
file to build an image for previously supported hardware, but |C|'s main | ||
focus is enabling on the latest Intel platforms. As such, support on | ||
older platforms may be limited. | ||
|
||
:Q: | ||
**How could I start adding software components to my own |C| build?** | ||
:A: | ||
|C| follows the same practice as Android for adding software components | ||
to the build. | ||
|
||
:Q: | ||
**I would like to contribute. Would Intel accept my contributions?** | ||
:A: | ||
Yes, we welcome contributions! Since Intel is responsible for the | ||
product management and core stack of |C|, what ultimately is accepted is | ||
at the maintainers' discretion. We will determine if it's a good fit, | ||
then contributions will go through a review and verification process to | ||
maintain quality. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
.. _run-as-service: | ||
|
||
Run Project |C| on Intel® architectures | ||
======================================= | ||
|
||
The following diagrams illustrate the overall |C| software architecture. | ||
|C| is designed to be fully compliant with Google* Android* compatibility definitions, | ||
ensuring affinity and security of applications running on the stack. | ||
The *Auto Adaptation Framework* (**AAF**) is the key component that makes Celadon unique. | ||
It automatically detects and binds system kernel drivers, and loads | ||
the :abbr:`HAL (Hardware Abstraction Layer)` modules and configurations | ||
for a variety of devices exposed on Intel platforms. | ||
Therefore, whether running Android applications in virtual machines (VMs) | ||
or containers, they are all served by a single Celadon image with a unified | ||
architecture, accelerating development of broad workload consolidation | ||
use cases from Edge to Cloud. | ||
|
||
.. figure:: images/civ-arch.png | ||
:align: center | ||
|
||
.. note:: | ||
:abbr:`CiV (Celadon in VM)` is currently under early development. This is an | ||
early Pre-Production CiV release for evaluation and development purposes. | ||
|
||
.. toctree:: | ||
:maxdepth: 1 | ||
|
||
on-vm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,167 @@ | ||
.. _build-from-source: | ||
|
||
Build |C| From Source | ||
##################### | ||
|
||
This page explains the prerequisites and steps to set up your environment, | ||
download source code, and build |C| from source. | ||
|
||
.. contents:: | ||
:local: | ||
:depth: 1 | ||
|
||
Prerequisites | ||
************* | ||
|
||
* A 64-bit development workstation running Ubuntu\* 18.04 (Bionic Beaver) | ||
operating system. | ||
|
||
* One of the supported versions of python\*, either 2.7 or 3.5.6, with | ||
python 2.7 as the default. | ||
|
||
* Around 350GB of free disk space on your workstation is required to | ||
checkout the source code and to store the build artifacts. | ||
|
||
.. note:: | ||
#. Although Android\* is typically built with a GNU/Linux\* or macOS\* | ||
operating system, we recommend you build |C| images on Ubuntu\* 18.04. | ||
For setup instructions using other operating systems, refer to the | ||
`Establishing a Build Environment <https://source.android.com/setup/build/initializing>`_ section on the AOSP website. | ||
#. Also, note the `Android prerequisites <https://source.android.com/setup/build/requirements>`_ for build. | ||
|
||
Set up the development environment | ||
********************************** | ||
|
||
|C| and Android source code consist of multiple Git\* repositories. The | ||
:command:`repo` tool makes it easier to work with those repositories. | ||
|
||
#. Create a local :file:`bin/` directory, download the :command:`repo` tool | ||
to that directory, and make the binary executable with the following commands: | ||
|
||
.. code-block:: bash | ||
$ mkdir -p ~/bin | ||
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo | ||
$ chmod a+x ~/bin/repo | ||
$ export PATH=~/bin:$PATH | ||
#. Install the following required packages on your 64-bit Ubuntu 18.04 LTS | ||
development workstation prior to the compilation: | ||
|
||
.. code-block:: bash | ||
$ sudo apt-get update | ||
$ sudo apt-get install openjdk-8-jdk git ccache automake \ | ||
lzop bison gperf build-essential zip curl \ | ||
zlib1g-dev g++-multilib python3-networkx \ | ||
libxml2-utils bzip2 libbz2-dev libbz2-1.0 \ | ||
libghc-bzlib-dev squashfs-tools pngcrush \ | ||
schedtool dpkg-dev liblz4-tool make optipng maven \ | ||
libssl-dev bc bsdmainutils gettext python3-mako \ | ||
libelf-dev sbsigntool dosfstools mtools efitools \ | ||
python3-pystache git-lfs python3 flex clang libncurses5 \ | ||
fakeroot ncurses-dev xz-utils python3-pip ninja-build \ | ||
cryptsetup-bin cutils cmake pkg-config xorriso mtools | ||
$ sudo pip3 install mako==1.1.0 meson==0.60.0 dataclasses | ||
$ sudo su | ||
$ cd /usr/local/ | ||
$ wget https://github.com/KhronosGroup/glslang/releases/download/SDK-candidate-26-Jul-2020/glslang-master-linux-Release.zip && \ | ||
$ unzip glslang-master-linux-Release.zip bin/glslangValidator && \ | ||
$ rm glslang-master-linux-Release.zip | ||
Build |C| in VM with Android 14 | ||
******************************* | ||
|
||
Download the source | ||
=================== | ||
|
||
#. Enter the following commands to create an empty directory to hold the | ||
|C| source files and serve as the working directory, and to bring down the | ||
latest version of :command:`repo` tool, including its most recent fixes. | ||
|
||
.. note:: | ||
The URL specifies the manifest that refers to various repositories | ||
used by |C|, which are placed within the working directory. For now, a | ||
:file:`.repo/` folder is created to store the manifest and the metadata of | ||
the source repositories. | ||
|
||
.. code-block:: bash | ||
$ mkdir civ | ||
$ cd civ | ||
Note, the below :command:`repo init` command pulls the latest development | ||
CiV source code based on *Android 14* from the master branch. | ||
|
||
.. code-block:: bash | ||
$ repo init -u https://github.com/projectceladon/manifest -b master -m default.xml | ||
To continue working on the *Android 13* based CiV source code, | ||
use the following manifest instead: | ||
|
||
.. code-block:: bash | ||
$ repo init -u https://github.com/projectceladon/manifest -b celadon/t/mr0/master | ||
#. Enter the following command to pull down the |C| Android source tree to | ||
your working directory. The :command:`repo sync` operation might take time | ||
depending on your Internet download speed. Refer to the | ||
`Downloading the Source <https://source.android.com/setup/build/downloading>`_ | ||
section of the AOSP website for tips to download the source behind a | ||
proxy. | ||
|
||
.. code-block:: bash | ||
$ repo sync -c | ||
.. _build-os-image: | ||
|
||
Build |C| in VM image | ||
===================== | ||
|
||
#. Optionally, delete existing output of any previous build with the | ||
following command in the top-most |C| source directory: | ||
|
||
.. code-block:: bash | ||
$ make clobber | ||
#. Enter the following command to initialize the build variables with the | ||
:file:`envsetup.sh` script: | ||
|
||
.. code-block:: bash | ||
$ source build/envsetup.sh | ||
#. Specify your |C| lunch target using the :command:`lunch` command. You can | ||
run :command:`lunch` with no arguments to choose different build | ||
variants, and select a lunch target from a list of available options. | ||
For example, the following commands configure the build system to | ||
build the installer files for |C| in VM images: | ||
|
||
.. code-block:: bash | ||
$ lunch caas-userdebug | ||
$ make flashfiles -j $(nproc) | ||
.. note:: | ||
The *-j $(nproc)* argument instructs the builder to compile the source | ||
code with parallel tasks. The generated kernelflinger executables | ||
.ZIP file | ||
(:file:`out/target/product/caas/caas-flashfiles-eng.${USER}.zip` | ||
and :file:`out/target/product/caas/caas-flashfiles-eng.${USER}.iso.zip`) | ||
is available after the build. You can refer to :ref:`caas-on-vm` | ||
section to prepare the host environment and boot the CiV image with QEMU. | ||
|
||
|
||
.. _ Intel® Advanced Vector Extensions (Intel® AVX): https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions | ||
.. _Intel® Advanced Vector Extensions 2 (Intel® AVX2): https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 | ||
.. _Comet Lake: https://en.wikipedia.org/wiki/Comet_Lake |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
.. _get-started: | ||
|
||
Getting Started | ||
############### | ||
|
||
The Getting Started Guide provides step-by-step instructions to build your | ||
|C| Android images from the source repositories. This guide will help you | ||
start using the generated images on Intel® platforms, Virtual | ||
Machines, and Containers. This guide also explains how to contribute patches. | ||
|
||
.. toctree:: | ||
:maxdepth: 2 | ||
|
||
as-service | ||
naming-convention | ||
build-source | ||
on-bm | ||
submit-patch | ||
host-os-hardening | ||
how-to |
Oops, something went wrong.