Skip to content
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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
185 changes: 185 additions & 0 deletions docs/modules/os/sw_platforms/docs/community/autosd.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
..
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

.. _comp_doc_os_sw_platforms_community_autosd:

Red Hat AutoSD
##############

Overview
--------

AutoSD is the upstream binary distribution that serves as the public, in-development preview and functional precursor
of the Red Hat In-Vehicle Operating System (OS).

AutoSD is downstream of CentOS Stream, so it retains most of the CentOS Stream code with a few divergences,
such as an optimized automotive-specific kernel rather than CentOS Stream's kernel package.

Red Hat In-Vehicle OS is based on both AutoSD and RHEL, both of which are downstreams of CentOS Stream.

Requirements
------------

Integration Assistance
~~~~~~~~~~~~~~~~~~~~~~

.. aou_req:: integration assistance
:id: aou_req__platform__ia_autosd
:reqtype: Non-Functional
:security: YES
:safety: QM
:status: valid

The supplier shall provide a contact point for integration assistance.


+----------------+-----------------------------+
| .. centered:: Leonardo Rossetti |
+----------------+-----------------------------+
| Github Handler | @odra |
+----------------+-----------------------------+
| Slack Handler | @lrossett |
+----------------+-----------------------------+


Integration Manual
~~~~~~~~~~~~~~~~~~

.. aou_req:: integration manual
:id: aou_req__platform__os_im_autosd
:reqtype: Non-Functional
:security: YES
:safety: QM
:status: valid

The supplier shall provide an integration manual.



Building an Image
^^^^^^^^^^^^^^^^^

Download the wrapper script which runs our automotive-image-builder inside a linux container:

.. code:: bash

curl -o /tmp/auto-image-builder.sh "https://gitlab.com/CentOS/automotive/src/automotive-image-builder/-/raw/main/auto-image-builder.sh"
chmod +x /tmp/auto-image-builder.sh

To build an AutoSD image:

.. code:: bash

sudo bash ./scripts/container-build.sh build \
--define-file build/vars.yml \
--build-dir outputs/ \
--distro autosd9 \
--mode image \
--target qemu \
--export qcow2 \
build/image.aib.yml \
outputs/disk.qcow2

If using QEMU, you can run the image using the following command:

.. code:: bash

/usr/bin/qemu-system-x86_64 \
-drive file=/usr/share/OVMF/OVMF_CODE_4M.fd,if=pflash,format=raw,unit=0,readonly=on \
-drive file=/usr/share/OVMF/OVMF_VARS_4M.fd,if=pflash,format=raw,unit=1,snapshot=on,readonly=off \
-enable-kvm \
-m 2G \
-smp $(nproc) \
-machine q35 \
-cpu host \
-device virtio-net-pci,netdev=n0 \
-netdev user,id=n0,hostfwd=tcp::2222-:22 \
-daemonize \
-display none \
-drive file=disk.qcow2,index=0,media=disk,format=qcow2,if=virtio,id=rootdisk,snapshot=off

Mixed Critical Orchestration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Upstream documentation: https://sigs.centos.org/automotive/features-and-concepts/con_mixed-criticality/

Mixed Critical Orchestration, aka MCO, can be achieved with the following components:

* Systemd: the init system that is responsible for workload orchestration
* Eclise BlueChi: extends Systemd to enable multi-node and multi domain orchestration
* QM: Quality management environment that is composed of two sub-systems: a dedicated rootfs partition + container isolation

ASIL and QM connectivity is done either via an IPC socket or shared memory (/dev/shm).

.. image:: _assets/autosd-mco.png
:align: center

Toolchain
^^^^^^^^^

Upstream documentation: https://github.com/eclipse-score/inc_os_autosd/tree/main/toolchain

A Bazel toolchain defintion is provided for users to build their Bazel modules and components with AutoSD's tooling (compilers, libraries, etc).

Sample usage (MODULE.bazel file):

.. code:: starlark

# Use local path during development, or git_override for published versions
local_path_override(
module_name = "os_autosd",
path = "/path/to/inc_os_autosd/"
)

bazel_dep(name = "os_autosd", version = "1.0.0")

# Configure AutoSD 9 GCC toolchain
autosd_10_gcc = use_extension("@os_autosd//toolchain/autosd_10_gcc:extensions.bzl", "autosd_10_gcc_extension")
autosd_10_gcc.configure(
c_flags = ["-Wall", "-Wno-error=deprecated-declarations", "-Werror", "-fPIC"],
cxx_flags = ["-Wall", "-Wno-error=deprecated-declarations", "-Werror", "-fPIC"],
)

use_repo(autosd_10_gcc, "autosd_10_gcc_repo")
register_toolchains("@autosd_10_gcc_repo//:gcc_toolchain_linux_x86_64")

**NOTE:** AutoSD's tooling does not support cross compilation.

Bug Interface
~~~~~~~~~~~~~

.. aou_req:: bug interface
:id: aou_req__platform__bi_autosd
:reqtype: Non-Functional
:security: YES
:safety: QM
:status: valid

The supplier shall provide a bug reporting interface.

Note: There is no guarantee provided to fix these bugs.



+------------------------------------+---------------------------------------------------------------------------+
| |
+------------------------------------+---------------------------------------------------------------------------+
| CentOS SIG Automotive Mailing List | https://lists.centos.org/hyperkitty/list/[email protected]/ |
+------------------------------------+---------------------------------------------------------------------------+
| Gitlab Issue Tracker | https://gitlab.com/CentOS/automotive/sig |
+------------------------------------+---------------------------------------------------------------------------+
| CentOS SIG MAtrix Channel | https://app.element.io/#/room/#centos-automotive-sig:fedoraproject.org |
+------------------------------------+---------------------------------------------------------------------------+
| Eclipse SDV Slack Channel | #autosd (https://sdvworkinggroup.slack.com/archives/C0986LJ9EJH) |
+------------------------------------+---------------------------------------------------------------------------+
27 changes: 27 additions & 0 deletions docs/modules/os/sw_platforms/docs/community/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
..
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

.. _comp_doc_os_sw_platforms_community:

Community
#########

These are the community-supported Software Platforms for Eclipse S-CORE.
See see :ref:`platform_assumptions` for the exact requirements for each Tier.

.. toctree::
:maxdepth: 3
:titlesonly:

autosd.rst
36 changes: 36 additions & 0 deletions docs/modules/os/sw_platforms/docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
..
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

.. _comp_doc_os_sw_platforms:

Software Platforms
##################

A Software Platform is an operating system environment on which Eclipse S-CORE is integrated and executed.
It provides the foundational services and interfaces required for S-CORE modules to function.

.. note::
Software Platforms are categorized into *Tiers* based on their stability, support level, and intended use cases.
Hence, they must meet requirements of their respective Tier.
For details on this approach, and the requirements for each Tier, see :ref:`platform_assumptions`.


Component Documents
===================

.. toctree::
:maxdepth: 2
:titlesonly:

community/index.rst