1require conf/distro/include/phosphor-defaults.inc 2 3# Match the distro codename from upstream poky. 4DISTRO_CODENAME ?= "scarthgap" 5 6DISTROOVERRIDES .= ":openbmc-phosphor" 7 8TCLIBCAPPEND = "" 9 10QEMU_TARGETS ?= "arm aarch64 i386 riscv32 riscv64 ppc64le x86_64" 11 12PREMIRRORS ??= "\ 13bzr://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ 14cvs://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ 15git://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ 16gitsm://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ 17hg://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ 18osc://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ 19p4://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ 20svn://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n" 21 22MIRRORS =+ "\ 23ftp://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ 24http://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n \ 25https://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n" 26 27# The CONNECTIVITY_CHECK_URI's are used to test whether we can successfully 28# fetch from the network (and warn you if not). To disable the test set 29# the variable to be empty. 30# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=https;rev=master 31CONNECTIVITY_CHECK_URIS ?= "https://yoctoproject.org/connectivity.html" 32 33SANITY_TESTED_DISTROS ?= " \ 34 poky-4.2 \n \ 35 poky-4.3 \n \ 36 ubuntu-18.04 \n \ 37 ubuntu-20.04 \n \ 38 ubuntu-22.04 \n \ 39 ubuntu-23.04 \n \ 40 fedora-38 \n \ 41 centosstream-8 \n \ 42 debian-11 \n \ 43 debian-12 \n \ 44 opensuseleap-15.4 \n \ 45 almalinux-8.8 \n \ 46 almalinux-9.2 \n \ 47 rocky-9 \n \ 48 " 49# 50# OELAYOUT_ABI allows us to notify users when the format of TMPDIR changes in 51# an incompatible way. Such changes should usually be detailed in the commit 52# that breaks the format and have been previously discussed on the mailing list 53# with general agreement from the core team. 54# 55OELAYOUT_ABI = "15" 56 57# QA check settings - a little stricter than the OE-Core defaults 58WARN_TO_ERROR_QA = "already-stripped compile-host-path install-host-path \ 59 installed-vs-shipped ldflags pn-overrides rpaths staticdev \ 60 useless-rpaths" 61WARN_QA:remove = "${WARN_TO_ERROR_QA}" 62ERROR_QA:append = " ${WARN_TO_ERROR_QA}" 63 64require conf/distro/include/no-static-libs.inc 65require conf/distro/include/yocto-uninative.inc 66 67DISTRO_NAME ?= "Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro)" 68TARGET_VENDOR="-openbmc" 69 70 71VIRTUAL-RUNTIME_keymaps = "" 72 73# Phosphor OpenBMC uses systemd and udev 74INIT_MANAGER = "systemd" 75# systemd doesn't like us using /home/root instead of /root but we've been 76# doing it a long time. The `INIT_MANAGER = systemd` switches the default to 77# /root, but we should switch it back (and maybe adjust in another commit). 78ROOT_HOME = "/home/root" 79 80# We want to persist /var/log, which is likely to be used for 81# obmc-console and/or journald. 82VOLATILE_LOG_DIR = "no" 83 84DISTRO_FEATURES_BACKFILL_CONSIDERED = " \ 85 bluez5 \ 86 ldconfig \ 87 gobject-introspection-data \ 88 pulseaudio \ 89 " 90 91DISTRO_FEATURES_OBMC = " \ 92 obmc-host-ctl \ 93 obmc-host-ipmi \ 94 obmc-phosphor-chassis-mgmt \ 95 obmc-phosphor-fan-mgmt \ 96 obmc-phosphor-flash-mgmt \ 97 obmc-phosphor-system-mgmt \ 98 " 99 100DISTRO_FEATURES_DEFAULT = " \ 101 avahi \ 102 ipv4 \ 103 ipv6 \ 104 pam \ 105 security \ 106 slp \ 107 seccomp \ 108 " 109 110DISTRO_FEATURES += " \ 111 ${DISTRO_FEATURES_DEFAULT} \ 112 ${DISTRO_FEATURES_OBMC} \ 113 " 114 115DISTRO_EXTRA_RDEPENDS:remove:qemuarm = "packagegroup-core-device-devel" 116 117include conf/distro/include/openbmc-phosphor/${MACHINE}.inc 118 119IMAGE_CLASSES:append = " image_types_phosphor phosphor-rootfs-postcommands" 120IMAGE_CLASSES:append:npcm7xx = " image_types_phosphor_nuvoton" 121IMAGE_CLASSES:append:npcm8xx = " image_types_phosphor_nuvoton_npcm8xx" 122 123IMAGE_INSTALL:append = " dbus-broker libnss-systemd" 124 125# Skip the udev database by default. It adds around 2MB 126# compressed to the root filesystem, and probably doesn't 127# make sense on a BMC anyway. 128BAD_RECOMMENDATIONS += "udev-hwdb" 129BAD_RECOMMENDATIONS += "shared-mime-info" 130 131# e2fsprogs isn't needed on a BMC without MMC, where it gets explicitly added 132BAD_RECOMMENDATIONS += "e2fsprogs-e2fsck" 133 134LAYER_CONF_VERSION ?= "8" 135 136KERNEL_CLASSES:append = " obmc-phosphor-kernel-version" 137 138# Some packages have directory trees of YAML files arranged based on 139# canonical organization names. 'org/freedesktop' and 'xyz/openbmc_project' 140# should be used everywhere in phosphor, but some layers may append this with 141# their own organization(s). 142OBMC_ORG_YAML_SUBDIRS += " org/freedesktop xyz/openbmc_project" 143 144PREFERRED_VERSION_libgpiod = "1.6.4" 145 146# Enable SBOM: https://docs.yoctoproject.org/next/dev-manual/sbom.html 147INHERIT += "create-spdx" 148