[oe] [meta-oe][PATCH 1/1] kernel-selftest: Add a recipe on kernel selftest

Khem Raj raj.khem at gmail.com
Mon Jul 30 18:38:14 UTC 2018


These are generic layers so adding recipes which limit them to a certain
kernel or setup is
Not preferred generally I would suggest keep
This recipe in BSP layers where it’s certain that
They will be provided with needed pre requisites

On Mon, Jul 30, 2018 at 5:12 AM Hongzhi, Song <hongzhi.song at windriver.com>
wrote:

> Hi Raj,
>
> I can continue to fix the error with rpi that you build. But I found that
> rpi gets kernel
>
> from git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y, which is
> not belong
>
> to openembeded. I think that the rpi recipe must make some special change
> which
>
> cause the error.
>
>
> And the recipe in meta-oe is OK both with glibc and musl. So could you
> build a project
>
> with oe-core's kernel?  If there is no problem, would you merge the recipe?
>
> --Hongzhi
>
>
>
> On 2018年07月30日 12:02, Khem Raj wrote:
>
> I can not get it compiling for musl and rpi with poky lsb equivalent
> distro until there are clean builds it won’t be possible for me to get this
> in
>
> On Sun, Jul 29, 2018 at 8:34 PM Hongzhi, Song <hongzhi.song at windriver.com>
> wrote:
>
>> ping
>>
>> --Hongzhi
>>
>>
>> On 2018年07月27日 17:00, Hongzhi, Song wrote:
>> > Hi Raj,
>> >
>> > Could you help to confirm that if the libelf exists in your
>> > recipe-sysroot?
>> >
>> > Because I can't reproduce your error.
>> >
>> >
>> > --Hongzhi
>> >
>> >
>> > On 2018年07月27日 16:40, Khem Raj wrote:
>> >> this fails on rpi
>> >>
>> >> ERROR: Logfile of failure stored in:
>> >>
>> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/temp/log.do_compile.22198
>>
>> >>
>> >> Log data follows:
>> >> | DEBUG: Executing shell function do_compile
>> >> | NOTE: make -j 16 CROSS_COMPILE=arm-bec-linux-gnueabi- ARCH=arm
>> >> CC=arm-bec-linux-gnueabi-gcc  -march=armv7ve -mthumb -mfpu=neon-vfpv4
>> >> -mfloat-abi=hard -mcpu=cortex-a7 -fstack-protector-strong
>> >> -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security
>> >> -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat
>> >> -Wformat-security -Werror=format-security
>> >>
>> --sysroot=/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/recipe-sysroot
>>
>> >>
>> >> AR=arm-bec-linux-gnueabi-ar LD=arm-bec-linux-gnueabi-ld
>> >>
>> --sysroot=/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/recipe-sysroot
>>
>> >>
>> >>
>> DESTDIR=/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/image
>> >> -C
>> >>
>> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf
>> >> | make: Entering directory
>> >>
>> '/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf'
>>
>> >>
>> >> | make -C ../../../lib/bpf
>> >>
>> OUTPUT=/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/
>>
>> >>
>> >> | make[1]: Entering directory
>> >>
>> '/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/lib/bpf'
>>
>> >>
>> >> |
>> >> | Auto-detecting system features:
>> >> | ...                        libelf: [ ^[[31mOFF^[[m ]
>> >> | ...                           bpf: [ ^[[31mOFF^[[m ]
>> >> |
>> >> | BPF API too old
>> >> | make[1]: *** [Makefile:219: bpfdep] Error 255
>> >> | make[1]: *** Waiting for unfinished jobs....
>> >> | No libelf found
>> >> | make[1]: *** [Makefile:216: elfdep] Error 255
>> >> |   HOSTCC
>> >>
>> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/fixdep.o
>> >> |   HOSTLD
>> >>
>> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/fixdep-in.o
>> >> |   LINK
>> >>
>> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/fixdep
>> >> | make[1]: Leaving directory
>> >>
>> '/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/lib/bpf'
>>
>> >>
>> >> | make: *** [Makefile:33:
>> >>
>> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf/libbpf.a]
>>
>> >>
>> >> Error 2
>> >> | make: Leaving directory
>> >>
>> '/mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf'
>>
>> >>
>> >> | ERROR: oe_runmake failed
>> >> | WARNING:
>> >>
>> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/temp/run.do_compile.22198:1
>> >> exit 1 from 'exit 1'
>> >> | ERROR: Function failed: do_compile (log file is located at
>> >>
>> /mnt/a/oe/build/tmp/work/raspberrypi3-bec-linux-gnueabi/kernel-selftest/1.0-r0/temp/log.do_compile.22198)
>>
>> >>
>> >>
>> >> On Mon, Jul 16, 2018 at 2:51 AM Hongzhi, Song
>> >> <hongzhi.song at windriver.com> wrote:
>> >>>
>> >>>
>> >>> On 2018年07月14日 00:23, Burton, Ross wrote:
>> >>>> On 13 July 2018 at 15:06, Hongzhi.Song <hongzhi.song at windriver.com>
>> >>>> wrote:
>> >>>>> +LIC_FILES_CHKSUM =
>> >>>>> "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7 \
>> >>>> Why are you shipping your own copy of the kernel's COPYING file even
>> >>>> though you copy another in that prefunc?
>> >>>>
>> >>>> Isn't it possible to just depend on kernel-source and build directly
>> >>>> from the kernel source tree?
>> >>>>
>> >>>>> +# for bpf and vm
>> >>>>> +DEPENDS = " \
>> >>>>> +    elfutils \
>> >>>>> +    libcap \
>> >>>>> +    libcap-ng \
>> >>>>> +    fuse \
>> >>>>> +    util-linux \
>> >>>>> +    rsync-native \
>> >>>>> +"
>> >>>> Really not convinced these dependencies are accurate.
>> >>>>
>> >>>>> +TEST_LIST = "bpf \
>> >>>>> +             vm \
>> >>>>> +"
>> >>>> You're not listing memfd in here, but that is the only place which
>> >>>> uses fuse as far as I can tell.
>> >>>>
>> >>>> My suggestion is to trim the DEPENDS back to the core minimum and use
>> >>>> PACKAGECONIG to select what directories get built. This means you can
>> >>>> have optional test suites where the dependencies are not in oe-core
>> >>>> (fuse for memfd, for example), and get the right RDEPENDS too.
>> >>>>
>> >>>>> +        oe_runmake -C ${S}/tools/testing/selftests/${i}
>> >>>>> INSTALL_PATH=${D}/opt/kselftest/${i} install
>> >>>> FHS says /opt is for sysadmin-installed tools that are not package
>> >>>> managed.  You're building a package.  You're also building a package
>> >>>> which is essentially ptest.  I'd say inherit ptest, write a runner,
>> >>>> and put all the binaries in $PTESTDIR.
>> >>> Hi Burton,
>> >>>
>> >>> kernel-selftest is designed to be shared by ptest and oe-self, and
>> >>> thus is
>> >>> not supposed to inherit ptest.
>> >>>
>> >>> The suggestions you mentioned above will be modified soon.
>> >>>
>> >>> --Hongzhi
>> >>>
>> >>>> Ross
>> >>>>
>> >
>>
>>
>



More information about the Openembedded-devel mailing list