Lines Matching +full:build +full:- +full:without +full:- +full:default +full:- +full:features
1 .. SPDX-License-Identifier: CC-BY-SA-2.0-UK
4 Features title
7 This chapter provides a reference of shipped machine and distro features
8 you can include as part of your image, a reference on image features you
9 can select, and a reference on :ref:`ref-features-backfill`.
11 Features provide a mechanism for working out which packages should be
13 features they want to support through the :term:`DISTRO_FEATURES` variable,
15 as ``poky.conf``, ``poky-tiny.conf``, ``poky-altcfg.conf`` and so forth.
16 Machine features are set in the :term:`MACHINE_FEATURES` variable, which is
18 features for a given machine.
22 selected subset of features so some machine features might not be
28 discovers the recipes whose build is potentially changed based on a
34 .. _ref-features-machine:
36 Machine Features
39 The items below are features you can use with
40 :term:`MACHINE_FEATURES`. Features do not have a
41 one-to-one correspondence to packages, and they can go beyond simply
45 specified within the :ref:`ref-tasks-configure` task
48 This feature list only represents features as shipped with the Yocto
51 - *acpi:* Hardware has ACPI (x86/x86_64 only)
53 - *alsa:* Hardware has ALSA audio drivers
55 - *bluetooth:* Hardware has integrated BT
57 - *efi:* Support for booting through EFI
59 - *ext2:* Hardware HDD or Microdrive
61 - *keyboard:* Hardware has a keyboard
63 - *numa:* Hardware has non-uniform memory access
65 - *pcbios:* Support for booting through BIOS
67 - *pci:* Hardware has a PCI bus
69 - *pcmcia:* Hardware has PCMCIA or CompactFlash sockets
71 - *phone:* Mobile phone (voice) support
73 - *qemu-usermode:* QEMU can support user-mode emulation for this machine
75 - *qvga:* Machine has a QVGA (320x240) display
77 - *rtc:* Machine has a Real-Time Clock
79 - *screen:* Hardware has a screen
81 - *serial:* Hardware has serial support (usually RS232)
83 - *touchscreen:* Hardware has a touchscreen
85 - *usbgadget:* Hardware is USB gadget device capable
87 - *usbhost:* Hardware is USB Host capable
89 - *vfat:* FAT file system support
91 - *wifi:* Hardware has integrated WiFi
93 .. _ref-features-distro:
95 Distro Features
98 The items below are features you can use with
99 :term:`DISTRO_FEATURES` to enable features across
100 your distribution. Features do not have a one-to-one correspondence to
104 script during the :ref:`ref-tasks-configure` task for
109 Some distro features are also machine features. These select features
122 This list only represents features as shipped with the Yocto Project
125 - *3g:* Include support for cellular data.
127 - *acl:* Include :wikipedia:`Access Control List <Access-control_list>` support.
129 - *alsa:* Include :wikipedia:`Advanced Linux Sound Architecture <Advanced_Linux_Sound_Architecture…
132 - *api-documentation:* Enables generation of API documentation during
134 when the ``bitbake -c populate_sdk`` command is used. See the
135 ":ref:`sdk-manual/appendix-customizing-standard:adding api documentation to the standard sdk`"
139 - *bluetooth:* Include bluetooth support (integrated BT only).
141 - *cramfs:* Include CramFS support.
143 - *debuginfod:* Include support for getting ELF debugging information through
144 a :ref:`debuginfod <dev-manual/debugging:using the debuginfod server method>`
147 - *directfb:* Include DirectFB support.
149 - *ext2:* Include tools for supporting devices with internal
152 - *gobject-introspection-data:* Include data to support
155 - *ipsec:* Include IPSec support.
157 - *ipv4:* Include IPv4 support.
159 - *ipv6:* Include IPv6 support.
161 - *keyboard:* Include keyboard support (e.g. keymaps will be loaded
164 - *minidebuginfo:* Add minimal debug symbols :ref:`(minidebuginfo)<dev-manual/debugging:enabling m…
167 - *multiarch:* Enable building applications with multiple architecture
170 - *ldconfig:* Include support for ldconfig and ``ld.so.conf`` on the
173 - *lto:* Enable `Link-Time Optimisation <https://gcc.gnu.org/wiki/LinkTimeOptimization>`__.
175 - *nfc:* Include support for
176 `Near Field Communication <https://en.wikipedia.org/wiki/Near-field_communication>`__.
178 - *nfs:* Include NFS client support (for mounting NFS exports on
181 - *nls:* Include National Language Support (NLS).
183 - *opengl:* Include the Open Graphics Library, which is a
184 cross-language, multi-platform application programming interface used
185 for rendering two and three-dimensional graphics.
187 - *overlayfs:* Include `OverlayFS <https://docs.kernel.org/filesystems/overlayfs.html>`__
190 - *pam:* Include :wikipedia:`Pluggable Authentication Module (PAM) <Pluggable_authentication_modul…
193 - *pci:* Include PCI bus support.
195 - *pcmcia:* Include PCMCIA/CompactFlash support.
197 - *pni-names:* Enable generation of persistent network interface names, i.e.
201 - *polkit:* Include :wikipedia:`Polkit <Polkit>` support.
203 - *ppp:* Include PPP dialup support.
205 - *ptest:* Enables building the package tests where supported by
207 ":ref:`test-manual/ptest:testing packages with ptest`" section
210 - *pulseaudio:* Include support for
213 - *selinux:* Include support for
214 :wikipedia:`Security-Enhanced Linux (SELinux) <Security-Enhanced_Linux>`
215 (requires `meta-selinux <https://layers.openembedded.org/layerindex/layer/meta-selinux/>`__).
217 - *seccomp:* Enables building applications with
222 - *smbfs:* Include SMB networks client support (for mounting
225 - *systemd:* Include support for this ``init`` manager, which is a full
227 reduced shell overhead, and other features. This ``init`` manager is
230 - *systemd-resolved:* Include support and use ``systemd-resolved`` as the
234 - *usbgadget:* Include USB Gadget Device support (for USB
237 - *usbhost:* Include USB Host support (allows to connect external
240 - *usrmerge:* Merges the ``/bin``, ``/sbin``, ``/lib``, and ``/lib64``
244 - *vfat:* Include :wikipedia:`FAT filesystem <File_Allocation_Table>`
247 - *vulkan:* Include support for the :wikipedia:`Vulkan API <Vulkan>`.
249 - *wayland:* Include the Wayland display server protocol and the
252 - *wifi:* Include WiFi support (integrated only).
254 - *x11:* Include the X server and libraries.
256 - *xattr:* Include support for
259 - *zeroconf:* Include support for
260 `zero configuration networking <https://en.wikipedia.org/wiki/Zero-configuration_networking>`__.
262 .. _ref-features-image:
264 Image Features
267 The contents of images generated by the OpenEmbedded build system can be
275 The image features available for all images are:
277 - *allow-empty-password:* Allows Dropbear and OpenSSH to accept
280 - *allow-root-login:* Allows Dropbear and OpenSSH to accept root logins.
282 - *dbg-pkgs:* Installs debug symbol packages for all packages installed
285 - *dev-pkgs:* Installs development packages (headers and extra library
288 - *doc-pkgs:* Installs documentation packages for all packages
291 - *empty-root-password:* This feature can be used if you want to allow root
293 :term:`IMAGE_FEATURES`, a non-empty password is forced in ``/etc/passwd`` and
297 ``empty-root-password`` doesn't set an empty root password by itself.
299 :oe_git:`base-passwd </openembedded-core/tree/meta/recipes-core/base-passwd/>`
300 and :oe_git:`shadow </openembedded-core/tree/meta/recipes-extended/shadow/>`
301 recipes, and the presence of ``empty-root-password`` just disables the
302 mechanism which forces an non-empty password for the root user.
304 - *lic-pkgs:* Installs license packages for all packages installed in a
307 - *overlayfs-etc:* Configures the ``/etc`` directory to be in ``overlayfs``.
309 if the root filesystem is configured to be read-only.
311 - *package-management:* Installs package management tools and preserves
314 - *post-install-logging:* Enables logging postinstall script runs to
321 ``files/fs-perms-volatile-log.txt`` value from
324 - *ptest-pkgs:* Installs ptest packages for all ptest-enabled recipes.
326 - *read-only-rootfs:* Creates an image whose root filesystem is
327 read-only. See the
328 ":ref:`dev-manual/read-only-rootfs:creating a read-only root filesystem`"
332 - *read-only-rootfs-delayed-postinsts:* when specified in conjunction
333 with ``read-only-rootfs``, specifies that post-install scripts are
336 ensure that - it just disables the check for post-install scripts.)
338 - *serial-autologin-root:* when specified in conjunction with
339 ``empty-root-password`` will automatically login as root on the
344 - *splash:* Enables showing a splash screen during boot. By default,
351 - *stateless-rootfs:*: specifies that the image should be created as
352 stateless - when using ``systemd``, ``systemctl-native`` will not
356 - *staticdev-pkgs:* Installs static development packages, which are
360 Some image features are available only when you inherit the
361 :ref:`ref-classes-core-image` class. The current list of
362 these valid features is as follows:
364 - *hwcodecs:* Installs hardware acceleration codecs.
366 - *nfs-server:* Installs an NFS server.
368 - *perf:* Installs profiling tools such as ``perf``, ``systemtap``, and
369 ``LTTng``. For general information on user-space tools, see the
370 :doc:`/sdk-manual/index` manual.
372 - *ssh-server-dropbear:* Installs the Dropbear minimal SSH server.
376 As of the 4.1 release, the ``ssh-server-dropbear`` feature also
377 recommends the ``openssh-sftp-server`` package, which by default
381 you wish to use the Dropbear ssh server `without` the SFTP server
382 installed, you can either remove ``ssh-server-dropbear`` from
387 BAD_RECOMMENDATIONS += "openssh-sftp-server"
389 - *ssh-server-openssh:* Installs the OpenSSH SSH server, which is more
390 full-featured than Dropbear. Note that if both the OpenSSH SSH server
395 - *tools-debug:* Installs debugging tools such as ``strace`` and
397 ":ref:`dev-manual/debugging:debugging with the gnu project debugger (gdb) remotely`" section
399 tracing and profiling, see the :doc:`/profile-manual/index`.
401 - *tools-sdk:* Installs a full SDK that runs on the device.
403 - *tools-testapps:* Installs device testing tools (e.g. touchscreen
406 - *weston:* Installs Weston (reference Wayland environment).
408 - *x11:* Installs the X server.
410 - *x11-base:* Installs the X server with a minimal environment.
412 - *x11-sato:* Installs the OpenedHand Sato environment.
414 .. _ref-features-backfill:
419 Sometimes it is necessary in the OpenEmbedded build system to
423 features, to retain the same overall level of functionality.
425 To make this possible, the OpenEmbedded build system has a mechanism to
426 automatically "backfill" features into existing distro or machine
427 configurations. You can see the list of features for which this is done
441 - *The "pulseaudio" distro feature option*: Previously, PulseAudio support was
446 without affecting other existing distro configurations that need PulseAudio
450 :term:`DISTRO_FEATURES_BACKFILL` variable prevents the build system from
454 - *The "rtc" machine feature option*: Previously, real time clock (RTC)
459 disable RTC support for your device without affecting other machines
463 :term:`MACHINE_FEATURES_BACKFILL` variable prevents the build system from