Skip to content

BSP tools: add support for custom kernel

[email protected] poky 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest12 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12yocto-bsp: add custom kernel supportscripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/kernel-list.noinstall scripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/{{ if kernel_choice == \"custom\": }} linux-yocto-custom.bb scripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/{{ if kernel_choice == \"custom\": }} linux-yocto-custom/defconfig +4 more+123 -00 replies
2/12yocto-bsp: add 'custom' choice to kernels()scripts/lib/bsp/kernel.py+2 -00 replies
3/12yocto-bsp: update existing templates for linux-yocto-customscripts/lib/bsp/substrate/target/arch/arm/conf/machine/{{=machine}}.conf scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/kernel-list.noinstall scripts/lib/bsp/substrate/target/arch/arm/recipes-kernel/linux/{{ if kernel_choice != \"custom\": }} files/user-config.cfg +46 more+60 -190 replies
4/12yocto-bsp: add 'edit-git-repo' input linescripts/lib/bsp/engine.py+76 -00 replies
5/12yocto-bsp: add 'edit-file' input linescripts/lib/bsp/engine.py+57 -00 replies
6/12yocto-bsp: add replace_file()scripts/lib/bsp/engine.py scripts/lib/bsp/substrate/target/arch/common/recipes-kernel/linux/{{ if kernel_choice == \"custom\": }} linux-yocto-custom/defconfig scripts/lib/bsp/tags.py+17 -40 replies
7/12yocto-kernel: create open_user_file() wrapper functionscripts/lib/bsp/kernel.py+28 -170 replies
8/12yocto-kernel: don't list comments in config and patch listingsscripts/lib/bsp/kernel.py+2 -20 replies
9/12yocto-kernel: remove assumption that kernel has a versionscripts/lib/bsp/kernel.py+2 -00 replies
10/12yocto-kernel: handle SRC_URIs in .bb filesscripts/lib/bsp/kernel.py+34 -170 replies
11/12yocto-bsp: remove patch-related SRC_URI processingscripts/lib/bsp/kernel.py+34 -1930 replies
12/12yocto-kernel: add support for PRs of the form rN to pr_inc()scripts/lib/bsp/kernel.py+8 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/12] BSP tools: add support for custom kernel

From: Tom Zanussi <[email protected]>

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%)
Signature · 1 line
1.7.11.4