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

Hongzhi, Song hongzhi.song at windriver.com
Wed Jul 11 02:50:43 UTC 2018


Is this the report you sent ?

http://lists.openembedded.org/pipermail/openembedded-devel/2018-July/119308.html


Sorry, I don't find accurate link. Could you give me a more clear direction?


-- Hongzhi


On 2018年07月10日 15:43, Khem Raj wrote:
> Look at the report I sent to oe Devel earlier it should have link to 
> full logs
>
> On Mon, Jul 9, 2018 at 10:51 PM Hongzhi, Song 
> <hongzhi.song at windriver.com <mailto:hongzhi.song at windriver.com>> wrote:
>
>     Could you attach building arguments, conf/local.conf,
>     log.do_compile for me?
>
>     The text you pasted is not enough.
>
>     -- Hongzhi
>
>
>     On 2018年07月10日 12:11, Khem Raj wrote:
>     > This is failing to build here
>     >
>     > | DEBUG: Executing shell function do_compile
>     > | NOTE: make -j 16 CROSS_COMPILE=x86_64-bec-linux- ARCH=x86
>     > CC=x86_64-bec-linux-gcc  -m64 -march=core2 -mtune=core2 -msse3
>     > -mfpmath=sse -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat
>     > -Wformat-security -Werror=format-security
>     >
>     --sysroot=/mnt/a/oe/build/tmp/work/qemux86_64-bec-linux/kernel-selftest/1.0-r0/recipe-sysroot
>     > AR=x86_64-bec-linux-ar LD=x86_64-bec-linux-ld
>     >
>     --sysroot=/mnt/a/oe/build/tmp/work/qemux86_64-bec-linux/kernel-selftest/1.0-r0/recipe-sysroot
>     >
>     DESTDIR=/mnt/a/oe/build/tmp/work/qemux86_64-bec-linux/kernel-selftest/1.0-r0/image
>     > -C
>     /mnt/a/oe/build/tmp/work/qemux86_64-bec-linux/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf
>     > | make: Entering directory
>     >
>     '/mnt/a/oe/build/tmp/work/qemux86_64-bec-linux/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf'
>     > | Makefile:19: *** recipe commences before first target.  Stop.
>     > | make: Leaving directory
>     >
>     '/mnt/a/oe/build/tmp/work/qemux86_64-bec-linux/kernel-selftest/1.0-r0/kernel-selftest-1.0/tools/testing/selftests/bpf'
>     > | ERROR: oe_runmake failed
>     > On Sat, Jul 7, 2018 at 11:05 PM Hongzhi.Song
>     <hongzhi.song at windriver.com <mailto:hongzhi.song at windriver.com>>
>     wrote:
>     >> The recipe builds the framework for kernel-selftest. Now, it just
>     >> contains two sets of testcase, bpf and vm. We are appending others
>     >> to the recipe.
>     >>
>     >> It needs some features which will be written into relevant recipe.
>     >> But now, you should add them to conf/local.conf manually.
>     >> KERNEL_FEATURES_append += "features/bpf/bpf.scc"
>     >>
>     >> Signed-off-by: Dengke Du <dengke.du at windriver.com
>     <mailto:dengke.du at windriver.com>>
>     >> Signed-off-by: Hongzhi.Song <hongzhi.song at windriver.com
>     <mailto:hongzhi.song at windriver.com>>
>     >> ---
>     >>   .../recipes-kernel/kselftest/kernel-selftest.bb
>     <http://kernel-selftest.bb>   | 94 ++++++++++++++++++++++
>     >>   1 file changed, 94 insertions(+)
>     >>   create mode 100644
>     meta-oe/recipes-kernel/kselftest/kernel-selftest.bb
>     <http://kernel-selftest.bb>
>     >>
>     >> diff --git
>     a/meta-oe/recipes-kernel/kselftest/kernel-selftest.bb
>     <http://kernel-selftest.bb>
>     b/meta-oe/recipes-kernel/kselftest/kernel-selftest.bb
>     <http://kernel-selftest.bb>
>     >> new file mode 100644
>     >> index 0000000..6f20bd3
>     >> --- /dev/null
>     >> +++ b/meta-oe/recipes-kernel/kselftest/kernel-selftest.bb
>     <http://kernel-selftest.bb>
>     >> @@ -0,0 +1,94 @@
>     >> +SUMMARY = "Kernel selftest for Linux"
>     >> +DESCRIPTION = "Kernel selftest for Linux"
>     >> +LICENSE = "GPLv2"
>     >> +
>     >> +# for bpf and vm
>     >> +DEPENDS = " \
>     >> +    elfutils \
>     >> +    libcap \
>     >> +    libcap-ng \
>     >> +    fuse \
>     >> +    util-linux \
>     >> +    rsync-native \
>     >> +"
>     >> +# for vm
>     >> +RDEPENDS_${PN} += "libgcc \
>     >> +                   bash \
>     >> +"
>     >> +
>     >> +do_configure[depends] += "virtual/kernel:do_shared_workdir"
>     >> +
>     >> +inherit linux-kernel-base kernel-arch
>     >> +
>     >> +do_populate_lic[depends] += "virtual/kernel:do_patch"
>     >> +
>     >> +S = "${WORKDIR}/${BP}"
>     >> +
>     >> +# now we just test bpf and vm
>     >> +# we will append other kernel selftest in the future
>     >> +TEST_LIST = "bpf \
>     >> +             vm \
>     >> +"
>     >> +
>     >> +EXTRA_OEMAKE = '\
>     >> +    CROSS_COMPILE=${TARGET_PREFIX} \
>     >> +    ARCH=${ARCH} \
>     >> +    CC="${CC}" \
>     >> +    AR="${AR}" \
>     >> +    LD="${LD}" \
>     >> +'
>     >> +
>     >> +EXTRA_OEMAKE += "\
>     >> +    'DESTDIR=${D}' \
>     >> +"
>     >> +
>     >> +KERNEL_SELFTEST_SRC ?= "Makefile \
>     >> +                        include \
>     >> +                        tools \
>     >> +                        scripts \
>     >> +                        arch \
>     >> +"
>     >> +
>     >> +do_compile() {
>     >> +    for i in ${TEST_LIST}
>     >> +    do
>     >> +        oe_runmake -C ${S}/tools/testing/selftests/${i}
>     >> +    done
>     >> +}
>     >> +
>     >> +do_install() {
>     >> +    for i in ${TEST_LIST}
>     >> +    do
>     >> +        oe_runmake -C ${S}/tools/testing/selftests/${i}
>     INSTALL_PATH=${D}/opt/kselftest/${i} install
>     >> +    done
>     >> +
>     >> +    chown root:root  -R ${D}/opt/kselftest
>     >> +}
>     >> +
>     >> +do_configure() {
>     >> +    :
>     >> +}
>     >> +
>     >> +do_configure[prefuncs] += "copy_kselftest_source_from_kernel
>     remove_clang_related"
>     >> +python copy_kselftest_source_from_kernel() {
>     >> +    sources = (d.getVar("KERNEL_SELFTEST_SRC") or "").split()
>     >> +    src_dir = d.getVar("STAGING_KERNEL_DIR")
>     >> +    dest_dir = d.getVar("S")
>     >> +    bb.utils.mkdirhier(dest_dir)
>     >> +    for s in sources:
>     >> +        src = oe.path.join(src_dir, s)
>     >> +        dest = oe.path.join(dest_dir, s)
>     >> +        if os.path.isdir(src):
>     >> +            oe.path.copytree(src, dest)
>     >> +        else:
>     >> +            bb.utils.copyfile(src, dest)
>     >> +}
>     >> +
>     >> +remove_clang_related() {
>     >> +       sed -i -e '/test_pkt_access/d' -e
>     '/test_pkt_md_access/d' ${S}/tools/testing/selftests/bpf/Makefile
>     >> +}
>     >> +
>     >> +PACKAGE_ARCH = "${MACHINE_ARCH}"
>     >> +
>     >> +INHIBIT_PACKAGE_DEBUG_SPLIT="1"
>     >> +FILES_${PN} += "/opt/kselftest/"
>     >> --
>     >> 2.8.1
>     >>
>     >> --
>     >> _______________________________________________
>     >> Openembedded-devel mailing list
>     >> Openembedded-devel at lists.openembedded.org
>     <mailto:Openembedded-devel at lists.openembedded.org>
>     >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>




More information about the Openembedded-devel mailing list