All of lore.kernel.org
 help / color / mirror / Atom feed
From: tom.zanussi@intel.com
To: poky@yoctoproject.org
Subject: [PATCH 00/12] BSP tools: add support for custom kernel
Date: Wed, 12 Dec 2012 22:56:38 -0600	[thread overview]
Message-ID: <cover.1355373343.git.tom.zanussi@intel.com> (raw)

From: Tom Zanussi <tom.zanussi@intel.com>

This pathset implements 'custom kernel' support in the yocto-bsp and
yocto-kernel tools.  This work is tracked by [YOCTO #3166] 'yocto-bsp:
add support for linux-yocto-custom kernels'.

For yocto-bsp it adds a new 'custom' item to the kernel choices presented
by the 'menu-driven' interface.  It allows users to point the kernel
recipe at an arbitrary git-based kernel repo located either remotely or
locally.  It checks that the repo is a valid git repo that it can connect
to and won't allow the user to continue further until a valid repo is
specified.  It also allows the user to specify various other important
pieces of information needed to generate a functional kernel including
any special (non-master) branch it may need, and an optional user-specified
defconfig.  The kernel recipe it's based on is the linux-yocto-custom.bb in
meta-skeleton/recipes-kernel/linux.

The menu-driven interface has been set up with defaults that have been
verified to work, but that were mainly chosen to provide examples that
would allow users to easily substitute their own values.

yocto-kernel has also been enhanced to work with the custom kernel recipe
and a significant amount of cleanup has been done as well, mainly because
patch management has been made much easier.

It's been tested on local and remote kernel repos, with and without
non-master branches, with and without defconfigs, etc, and has produced
BSPs that boot fine into saton on qemux86 and actual crownbay hardware.

The following changes since commit 45915123a727f86b106da7ccb761b23067b1ff88:

  Documentation: poky-ref-manual - Updates to WORKDIR structure (2012-12-11 16:17:57 +0000)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib.git tzanussi/yocto-bsp-custom
  http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/yocto-bsp-custom

Tom Zanussi (12):
  yocto-bsp: add custom kernel support
  yocto-bsp: add 'custom' choice to kernels()
  yocto-bsp: update existing templates for linux-yocto-custom
  yocto-bsp: add 'edit-git-repo' input line
  yocto-bsp: add 'edit-file' input line
  yocto-bsp: add replace_file()
  yocto-kernel: create open_user_file() wrapper function
  yocto-kernel: don't list comments in config and patch listings
  yocto-kernel: remove assumption that kernel has a version
  yocto-kernel: handle SRC_URIs in .bb files
  yocto-bsp: remove patch-related SRC_URI processing
  yocto-kernel: add support for PRs of the form rN to pr_inc()

 scripts/lib/bsp/engine.py                          | 151 ++++++++++-
 scripts/lib/bsp/kernel.py                          | 293 ++++++---------------
 .../target/arch/arm/conf/machine/{{=machine}}.conf |   9 +-
 .../arm/recipes-kernel/linux/kernel-list.noinstall |   3 +-
 .../user-config.cfg"                               |   0
 .../user-patches.scc"                              |   0
 .../{{=machine}}-non_hardware.cfg"                 |   0
 .../{{=machine}}-preempt-rt.scc"                   |   0
 .../{{=machine}}-standard.scc"                     |   0
 .../{{=machine}}.cfg"                              |   0
 .../{{=machine}}.scc"                              |   0
 .../recipes-kernel/linux/kernel-list.noinstall     |  26 ++
 ...choice == \"custom\": }} linux-yocto-custom.bb" |  57 ++++
 .../defconfig"                                     |   5 +
 .../user-config.cfg"                               |   8 +
 .../user-patches.scc"                              |   8 +
 .../{{=machine}}.cfg"                              |   3 +
 .../{{=machine}}.scc"                              |  17 ++
 .../arch/i386/conf/machine/{{=machine}}.conf       |  16 +-
 .../recipes-kernel/linux/kernel-list.noinstall     |   3 +-
 .../user-config.cfg"                               |   0
 .../user-patches.scc"                              |   0
 .../{{=machine}}-preempt-rt.scc"                   |   0
 .../{{=machine}}-standard.scc"                     |   0
 .../{{=machine}}.cfg"                              |   0
 .../{{=machine}}.scc"                              |   0
 .../arch/mips/conf/machine/{{=machine}}.conf       |   9 +-
 .../recipes-kernel/linux/kernel-list.noinstall     |   3 +-
 .../user-config.cfg"                               |   0
 .../user-patches.scc"                              |   0
 .../{{=machine}}-preempt-rt.scc"                   |   0
 .../{{=machine}}-standard.scc"                     |   0
 .../{{=machine}}.cfg"                              |   0
 .../{{=machine}}.scc"                              |   0
 .../arch/powerpc/conf/machine/{{=machine}}.conf    |   9 +-
 .../recipes-kernel/linux/kernel-list.noinstall     |   3 +-
 .../user-config.cfg"                               |   0
 .../user-patches.scc"                              |   0
 .../{{=machine}}-preempt-rt.scc"                   |   0
 .../{{=machine}}-standard.scc"                     |   0
 .../{{=machine}}.cfg"                              |   0
 .../{{=machine}}.scc"                              |   0
 .../arch/qemu/conf/machine/{{=machine}}.conf       |   9 +-
 .../recipes-kernel/linux/kernel-list.noinstall     |   3 +-
 .../user-config.cfg"                               |   0
 .../user-patches.scc"                              |   0
 .../{{=machine}}-preempt-rt.scc"                   |   0
 .../{{=machine}}-standard.scc"                     |   0
 .../{{=machine}}.cfg"                              |   0
 .../{{=machine}}.scc"                              |   0
 .../arch/x86_64/conf/machine/{{=machine}}.conf     |   9 +-
 .../recipes-kernel/linux/kernel-list.noinstall     |   3 +-
 .../user-config.cfg"                               |   0
 .../user-patches.scc"                              |   0
 .../{{=machine}}-preempt-rt.scc"                   |   0
 .../{{=machine}}-standard.scc"                     |   0
 .../{{=machine}}.cfg"                              |   0
 .../{{=machine}}.scc"                              |   0
 scripts/lib/bsp/tags.py                            |   2 +-
 59 files changed, 418 insertions(+), 231 deletions(-)
 rename scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/files/user-config.cfg => "scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-config.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/files/user-patches.scc => "scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-patches.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/files/{{=machine}}-non_hardware.cfg => "scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-non_hardware.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/files/{{=machine}}-preempt-rt.scc => "scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-preempt-rt.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/files/{{=machine}}-standard.scc => "scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-standard.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/files/{{=machine}}.cfg => "scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/files/{{=machine}}.scc => "scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.scc" (100%)
 create mode 100644 scripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/kernel-list.noinstall
 create mode 100644 "scripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/{{ if kernel_choice == \"custom\": }} linux-yocto-custom.bb"
 create mode 100644 "scripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/{{ if kernel_choice == \"custom\": }} linux-yocto-custom/defconfig"
 create mode 100644 "scripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/{{ if kernel_choice == \"custom\": }} linux-yocto-custom/user-config.cfg"
 create mode 100644 "scripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/{{ if kernel_choice == \"custom\": }} linux-yocto-custom/user-patches.scc"
 create mode 100644 "scripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/{{ if kernel_choice == \"custom\": }} linux-yocto-custom/{{=machine}}.cfg"
 create mode 100644 "scripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/{{ if kernel_choice == \"custom\": }} linux-yocto-custom/{{=machine}}.scc"
 rename scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/files/user-config.cfg => "scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-config.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/files/user-patches.scc => "scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-patches.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/files/{{=machine}}-preempt-rt.scc => "scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-preempt-rt.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/files/{{=machine}}-standard.scc => "scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-standard.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/files/{{=machine}}.cfg => "scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/files/{{=machine}}.scc => "scripts/lib/bsp/substrate/target/arch/i386/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/files/user-config.cfg => "scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-config.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/files/user-patches.scc => "scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-patches.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/files/{{=machine}}-preempt-rt.scc => "scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-preempt-rt.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/files/{{=machine}}-standard.scc => "scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-standard.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/files/{{=machine}}.cfg => "scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/files/{{=machine}}.scc => "scripts/lib/bsp/substrate/target/arch/mips/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/files/user-config.cfg => "scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-config.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/files/user-patches.scc => "scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-patches.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/files/{{=machine}}-preempt-rt.scc => "scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-preempt-rt.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/files/{{=machine}}-standard.scc => "scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-standard.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/files/{{=machine}}.cfg => "scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/files/{{=machine}}.scc => "scripts/lib/bsp/substrate/target/arch/powerpc/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/files/user-config.cfg => "scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-config.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/files/user-patches.scc => "scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-patches.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/files/{{=machine}}-preempt-rt.scc => "scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-preempt-rt.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/files/{{=machine}}-standard.scc => "scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-standard.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/files/{{=machine}}.cfg => "scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/files/{{=machine}}.scc => "scripts/lib/bsp/substrate/target/arch/qemu/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/files/user-config.cfg => "scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-config.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/files/user-patches.scc => "scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-patches.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/files/{{=machine}}-preempt-rt.scc => "scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-preempt-rt.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/files/{{=machine}}-standard.scc => "scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}-standard.scc" (100%)
 rename scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/files/{{=machine}}.cfg => "scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.cfg" (100%)
 rename scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/files/{{=machine}}.scc => "scripts/lib/bsp/substrate/target/arch/x86_64/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/{{=machine}}.scc" (100%)

-- 
1.7.11.4



             reply	other threads:[~2012-12-13  4:56 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-13  4:56 tom.zanussi [this message]
2012-12-13  4:56 ` [PATCH 01/12] yocto-bsp: add custom kernel support tom.zanussi
2012-12-13  4:56 ` [PATCH 02/12] yocto-bsp: add 'custom' choice to kernels() tom.zanussi
2012-12-13  4:56 ` [PATCH 03/12] yocto-bsp: update existing templates for linux-yocto-custom tom.zanussi
2012-12-13  4:56 ` [PATCH 04/12] yocto-bsp: add 'edit-git-repo' input line tom.zanussi
2012-12-13  4:56 ` [PATCH 05/12] yocto-bsp: add 'edit-file' " tom.zanussi
2012-12-13  4:56 ` [PATCH 06/12] yocto-bsp: add replace_file() tom.zanussi
2012-12-13  4:56 ` [PATCH 07/12] yocto-kernel: create open_user_file() wrapper function tom.zanussi
2012-12-13  4:56 ` [PATCH 08/12] yocto-kernel: don't list comments in config and patch listings tom.zanussi
2012-12-13  4:56 ` [PATCH 09/12] yocto-kernel: remove assumption that kernel has a version tom.zanussi
2012-12-13  4:56 ` [PATCH 10/12] yocto-kernel: handle SRC_URIs in .bb files tom.zanussi
2012-12-13  4:56 ` [PATCH 11/12] yocto-bsp: remove patch-related SRC_URI processing tom.zanussi
2012-12-13  4:56 ` [PATCH 12/12] yocto-kernel: add support for PRs of the form rN to pr_inc() tom.zanussi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1355373343.git.tom.zanussi@intel.com \
    --to=tom.zanussi@intel.com \
    --cc=poky@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.