mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
meta-rt: Initial PREEMPT_RT layer and kernel recipes
The meta-rt layer provides a preempt_rt kernel recipe using the linux-yocto-stable git tree. It overrides the virtual/kernel provider and defines the compatible machines and per-machine SRCREVs. The initial layer supports only qemux86-64. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Tom Zanussi <tom.zanussi@intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
committed by
Richard Purdie
parent
4de544015b
commit
0d7d566650
22
meta-rt/conf/layer.conf
Normal file
22
meta-rt/conf/layer.conf
Normal file
@@ -0,0 +1,22 @@
|
||||
# Default to first disk/first partition
|
||||
RSP_ROOT ?= "sda1"
|
||||
|
||||
# We have a conf and classes directory, add to BBPATH
|
||||
BBPATH := "${BBPATH}:${LAYERDIR}"
|
||||
|
||||
# We have an images and various recipe-* directories, add to BBFILES
|
||||
BBFILES := "${BBFILES} ${LAYERDIR}/images/*.bb ${LAYERDIR}/images/*.bbappend ${LAYERDIR}/recipes-*/*.bb ${LAYERDIR}/recipes-*/*.bbappend"
|
||||
|
||||
BBFILE_COLLECTIONS += "rt"
|
||||
BBFILE_PATTERN_rt := "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_rt = "8"
|
||||
|
||||
# This layer builds images using a PREEMPT_RT kernel. Override any machine
|
||||
# specified kernel providers and leave it up to the kernel recipe to
|
||||
# determine COMPATIBLE_MACHINE.
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"
|
||||
|
||||
# preempt_rt SRCREVs, one for meta, one per machine
|
||||
SRCREV_meta_pn-linux-yocto-rt ?= "50ccd2b3213b6a1bacb3f898c035119802dac420"
|
||||
SRCREV_machine_pn-linux-yocto-rt_qemux86-64 ?= "f49444f06875894389e640bcda6c3f6ceb1f0c3e"
|
||||
|
||||
39
meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb
Normal file
39
meta-rt/recipes-kernel/linux-yocto-rt_stablegit.bb
Normal file
@@ -0,0 +1,39 @@
|
||||
inherit kernel
|
||||
require recipes-kernel/linux/linux-yocto.inc
|
||||
|
||||
KMACHINE_qemux86-64 = "common_pc_64"
|
||||
|
||||
LINUX_VERSION ?= "2.6.34"
|
||||
LINUX_KERNEL_TYPE = "preempt_rt"
|
||||
LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE_EXTENSION}"
|
||||
|
||||
PR = "r0"
|
||||
PV = "${LINUX_VERSION}+git${SRCPV}"
|
||||
SRCREV_FORMAT = "meta_machine"
|
||||
|
||||
COMPATIBLE_MACHINE = "(qemux86-64)"
|
||||
|
||||
# this performs a fixup on the SRCREV for new/undefined BSPs
|
||||
python __anonymous () {
|
||||
import bb, re, string
|
||||
|
||||
rev = bb.data.getVar("SRCREV_machine", d, 1)
|
||||
if rev == "standard":
|
||||
bb.data.setVar("SRCREV_machine", "${SRCREV_meta}", d)
|
||||
|
||||
kerntype = string.replace(bb.data.expand("${LINUX_KERNEL_TYPE}", d), "_", "-")
|
||||
bb.data.setVar("LINUX_KERNEL_TYPE_EXTENSION", kerntype, d)
|
||||
}
|
||||
|
||||
SRC_URI = "git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;fullclone=1;branch=${KBRANCH};name=machine \
|
||||
git://git.pokylinux.org/linux-2.6-windriver.git;protocol=git;noclone=1;branch=wrs_meta;name=meta"
|
||||
|
||||
# Functionality flags
|
||||
KERNEL_REVISION_CHECKING ?= "t"
|
||||
KERNEL_FEATURES=features/netfilter
|
||||
|
||||
# extra tasks
|
||||
addtask kernel_link_vmlinux after do_compile before do_install
|
||||
addtask validate_branches before do_patch after do_kernel_checkout
|
||||
|
||||
require recipes-kernel/linux/linux-tools.inc
|
||||
Reference in New Issue
Block a user