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

Martin Jansa martin.jansa at gmail.com
Mon Feb 3 17:32:32 UTC 2020


On Mon, Feb 03, 2020 at 08:45:40AM -0800, Khem Raj wrote:
> 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

I haven't found your fix in either oe-core/master-next nor
yoe/master-next. But I'll send my own fix.

> 
> >
> > 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 --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20200203/2a0ebf98/attachment.sig>


More information about the Openembedded-core mailing list