Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 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 | # |
| 46 | FEATURE_PACKAGES_weston = "packagegroup-core-weston" |
| 47 | FEATURE_PACKAGES_x11 = "packagegroup-core-x11" |
| 48 | FEATURE_PACKAGES_x11-base = "packagegroup-core-x11-base" |
| 49 | FEATURE_PACKAGES_x11-sato = "packagegroup-core-x11-sato" |
| 50 | FEATURE_PACKAGES_tools-debug = "packagegroup-core-tools-debug" |
| 51 | FEATURE_PACKAGES_eclipse-debug = "packagegroup-core-eclipse-debug" |
| 52 | FEATURE_PACKAGES_tools-profile = "packagegroup-core-tools-profile" |
| 53 | FEATURE_PACKAGES_tools-testapps = "packagegroup-core-tools-testapps" |
| 54 | FEATURE_PACKAGES_tools-sdk = "packagegroup-core-sdk packagegroup-core-standalone-sdk-target" |
| 55 | FEATURE_PACKAGES_nfs-server = "packagegroup-core-nfs-server" |
| 56 | FEATURE_PACKAGES_nfs-client = "packagegroup-core-nfs-client" |
| 57 | FEATURE_PACKAGES_ssh-server-dropbear = "packagegroup-core-ssh-dropbear" |
| 58 | FEATURE_PACKAGES_ssh-server-openssh = "packagegroup-core-ssh-openssh" |
| 59 | FEATURE_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 |
| 64 | IMAGE_FEATURES_REPLACES_ssh-server-openssh = "ssh-server-dropbear" |
Andrew Geissler | 87f5cff | 2022-09-30 13:13:31 -0500 | [diff] [blame] | 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 |
| 68 | PACKAGE_EXCLUDE_COMPLEMENTARY:append = "${@bb.utils.contains_any('PACKAGE_INSTALL', 'packagegroup-core-ssh-dropbear dropbear', 'openssh', '' , d)}" |
Patrick Williams | 92b42cb | 2022-09-03 06:53:57 -0500 | [diff] [blame] | 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 | |
| 73 | MACHINE_HWCODECS ??= "" |
| 74 | |
| 75 | CORE_IMAGE_BASE_INSTALL = '\ |
| 76 | packagegroup-core-boot \ |
| 77 | packagegroup-base-extended \ |
| 78 | \ |
| 79 | ${CORE_IMAGE_EXTRA_INSTALL} \ |
| 80 | ' |
| 81 | |
| 82 | CORE_IMAGE_EXTRA_INSTALL ?= "" |
| 83 | |
| 84 | IMAGE_INSTALL ?= "${CORE_IMAGE_BASE_INSTALL}" |
| 85 | |
| 86 | inherit image |