1# Common code for generating core reference images 2# 3# Copyright (C) 2007-2011 Linux Foundation 4# 5# SPDX-License-Identifier: MIT 6 7# IMAGE_FEATURES control content of the core reference images 8# 9# By default we install packagegroup-core-boot and packagegroup-base-extended packages; 10# this gives us working (console only) rootfs. 11# 12# Available IMAGE_FEATURES: 13# 14# - weston - Weston Wayland compositor 15# - x11 - X server 16# - x11-base - X server with minimal environment 17# - x11-sato - OpenedHand Sato environment 18# - tools-debug - debugging tools 19# - eclipse-debug - Eclipse remote debugging support 20# - tools-profile - profiling tools 21# - tools-testapps - tools usable to make some device tests 22# - tools-sdk - SDK (C/C++ compiler, autotools, etc.) 23# - nfs-server - NFS server 24# - nfs-client - NFS client 25# - ssh-server-dropbear - SSH server (dropbear) 26# - ssh-server-openssh - SSH server (openssh) 27# - hwcodecs - Install hardware acceleration codecs 28# - package-management - installs package management tools and preserves the package manager database 29# - debug-tweaks - makes an image suitable for development, e.g. allowing passwordless root logins 30# - empty-root-password 31# - allow-empty-password 32# - allow-root-login 33# - post-install-logging 34# - serial-autologin-root - with 'empty-root-password': autologin 'root' on the serial console 35# - dev-pkgs - development packages (headers, etc.) for all installed packages in the rootfs 36# - dbg-pkgs - debug symbol packages for all installed packages in the rootfs 37# - lic-pkgs - license packages for all installed pacakges in the rootfs, requires 38# LICENSE_CREATE_PACKAGE="1" to be set when building packages too 39# - doc-pkgs - documentation packages for all installed packages in the rootfs 40# - bash-completion-pkgs - bash-completion packages for recipes using bash-completion bbclass 41# - ptest-pkgs - ptest packages for all ptest-enabled recipes 42# - read-only-rootfs - tweaks an image to support read-only rootfs 43# - stateless-rootfs - systemctl-native not run, image populated by systemd at runtime 44# - splash - bootup splash screen 45# 46FEATURE_PACKAGES_weston = "packagegroup-core-weston" 47FEATURE_PACKAGES_x11 = "packagegroup-core-x11" 48FEATURE_PACKAGES_x11-base = "packagegroup-core-x11-base" 49FEATURE_PACKAGES_x11-sato = "packagegroup-core-x11-sato" 50FEATURE_PACKAGES_tools-debug = "packagegroup-core-tools-debug" 51FEATURE_PACKAGES_eclipse-debug = "packagegroup-core-eclipse-debug" 52FEATURE_PACKAGES_tools-profile = "packagegroup-core-tools-profile" 53FEATURE_PACKAGES_tools-testapps = "packagegroup-core-tools-testapps" 54FEATURE_PACKAGES_tools-sdk = "packagegroup-core-sdk packagegroup-core-standalone-sdk-target" 55FEATURE_PACKAGES_nfs-server = "packagegroup-core-nfs-server" 56FEATURE_PACKAGES_nfs-client = "packagegroup-core-nfs-client" 57FEATURE_PACKAGES_ssh-server-dropbear = "packagegroup-core-ssh-dropbear" 58FEATURE_PACKAGES_ssh-server-openssh = "packagegroup-core-ssh-openssh" 59FEATURE_PACKAGES_hwcodecs = "${MACHINE_HWCODECS}" 60 61 62# IMAGE_FEATURES_REPLACES_foo = 'bar1 bar2' 63# Including image feature foo would replace the image features bar1 and bar2 64IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear" 65# Do not install openssh complementary packages if either packagegroup-core-ssh-dropbear or dropbear 66# is installed # to avoid openssh-dropbear conflict 67# see [Yocto #14858] for more information 68PACKAGE_EXCLUDE_COMPLEMENTARY:append = "${@bb.utils.contains_any('PACKAGE_INSTALL', 'packagegroup-core-ssh-dropbear dropbear', ' openssh', '' , d)}" 69 70# IMAGE_FEATURES_CONFLICTS_foo = 'bar1 bar2' 71# An error exception would be raised if both image features foo and bar1(or bar2) are included 72 73MACHINE_HWCODECS ??= "" 74 75CORE_IMAGE_BASE_INSTALL = '\ 76 packagegroup-core-boot \ 77 packagegroup-base-extended \ 78 \ 79 ${CORE_IMAGE_EXTRA_INSTALL} \ 80 ' 81 82CORE_IMAGE_EXTRA_INSTALL ?= "" 83 84IMAGE_INSTALL ?= "${CORE_IMAGE_BASE_INSTALL}" 85 86inherit image 87