********
Features
********

This chapter document the machine, distro and image feature that are specific
to Belden CoreOS. 

.. index:: MACHINE_FEATURES
    
Machine Features
================

:external:ref:`MACHINE_FEATURES <ref-features-machine>` of OpenEmbedded-Core
can be used with CoreOS.

In addition, those CoreOS specific MACHINE_FEATURES can be used too:

-  *sdcard:* the machine as an internal SD Card or MicroSD Slot. 
-  *emmc:* the machine as an internal emmc based storage


.. index:: DISTRO_FEATURES

Distro Features
===============

CoreOS doesn't define any custom distro feature for now, but the 
:external:ref:`DISTRO_FEATURES <ref-features-distro>` of OpenEmbedded-Core
can be used.

.. index:: IMAGE_FEATURES
.. _ref-features-image:

Image Features
==============

Some image features are available when you inherit the
:ref:`coreos-image <ref-classes-coreos-image>` class. The current list of
these features is as follows:

-  *hwcodecs:* Installs hardware acceleration codecs.
-  *tools-debug:* Installs debugging tools such as ``strace`` and ``gdb``.
-  *tools-profile:* Installs profiling tools such as ``valgrind`` and ``perf``.
-  *ssh-server:* Installs the Dropbear minimal SSH server.
-  *podman:*: Installs the Podman container runtime
-  *networkmanager:* Installs the NetworkManager daemon and command line client
-  *cockpit:* Installs the cockpit web interface
-  *dev-tools:* Install some developer command line tools

The *cockpit* and *dev-tools* feature are special, as they will automatically
add package based on the other image feature that are enabled.

:external:ref:`IMAGE_FEATURES <ref-features-image>` defined in OpenEmbedded-Core
are also available, but note that the
:ref:`coreos-image <ref-classes-coreos-image>` class don't inherit from the
:external:ref:`core-image <ref-classes-core-image>` class, thus `core-image`
specific features are not available.
