All of lore.kernel.org
 help / color / mirror / Atom feed
* Issue during do_rootfs for custom kernel modules
@ 2019-01-07 23:30 Kevin Lannen
  0 siblings, 0 replies; only message in thread
From: Kevin Lannen @ 2019-01-07 23:30 UTC (permalink / raw)
  To: Yocto discussion list; +Cc: lhondorf


[-- Attachment #1.1: Type: text/plain, Size: 1433 bytes --]

Hi,

I am trying to build a custom kernel module for a marvell wifi/BT module and am running into a strange error during the rootfs step.

Problem: conflicting requests
- nothing provides kernel-module-bt8977-4.9.88-cl-som-imx8-6.9+g5e23f9d61147 needed by kernel-module-marvell-bt8977-1.0-r0.cl_som_imx8
ERROR: patroness-image-1.0-r0 do_rootfs: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/build/compulab-rocko/build-wayland/tmp/work/cl_som_imx8-poky-linux/patroness-image/1.0-r0/temp/log.do_rootfs.25346
ERROR: Task (/home/build/compulab-rocko/sources/meta-patroness/recipes-core/images/patroness-image.bb:do_rootfs) failed with exit code '1'

I have checked the attached logfile and it does not seem to have anymore information about what would be causing this issue.

I cannot figure out why it cannot find the kernel-module-bt8977-4.9.88-cl-som-imx8-6.9+g5e23f9d61147 package since it shows up in the package folder in build-wayland/tmp/work/cl_som_imx8-poky-linux/kernel-module-marvell-bt8977/1.0-r0

I have also attached the bitbake recipe for this module but it does not seem to set the version for this anywhere.

Does anyone have an idea of what might be causing this or where I should continue investigating this failure?

Thanks,


Kevin Lannen
Embedded Systems Engineer

Patroness, LLC
Protect Fiercely, Live Freely.
kevin@patroness.com<mailto:jered@patroness.com>



[-- Attachment #1.2: Type: text/html, Size: 5411 bytes --]

[-- Attachment #2: run.do_rootfs.25346 --]
[-- Type: application/octet-stream, Size: 3524 bytes --]

def do_rootfs(d):
    from oe.rootfs import create_rootfs
    from oe.manifest import create_manifest
    import logging

    logger = d.getVar('BB_TASK_LOGGER', False)
    if logger:
        logcatcher = bb.utils.LogCatcher()
        logger.addHandler(logcatcher)
    else:
        logcatcher = None

    # NOTE: if you add, remove or significantly refactor the stages of this
    # process then you should recalculate the weightings here. This is quite
    # easy to do - just change the MultiStageProgressReporter line temporarily
    # to pass debug=True as the last parameter and you'll get a printout of
    # the weightings as well as a map to the lines where next_stage() was
    # called. Of course this isn't critical, but it helps to keep the progress
    # reporting accurate.
    stage_weights = [1, 203, 354, 186, 65, 4228, 1, 353, 49, 330, 382, 23, 1]
    progress_reporter = bb.progress.MultiStageProgressReporter(d, stage_weights)
    progress_reporter.next_stage()

    # Handle package exclusions
    excl_pkgs = d.getVar("PACKAGE_EXCLUDE").split()
    inst_pkgs = d.getVar("PACKAGE_INSTALL").split()
    inst_attempt_pkgs = d.getVar("PACKAGE_INSTALL_ATTEMPTONLY").split()

    d.setVar('PACKAGE_INSTALL_ORIG', ' '.join(inst_pkgs))
    d.setVar('PACKAGE_INSTALL_ATTEMPTONLY', ' '.join(inst_attempt_pkgs))

    for pkg in excl_pkgs:
        if pkg in inst_pkgs:
            bb.warn("Package %s, set to be excluded, is in %s PACKAGE_INSTALL (%s).  It will be removed from the list." % (pkg, d.getVar('PN'), inst_pkgs))
            inst_pkgs.remove(pkg)

        if pkg in inst_attempt_pkgs:
            bb.warn("Package %s, set to be excluded, is in %s PACKAGE_INSTALL_ATTEMPTONLY (%s).  It will be removed from the list." % (pkg, d.getVar('PN'), inst_pkgs))
            inst_attempt_pkgs.remove(pkg)

    d.setVar("PACKAGE_INSTALL", ' '.join(inst_pkgs))
    d.setVar("PACKAGE_INSTALL_ATTEMPTONLY", ' '.join(inst_attempt_pkgs))

    # Ensure we handle package name remapping
    # We have to delay the runtime_mapping_rename until just before rootfs runs
    # otherwise, the multilib renaming could step in and squash any fixups that
    # may have occurred.
    pn = d.getVar('PN')
    runtime_mapping_rename("PACKAGE_INSTALL", pn, d)
    runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", pn, d)
    runtime_mapping_rename("BAD_RECOMMENDATIONS", pn, d)

    # Generate the initial manifest
    create_manifest(d)

    progress_reporter.next_stage()

    # generate rootfs
    d.setVarFlag('REPRODUCIBLE_TIMESTAMP_ROOTFS', 'export', '1')
    create_rootfs(d, progress_reporter=progress_reporter, logcatcher=logcatcher)

    progress_reporter.finish()

do_rootfs(d)

def runtime_mapping_rename (varname, pkg, d):
    #bb.note("%s before: %s" % (varname, d.getVar(varname)))

    new_depends = {}
    deps = bb.utils.explode_dep_versions2(d.getVar(varname) or "")
    for depend in deps:
        new_depend = get_package_mapping(depend, pkg, d)
        new_depends[new_depend] = deps[depend]

    d.setVar(varname, bb.utils.join_deps(new_depends, commasep=False))

    #bb.note("%s after: %s" % (varname, d.getVar(varname)))

def get_package_mapping (pkg, basepkg, d):
    import oe.packagedata

    data = oe.packagedata.read_subpkgdata(pkg, d)
    key = "PKG_%s" % pkg

    if key in data:
        # Have to avoid undoing the write_extra_pkgs(global_variants...)
        if bb.data.inherits_class('allarch', d) and data[key] == basepkg:
            return pkg
        return data[key]

    return pkg


[-- Attachment #3: kernel-module-marvell-bt8977.bb --]
[-- Type: application/octet-stream, Size: 1088 bytes --]

LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=ab04ac0f249af12befccb94447c08b77"

inherit module

SRC_URI = "file://../SD-WLAN-SD-BT-8977-U16-MMC-W16.68.1.p180-16.26.1.p180-C4X16610_V2-MGPL.tar \
          file://adapt_Makefile_to_oe.patch \
          file://../gpl-2.0.txt \
          "

do_unpack_extra() {
    cd ${S}
    for file in SD-BT-*.tgz; do
        tar -xf $file
    done
    cp -r SD-UAPSTA-BT-8977-U16-MMC-W16.68.1.p180-16.26.1.p180-C4X16610_V2-MGPL/mbt_src/* .
    cp ../gpl-2.0.txt ${S}/
    cd -
}

PROVIDES += "kernel-module-marvell-bt8977"

addtask unpack_extra after do_unpack before do_patch

FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/extra/bt8977.ko \
"
#  /lib/modules/${KERNEL_VERSION}/extra/load \
#  /lib/modules/${KERNEL_VERSION}/extra/README \
#  /lib/modules/${KERNEL_VERSION}/extra/unload \
#  /lib/modules/${KERNEL_VERSION}/extra/config/bt_cal_data.conf \
#  /lib/modules/${KERNEL_VERSION}/extra/config/bt_init_cfg.conf \
#               "


#KERNEL_MODULE_AUTOLOAD += " bt8977 "
KERNEL_MODULE_PROBECONF += " bt8977 "

S = "${WORKDIR}"



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-01-09  6:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-07 23:30 Issue during do_rootfs for custom kernel modules Kevin Lannen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.