[OE-core] [PATCH 1/3] linux-yocto: introduce 5.4 recipes

Khem Raj raj.khem at gmail.com
Mon Feb 3 16:45:40 UTC 2020


On Mon, Feb 3, 2020 at 8:42 AM Martin Jansa <martin.jansa at gmail.com> wrote:

> It fails to build with gold enabled (ld-is-gold in DISTRO_FEATURES)
>
> First olddefconfig fails with "gold linker 'x86_64-oe-linux-ld' not
> supported" and then it fails with a bit misleading error about oldnoconfig
> (which is called only when oddefconfig fails) and then the whole log
> repeats itself again, whole log.do_configure.4075 follows:
>

Since it’s a kernel piece I think asking for gold might be out of scope
perhaps

I have staged a fix in master next which helps a bit with eg mips I had to
disable bpf

>
> make[1]: Entering directory
> '/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86_64-standard-build'
>   GEN     Makefile
>   HOSTCC  scripts/basic/fixdep
>   HOSTCC  scripts/kconfig/conf.o
>   HOSTCC  scripts/kconfig/confdata.o
>   HOSTCC  scripts/kconfig/expr.o
>   HOSTCC  scripts/kconfig/lexer.lex.o
>   HOSTCC  scripts/kconfig/parser.tab.o
>   HOSTCC  scripts/kconfig/preprocess.o
>   HOSTCC  scripts/kconfig/symbol.o
>   HOSTLD  scripts/kconfig/conf
> scripts/kconfig/conf  --olddefconfig Kconfig
> scripts/Kconfig.include:39:  gold linker 'x86_64-oe-linux-ld' not supported
> make[2]: ***
> [/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source/scripts/kconfig/Makefile:73:
> olddefconfig] Error 1
> make[1]: ***
> [/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source/Makefile:567:
> olddefconfig] Error 2
> make[1]: Leaving directory
> '/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86_64-standard-build'
> make: *** [Makefile:179: sub-make] Error 2
> make: Leaving directory
> '/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source'
> NOTE: make HOSTCC=gcc
>  -isystem/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/include
> -O2 -pipe
> -L/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/lib
>
> -L/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/lib
>                         -Wl,--enable-new-dtags
> -Wl,-rpath-link,/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/lib
>
> -Wl,-rpath-link,/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/lib
>
> -Wl,-rpath,/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/usr/lib
>
> -Wl,-rpath,/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native/lib
>                         -Wl,-O1 -Wl,--allow-shlib-undefined
> -Wl,--dynamic-linker=/OE/build/oe-core/tmp-glibc/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
> HOSTCPP=gcc  -E -C
> /OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source
> O=/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86_64-standard-build
> CC=x86_64-oe-linux-gcc  -fuse-ld=bfd
> -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0=/usr/src/debug/linux-yocto/5.4.15-r0
>
>  -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0=/usr/src/debug/linux-yocto/5.4.15-r0
>
>  -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot=
>
>  -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/recipe-sysroot-native=
>  -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source=/usr/src/kernel
> oldnoconfig
> make: Entering directory
> '/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source'
> make[1]: Entering directory
> '/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86_64-standard-build'
>   GEN     Makefile
> make[2]: *** No rule to make target 'oldnoconfig'.  Stop.
> make[1]: ***
> [/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source/Makefile:567:
> oldnoconfig] Error 2
> make[1]: Leaving directory
> '/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86_64-standard-build'
> make: *** [Makefile:179: sub-make] Error 2
> make: Leaving directory
> '/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source'
> ERROR: oe_runmake failed
> WARNING: exit code 1 from a shell command.
> ERROR: Execution of
> '/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/temp/run.do_configure.4075'
> failed with exit code 1:
> make: Entering directory
> '/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source'
> make[1]: Entering directory
> '/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86_64-standard-build'
>   GEN     Makefile
>   HOSTCC  scripts/basic/fixdep
>   HOSTCC  scripts/kconfig/conf.o
>   HOSTCC  scripts/kconfig/confdata.o
>   HOSTCC  scripts/kconfig/expr.o
>   HOSTCC  scripts/kconfig/lexer.lex.o
>   HOSTCC  scripts/kconfig/parser.tab.o
>   HOSTCC  scripts/kconfig/preprocess.o
>   HOSTCC  scripts/kconfig/symbol.o
>   HOSTLD  scripts/kconfig/conf
> scripts/kconfig/conf  --olddefconfig Kconfig
> scripts/Kconfig.include:39:  gold linker 'x86_64-oe-linux-ld' not supported
> make[2]: ***
> [/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source/scripts/kconfig/Makefile:73:
> olddefconfig] Error 1
> make[1]: ***
> [/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source/Makefile:567:
> olddefconfig] Error 2
> make[1]: Leaving directory
> '/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86_64-standard-build'
> make: *** [Makefile:179: sub-make] Error 2
> make: Leaving directory
> '/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source'
> make: Entering directory
> '/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source'
> make[1]: Entering directory
> '/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86_64-standard-build'
>   GEN     Makefile
> make[2]: *** No rule to make target 'oldnoconfig'.  Stop.
> make[1]: ***
> [/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source/Makefile:567:
> oldnoconfig] Error 2
> make[1]: Leaving directory
> '/OE/build/oe-core/tmp-glibc/work/qemux86_64-oe-linux/linux-yocto/5.4.15-r0/linux-qemux86_64-standard-build'
> make: *** [Makefile:179: sub-make] Error 2
> make: Leaving directory
> '/OE/build/oe-core/tmp-glibc/work-shared/qemux86-64/kernel-source'
> WARNING: exit code 1 from a shell command.
>
> On Fri, Jan 31, 2020 at 10:37 AM Khem Raj <raj.khem at gmail.com> wrote:
>
>> kernel-seltest fails now to build
>>
>> https://errors.yoctoproject.org/Errors/Details/308578/
>>
>> On Tue, Jan 28, 2020 at 2:14 PM <bruce.ashfield at gmail.com> wrote:
>> >
>> > From: Bruce Ashfield <bruce.ashfield at gmail.com>
>> >
>> > This creates recipes for the v5.4/* branches of the linux-yocto
>> > reference kernel.
>> >
>> > preempt-rt, yaffs2, aufs5 and reference board specific patches are
>> > part of these branches. All major architectures: x86,x86-64,ARM,
>> > ARM64,ppc,mips and mips64 have been feature tested against this
>> > reference.
>> >
>> > 5.4 is a LTS release, and as such will receive -stable updates
>> > for the duration of upstream korg support.
>> >
>> > Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
>> > ---
>> >  .../linux/linux-yocto-rt_5.4.bb               | 44 +++++++++++++++
>> >  .../linux/linux-yocto-tiny_5.4.bb             | 32 +++++++++++
>> >  meta/recipes-kernel/linux/linux-yocto_5.4.bb  | 54 +++++++++++++++++++
>> >  3 files changed, 130 insertions(+)
>> >  create mode 100644 meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
>> >  create mode 100644 meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
>> >  create mode 100644 meta/recipes-kernel/linux/linux-yocto_5.4.bb
>> >
>> > diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
>> b/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
>> > new file mode 100644
>> > index 0000000000..52f0e3b833
>> > --- /dev/null
>> > +++ b/meta/recipes-kernel/linux/linux-yocto-rt_5.4.bb
>> > @@ -0,0 +1,44 @@
>> > +KBRANCH ?= "v5.4/standard/preempt-rt/base"
>> > +
>> > +require recipes-kernel/linux/linux-yocto.inc
>> > +
>> > +# Skip processing of this recipe if it is not explicitly specified as
>> the
>> > +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
>> > +# to build multiple virtual/kernel providers, e.g. as dependency of
>> > +# core-image-rt-sdk, core-image-rt.
>> > +python () {
>> > +    if d.getVar("KERNEL_PACKAGE_NAME") == "kernel" and
>> d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-yocto-rt":
>> > +        raise bb.parse.SkipRecipe("Set
>> PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
>> > +}
>> > +
>> > +SRCREV_machine ?= "5d5d4070c5f8b10a4c6bda37e77071ce37f102d5"
>> > +SRCREV_meta ?= "a48522779fae4887c47268e5f650bf10c94a165c"
>> > +
>> > +SRC_URI = "git://
>> git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine
>> <http://git.yoctoproject.org/linux-yocto.git;branch=$%7BKBRANCH%7D;name=machine>
>> \
>> > +           git://
>> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}
>> <http://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=$%7BKMETA%7D>
>> "
>> > +
>> > +LINUX_VERSION ?= "5.4.15"
>> > +
>> > +LIC_FILES_CHKSUM =
>> "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
>> > +
>> > +DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '',
>> d)}"
>> > +DEPENDS += "openssl-native util-linux-native"
>> > +
>> > +PV = "5.4.15"
>> > +
>> > +KMETA = "kernel-meta"
>> > +KCONF_BSP_AUDIT_LEVEL = "2"
>> > +
>> > +LINUX_KERNEL_TYPE = "preempt-rt"
>> > +
>> > +COMPATIBLE_MACHINE =
>> "(qemux86|qemux86-64|qemuarm|qemuarmv5|qemuarm64|qemuppc|qemumips)"
>> > +
>> > +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
>> > +
>> > +# Functionality flags
>> > +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc
>> features/taskstats/taskstats.scc"
>> > +KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
>> > +KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc
>> features/drm-bochs/drm-bochs.scc"
>> > +KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
>> > +KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
>> > +KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES",
>> "ptest", " features/scsi/scsi-debug.scc", "" ,d)}"
>> > diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
>> b/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
>> > new file mode 100644
>> > index 0000000000..a028b37548
>> > --- /dev/null
>> > +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_5.4.bb
>> > @@ -0,0 +1,32 @@
>> > +KBRANCH ?= "v5.4/standard/tiny/base"
>> > +KBRANCH_qemuarm  ?= "v5.4/standard/tiny/arm-versatile-926ejs"
>> > +
>> > +LINUX_KERNEL_TYPE = "tiny"
>> > +KCONFIG_MODE = "--allnoconfig"
>> > +
>> > +require recipes-kernel/linux/linux-yocto.inc
>> > +
>> > +LINUX_VERSION ?= "5.4.15"
>> > +LIC_FILES_CHKSUM =
>> "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
>> > +
>> > +DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '',
>> d)}"
>> > +DEPENDS += "openssl-native util-linux-native"
>> > +
>> > +KMETA = "kernel-meta"
>> > +KCONF_BSP_AUDIT_LEVEL = "2"
>> > +
>> > +SRCREV_machine_qemuarm ?= "9eeafafc19278b5c5376ba1fd9eae26626730458"
>> > +SRCREV_machine ?= "cdda35317561d2741b396efa623ace0bd2212c16"
>> > +SRCREV_meta ?= "a48522779fae4887c47268e5f650bf10c94a165c"
>> > +
>> > +PV = "5.4.15"
>> > +
>> > +SRC_URI = "git://
>> git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine
>> <http://git.yoctoproject.org/linux-yocto.git;branch=$%7BKBRANCH%7D;name=machine>
>> \
>> > +           git://
>> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}
>> <http://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=$%7BKMETA%7D>
>> "
>> > +
>> > +COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5"
>> > +
>> > +# Functionality flags
>> > +KERNEL_FEATURES = ""
>> > +
>> > +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
>> > diff --git a/meta/recipes-kernel/linux/linux-yocto_5.4.bb
>> b/meta/recipes-kernel/linux/linux-yocto_5.4.bb
>> > new file mode 100644
>> > index 0000000000..9fbc47d79e
>> > --- /dev/null
>> > +++ b/meta/recipes-kernel/linux/linux-yocto_5.4.bb
>> > @@ -0,0 +1,54 @@
>> > +KBRANCH ?= "v5.4/standard/base"
>> > +
>> > +require recipes-kernel/linux/linux-yocto.inc
>> > +
>> > +# board specific branches
>> > +KBRANCH_qemuarm  ?= "v5.4/standard/arm-versatile-926ejs"
>> > +KBRANCH_qemuarm64 ?= "v5.4/standard/qemuarm64"
>> > +KBRANCH_qemumips ?= "v5.4/standard/mti-malta32"
>> > +KBRANCH_qemuppc  ?= "v5.4/standard/qemuppc"
>> > +KBRANCH_qemuriscv64  ?= "v5.4/standard/base"
>> > +KBRANCH_qemux86  ?= "v5.4/standard/base"
>> > +KBRANCH_qemux86-64 ?= "v5.4/standard/base"
>> > +KBRANCH_qemumips64 ?= "v5.4/standard/mti-malta64"
>> > +
>> > +SRCREV_machine_qemuarm ?= "637086def651a00b1274a80cd3ca740e271eb0f9"
>> > +SRCREV_machine_qemuarm64 ?= "cdda35317561d2741b396efa623ace0bd2212c16"
>> > +SRCREV_machine_qemumips ?= "bfe04753d00b0f36848bb8204020b69d0e78f02a"
>> > +SRCREV_machine_qemuppc ?= "cdda35317561d2741b396efa623ace0bd2212c16"
>> > +SRCREV_machine_qemuriscv64 ?=
>> "cdda35317561d2741b396efa623ace0bd2212c16"
>> > +SRCREV_machine_qemux86 ?= "cdda35317561d2741b396efa623ace0bd2212c16"
>> > +SRCREV_machine_qemux86-64 ?= "cdda35317561d2741b396efa623ace0bd2212c16"
>> > +SRCREV_machine_qemumips64 ?= "81cd255c72add4dcf06603250869f739bb4f05cb"
>> > +SRCREV_machine ?= "cdda35317561d2741b396efa623ace0bd2212c16"
>> > +SRCREV_meta ?= "a48522779fae4887c47268e5f650bf10c94a165c"
>> > +
>> > +# remap qemuarm to qemuarma15 for the 5.4 kernel
>> > +# KMACHINE_qemuarm ?= "qemuarma15"
>> > +
>> > +SRC_URI = "git://
>> git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}
>> <http://git.yoctoproject.org/linux-yocto.git;name=machine;branch=$%7BKBRANCH%7D>;
>> \
>> > +           git://
>> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}
>> <http://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=$%7BKMETA%7D>
>> "
>> > +
>> > +LIC_FILES_CHKSUM =
>> "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
>> > +LINUX_VERSION ?= "5.4.15"
>> > +
>> > +DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '',
>> d)}"
>> > +DEPENDS += "openssl-native util-linux-native"
>> > +
>> > +PV = "5.4.15"
>> > +
>> > +KMETA = "kernel-meta"
>> > +KCONF_BSP_AUDIT_LEVEL = "2"
>> > +
>> > +KERNEL_DEVICETREE_qemuarmv5 = "versatile-pb.dtb"
>> > +
>> > +COMPATIBLE_MACHINE =
>> "qemuarm|qemuarmv5|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv64"
>> > +
>> > +# Functionality flags
>> > +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc"
>> > +KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
>> > +KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc
>> features/drm-bochs/drm-bochs.scc"
>> > +KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
>> > +KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc"
>> > +KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES",
>> "mx32", " cfg/x32.scc", "" ,d)}"
>> > +KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES",
>> "ptest", " features/scsi/scsi-debug.scc", "" ,d)}"
>> > --
>> > 2.19.1
>> >
>> > --
>> > _______________________________________________
>> > Openembedded-core mailing list
>> > Openembedded-core at lists.openembedded.org
>> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20200203/0732dc34/attachment-0001.html>


More information about the Openembedded-core mailing list