1 DISTRO = "poky"
2 DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
3 DISTRO_VERSION = "3.4.2"
4 DISTRO_CODENAME = "honister"
5 SDK_VENDOR = "-pokysdk"
6 SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"
7 SDK_VERSION[vardepvalue] = "${SDK_VERSION}"
8
9 MAINTAINER = "Poky <poky@lists.yoctoproject.org>"
10
11 TARGET_VENDOR = "-poky"
12
13 LOCALCONF_VERSION = "2"
14
15 # Override these in poky based distros
16 POKY_DEFAULT_DISTRO_FEATURES = "largefile opengl ptest multiarch wayland vulkan"
17 POKY_DEFAULT_EXTRA_RDEPENDS = "packagegroup-core-boot"
18 POKY_DEFAULT_EXTRA_RRECOMMENDS = "kernel-module-af-packet"
19
20 DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
21
22 PREFERRED_VERSION_linux-yocto ?= "5.14%"
23 PREFERRED_VERSION_linux-yocto-rt ?= "5.14%"
24
25 SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
26 SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}"
27
28 DISTRO_EXTRA_RDEPENDS += "${POKY_DEFAULT_EXTRA_RDEPENDS}"
29 DISTRO_EXTRA_RRECOMMENDS += "${POKY_DEFAULT_EXTRA_RRECOMMENDS}"
30
31 TCLIBCAPPEND = ""
32
33 PREMIRRORS ??= "\
34 bzr://.*/.* https://downloads.yoctoproject.org/mirror/sources/ \n \
35 cvs://.*/.* https://downloads.yoctoproject.org/mirror/sources/ \n \
36 git://.*/.* https://downloads.yoctoproject.org/mirror/sources/ \n \
37 gitsm://.*/.* https://downloads.yoctoproject.org/mirror/sources/ \n \
38 hg://.*/.* https://downloads.yoctoproject.org/mirror/sources/ \n \
39 osc://.*/.* https://downloads.yoctoproject.org/mirror/sources/ \n \
40 p4://.*/.* https://downloads.yoctoproject.org/mirror/sources/ \n \
41 svn://.*/.* https://downloads.yoctoproject.org/mirror/sources/ \n"
58 # add poky sanity bbclass
59 INHERIT += "poky-sanity"
60
61 # QA check settings - a little stricter than the OE-Core defaults
62 # (none currently necessary as we now match OE-Core)
63 #WARN_TO_ERROR_QA = "X"
64 #WARN_QA_remove = "${WARN_TO_ERROR_QA}"
65 #ERROR_QA_append = " ${WARN_TO_ERROR_QA}"
66
67 require conf/distro/include/poky-world-exclude.inc
68 require conf/distro/include/no-static-libs.inc
69 require conf/distro/include/yocto-uninative.inc
70 require conf/distro/include/security_flags.inc
71 INHERIT += "uninative"
72
73 INHERIT += "reproducible_build"
74
75 BB_SIGNATURE_HANDLER ?= "OEEquivHash"
76 BB_HASHSERVE ??= "auto"
比较重要的是:
- 内核选择
22 PREFERRED_VERSION_linux-yocto ?= "5.14%"
23 PREFERRED_VERSION_linux-yocto-rt ?= "5.14%"
配合PREFERRED_PROVIDER_virtual/kernel
使用,可以确定哪个recipe
处理内核。
- 头文件
67 require conf/distro/include/poky-world-exclude.inc
68 require conf/distro/include/no-static-libs.inc
69 require conf/distro/include/yocto-uninative.inc
70 require conf/distro/include/security_flags.inc
- 继承
INHERIT += "poky-sanity"
INHERIT += "uninative"
INHERIT += "reproducible_build"
头文件比较简单,直接列在下面
require conf/distro/include/poky-world-exclude.inc
内容为空require conf/distro/include/no-static-libs.inc
禁用 static
1 DISABLE_STATIC ?= " --disable-static"
2
3 # qemu aborts on unrecognised option
4 DISABLE_STATIC:pn-qemu = ""
5 DISABLE_STATIC:pn-qemu-native = ""
6 DISABLE_STATIC:pn-nativesdk-qemu = ""
7 DISABLE_STATIC:pn-qemu-system-native = ""
8 # pciutils fails build
9 DISABLE_STATIC:pn-pciutils = ""
10 # libcap aborts on unrecognised option
11 DISABLE_STATIC:pn-libcap = ""
12 DISABLE_STATIC:pn-libcap-native = ""
13 DISABLE_STATIC:pn-nativesdk-libcap = ""
14 # libpcap aborts on unrecognised option
15 DISABLE_STATIC:pn-libpcap = ""
16 # needed by gdb
17 DISABLE_STATIC:pn-readline = ""
18 # openjade/sgml-common have build issues without static libs
19 DISABLE_STATIC:pn-sgml-common-native = ""
20 DISABLE_STATIC:pn-openjade-native = ""
21 # openssl has build issues without static libs
22 DISABLE_STATIC:pn-openssl = ""
23 DISABLE_STATIC:pn-openssl-native = ""
24 DISABLE_STATIC:pn-nativesdk-openssl = ""
25 # libssp-static-dev included in build-appliance
26 DISABLE_STATIC:pn-gcc-runtime = ""
27 # libusb1-native is used to build static dfu-util-native
28 DISABLE_STATIC:pn-libusb1-native = ""
29
30 EXTRA_OECONF:append = "${DISABLE_STATIC}"
31
32 EXTRA_OECMAKE:append:pn-libical = " -DSHARED_ONLY=True"
33 EXTRA_OECMAKE:append:pn-libjpeg-turbo = " -DENABLE_STATIC=False"
34
35 EXCONFIG_ARGS:append:pn-ncurses = " --without-normal"
36 EXCONFIG_ARGS:append:pn-ncurses-native = " --without-normal"
37 EXCONFIG_ARGS:append:pn-nativesdk-ncurses = " --without-normal"
- require conf/distro/include/yocto-uninative.inc
uninative相关的配置
1 #
2 # This include points at uninative tarballs generated and maintained
3 # by the Yocto Project. These file can be included by distros if they
4 # want to use/maintain a unified sstate feed for native/cross artefacts
5 # rather than the feeds having native/cross artefacts which are specific
6 # to the distro running on the build machine.
7 #
8
9 UNINATIVE_MAXGLIBCVERSION = "2.35"
10 UNINATIVE_VERSION = "3.5"
11
12 UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/"
13 UNINATIVE_CHECKSUM[aarch64] ?= "6de0771bd21e0fcb5e80388e5b561a8023b24083bcbf46e056a089982aff75d7"
14 UNINATIVE_CHECKSUM[i686] ?= "8c8745becbfa1c341bae839c7eab56ddf17ce36c303bcd73d3b2f2f788b631c2"
15 UNINATIVE_CHECKSUM[x86_64] ?= "e8047a5748e6f266165da141eb6d08b23674f30e477b0e5505b6403d50fbc4b2"
- require conf/distro/include/security_flags.inc
编译安全配置
1 # Setup extra CFLAGS and LDFLAGS which have 'security' benefits. These
2 # don't work universally, there are recipes which can't use one, the other
3 # or both so a blacklist is maintained here. The idea would be over
4 # time to reduce this list to nothing.
5 # From a Yocto Project perspective, this file is included and tested
6 # in the DISTRO="poky" configuration.