[OE-core] [PATCH 0/6] kernel-yocto: consolidated pull request

Bruce Ashfield bruce.ashfield at windriver.com
Mon Aug 15 18:26:54 UTC 2016


Hi all,

Here's a collection of changes that have been queued over the past couple of
weeks.

I'm working on some additional -stable updates, as well as a new release
kernel for the fall release, but I wanted to get this queue cleared first.

The patches:

  linux-yocto/4.1: netfilter: x_tables: fix stable backport
  linux-yocto/4.1: bump to v4.1.29
  linux-yocto/4.1: config updates
  linux-yocto/4.4: -rt update patch meta-data to remove ()

Are typical -stable, and bug fix changes. I haven't seen any issues in my
local builds, so all looks well there. These can be taken in isolation from
the kernel tools changes that follow:

  kernel-yocto: streamline patch, configuration and audit phases
  yocto-bsp/yocto-kernel: update to work with the latest kern-tools

Are the important part of this series, and a significant contribution to the
fall release. I've been testing these for some time, and we've run the
kernel lab and yocto-bsp scripts against the tools. We haven't found a
regression yet, but I'm sure there are some lurking. These definitely need
cycles on the autobuilders.

>From the patch itself:

[
   We've been running with a set of kern-tools that were designed to work
   with build systems that knew nothing about git, trees, commits, etc.

   As such, there's been a set of shims/wrappers in place to work with
   within bitbake/oe-core. These were the *me scripts: createme, updateme,
   patchme and configme.

   With this commit, we strip that legacy code and use the tools directly.
   This means less complexity, fewer corner cases .. and no surprises
   when the tools are arunning. As another benefit, the tools consume
   much less time during a typical build and have no noticeable impact
   on the overall build time.

   Existing .scc files, features, and processing are not impacted as
   these tools are compatible with existing feature descriptions and
   kerne configuration fragments.

   The audit of kernel configuration fragments is now detached
   from the linux-yocto build structure and process. This means that
   they can eventually be tweaked to offer kernel audit to any type of
   kernel build and configuration process.

   Additionally, the kernel symbol audit phase can now resolve symbol
   dependencies and offer guidance when a symbol is missing:

      WARNING: linux-yocto-4.4.15+gitAUTOINC+b030d96c7b_f5e2c49d58-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration:

      ---------- CONFIG_BT_6LOWPAN -----------------
      Config: CONFIG_BT_6LOWPAN
      From: /home/bruce/poky/build/tmp/work-shared/qemux86-64/kernel-source/.kernel-meta/configs/standard/features/bluetooth/bluetooth.cfg
      Requested value:  CONFIG_BT_6LOWPAN=y
      Actual value:

      Config 'BT_6LOWPAN' has the following conditionals:
        BT_LE && 6LOWPAN (value: "n")
      Dependency values are:
        BT_LE [y] 6LOWPAN [n]
]

This is the 2nd step in making fragments, and their audit available to
any type of kernel build. They are also a significant simplification and
speed up of the processing. There's no branching, no conditioning of the
tree, etc.

The shortlogs of the tools changes are:

   4b5de90 kconf_check: use symbol_why to provide diagnostics on missing options
   92f8053 symbol_why: introduce symbol_why
   779d675 Makefile: add Kconfiglib to install list
   39c00bc tools: import Kconfiglib
   68531c9 kgit: add repo clean function
   b73353f kgit-scc: update tree gen to new kern-tools
   09a1a6c kgit: detect if sourced
   2bad46f kgit-meta: adapt to new scc/spp meta series generation
   8332818 kconf_check: standalone operation and command line options
   d7e06ed spp/scc: streamline patch and config series generation
   f67df1c merge_config: update to mainline variant
   a67df68 kgit-s2q: log last patch applied

The overall diffstat for the tools changes are:

    b/Makefile                  |   26 -
    b/tools/kconf_check         |  923 ++++++++++++++++--------------------
    b/tools/kgit                |  320 ++++++++----
    b/tools/kgit-init           |  301 ++---------
    b/tools/kgit-meta           | 1119 +++-----------------------------------------
    b/tools/kgit-s2q            |   29 -
    b/tools/kgit-scc            |  238 ++-------
    b/tools/merge_config.sh     |  102 ++--
    b/tools/scc                 |  290 +++++++----
    b/tools/scc-cmds/auto.cmd   |   30 +
    b/tools/scc-cmds/branch.cmd |   38 +
    b/tools/scc-cmds/define.cmd |    9
    b/tools/scc-cmds/kconf.cmd  |   55 ++
    b/tools/scc-cmds/mark.cmd   |    4
    b/tools/scc-cmds/patch.cmd  |   32 +
    b/tools/spp                 |  653 +++++++++++++++++--------
    b/tools/symbol_why.py       |  236 +++++++++
    tools/configme              |  397 ---------------
    tools/createme              |  235 ---------
    tools/patchme               |  132 -----
    tools/pre_config            |  226 --------
    tools/updateme              |  621 ------------------------
    22 files changed, 2001 insertions(+), 4015 deletions(-)

We end up at a 2:1 code reduction, and the raw tools are directly used, wins
on both counts.

Note: there are still warnings in the kernel meta-data, they are being worked
on, but I've left them in place so a few people can see the new kernel audit
information :)

Cheers,

Bruce


The following changes since commit 6b66e9317f4ec3a69f98f29836aafa35b52f3fc7:

  Allow for simultaneous do_rootfs tasks with rpm (2016-08-12 15:25:22 +0100)

are available in the git repository at:

  git://git.pokylinux.org/poky-contrib zedd/kernel
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel

Bruce Ashfield (6):
  linux-yocto/4.1: netfilter: x_tables: fix stable backport
  linux-yocto/4.1: bump to v4.1.29
  linux-yocto/4.1: config updates
  linux-yocto/4.4: -rt update patch meta-data to remove ()
  kernel-yocto: streamline patch, configuration and audit phases
  yocto-bsp/yocto-kernel: update to work with the latest kern-tools

 meta/classes/kernel-yocto.bbclass                  | 143 ++++++++-------------
 .../kern-tools/kern-tools-native_git.bb            |   4 +-
 meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb    |   6 +-
 meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb    |   2 +-
 meta/recipes-kernel/linux/linux-yocto-tiny_4.1.bb  |   6 +-
 meta/recipes-kernel/linux/linux-yocto-tiny_4.4.bb  |   2 +-
 meta/recipes-kernel/linux/linux-yocto_4.1.bb       |  20 +--
 meta/recipes-kernel/linux/linux-yocto_4.4.bb       |   2 +-
 scripts/lib/bsp/kernel.py                          |   1 -
 .../linux/files/machine-standard.scc               |   2 +-
 .../linux/files/machine-standard.scc               |   2 +-
 .../linux/files/machine-standard.scc               |   2 +-
 .../linux/files/machine-standard.scc               |   2 +-
 .../linux/files/machine-standard.scc               |   2 +-
 .../linux/files/machine-standard.scc               |  10 +-
 .../linux/files/machine-standard.scc               |   2 +-
 16 files changed, 85 insertions(+), 123 deletions(-)

-- 
2.5.0



More information about the Openembedded-core mailing list