summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-kernel-dev/README27
-rw-r--r--meta-kernel-dev/conf/checksums.ini0
-rw-r--r--meta-kernel-dev/conf/include/revisions.inc10
-rw-r--r--meta-kernel-dev/conf/layer.conf10
-rw-r--r--meta-kernel-dev/conf/machine/example.conf15
-rw-r--r--meta-kernel-dev/packages/kern-tools-native/kern-tools-native_git.bbappend8
-rw-r--r--meta-kernel-dev/packages/linux-libc-headers/linux-libc-headers-yocto_git.bbappend6
-rw-r--r--meta-kernel-dev/packages/linux/linux-yocto-rt_stablegit.bbappend22
-rw-r--r--meta-kernel-dev/packages/linux/linux-yocto-stable_git.bbappend22
-rw-r--r--meta-kernel-dev/packages/linux/linux-yocto/.keep_me0
-rw-r--r--meta-kernel-dev/packages/linux/linux-yocto_git.bbappend25
11 files changed, 145 insertions, 0 deletions
diff --git a/meta-kernel-dev/README b/meta-kernel-dev/README
new file mode 100644
index 0000000..4f58404
--- /dev/null
+++ b/meta-kernel-dev/README
@@ -0,0 +1,27 @@
+meta-kernel-dev
+
+What is it ?
+------------
+
+A gathering place for extensions to the linux-yocto (or really
+any) kernel recipes that faciliate the creation and development
+of kernel features, BSPs or configuration.
+
+What does it do?
+----------------
+
+Currently this is mainly additions to the kernel recipes to:
+
+ - Use a local clone vs a remote clone
+ - Use AUTOREV to track the HEAD of branches vs a specific revision
+ - Ensure that the $MACHINE is compatible with the yocto kernel
+ - disables branch/revision checking
+ - controls the naming of the linux build dirs via BB_LOCALCOUNT_OVERRIDE
+ and LOCALCOUNT
+
+What will be added to it ?
+--------------------------
+
+ - Tools specifically related to kernel development if they are
+ unique and don't belong in the main layers.
+
diff --git a/meta-kernel-dev/conf/checksums.ini b/meta-kernel-dev/conf/checksums.ini
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/meta-kernel-dev/conf/checksums.ini
diff --git a/meta-kernel-dev/conf/include/revisions.inc b/meta-kernel-dev/conf/include/revisions.inc
new file mode 100644
index 0000000..252b89e
--- /dev/null
+++ b/meta-kernel-dev/conf/include/revisions.inc
@@ -0,0 +1,10 @@
+#SRCREV_machine_pn-linux-yocto_qemuarm ?= "4f4177b4bea5b8858acc1eeb788d80b7af0df962"
+#SRCREV_machine_pn-linux-yocto_qemumips ?= "81f3cd467b9d51fa1dfa2d5939337cc756ae8061"
+#SRCREV_machine_pn-linux-yocto_qemuppc ?= "9ac0daee43dd19d8bea828cf79450c9748ae0daa"
+#SRCREV_machine_pn-linux-yocto_qemux86 ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
+#SRCREV_machine_pn-linux-yocto_qemux86-64 ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
+#SRCREV_machine_pn-linux-yocto_emenlow ?= "aae69fdf104b0a9d7b3710f808aac6ab303490f7"
+#SRCREV_machine_pn-linux-yocto_atom-pc ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
+#SRCREV_machine_pn-linux-yocto_routerstationpro ?= "2ec2edaf256dd8500ee3d4763fee6ca3ecd6da4b"
+#SRCREV_machine_pn-linux-yocto_mpc8315e-rdb ?= "986e6eb66c26007cee7916d5d12f4756e6b5436f"
+#SRCREV_machine_pn-linux-yocto_beagleboard ?= "0431115c9d720fee5bb105f6a7411efb4f851d26"
diff --git a/meta-kernel-dev/conf/layer.conf b/meta-kernel-dev/conf/layer.conf
new file mode 100644
index 0000000..33f1ca5
--- /dev/null
+++ b/meta-kernel-dev/conf/layer.conf
@@ -0,0 +1,10 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH := "${BBPATH}:${LAYERDIR}"
+
+# We have a packages directory, add to BBFILES
+BBFILES := "${BBFILES} ${LAYERDIR}/packages/*/*.bb \
+ ${LAYERDIR}/packages/*/*.bbappend"
+
+BB_ENV_EXTRAWHITE := "KSRC"
+
+require conf/include/revisions.inc
diff --git a/meta-kernel-dev/conf/machine/example.conf b/meta-kernel-dev/conf/machine/example.conf
new file mode 100644
index 0000000..5279e51
--- /dev/null
+++ b/meta-kernel-dev/conf/machine/example.conf
@@ -0,0 +1,15 @@
+MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3 x86 \
+ acpi serial usbgadget"
+
+KERNEL_IMAGETYPE = "bzImage"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
+PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-yocto"
+
+SERIAL_CONSOLE = "115200 ttyS0"
+
+MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts"
+
+IMAGE_ROOTFS_SIZE_ext3 = "2000000"
+
+IMAGE_FSTYPES ?= "ext3 cpio.gz"
diff --git a/meta-kernel-dev/packages/kern-tools-native/kern-tools-native_git.bbappend b/meta-kernel-dev/packages/kern-tools-native/kern-tools-native_git.bbappend
new file mode 100644
index 0000000..5abaa05
--- /dev/null
+++ b/meta-kernel-dev/packages/kern-tools-native/kern-tools-native_git.bbappend
@@ -0,0 +1,8 @@
+# if working on kernel tools, point this at your local repo
+
+SRCREV=${AUTOREV}
+BB_LOCALCOUNT_OVERRIDE = "1"
+LOCALCOUNT = "0"
+
+# ksrc ?= /path/to/wr-kernel-tools
+# SRC_URI = "git://${ksrc}"
diff --git a/meta-kernel-dev/packages/linux-libc-headers/linux-libc-headers-yocto_git.bbappend b/meta-kernel-dev/packages/linux-libc-headers/linux-libc-headers-yocto_git.bbappend
new file mode 100644
index 0000000..6c42576
--- /dev/null
+++ b/meta-kernel-dev/packages/linux-libc-headers/linux-libc-headers-yocto_git.bbappend
@@ -0,0 +1,6 @@
+# If headers specific to the development kernel must be exported
+# point ksrc to the same location as the linux-yocto_git recipe.
+# KSRC ?= /path/to/kernel/tree
+
+SRC_URI = "git://${KSRC};fullclone=1;branch=${KBRANCH};name=machine \
+ git://${KSRC};noclone=1;branch=meta;name=meta"
diff --git a/meta-kernel-dev/packages/linux/linux-yocto-rt_stablegit.bbappend b/meta-kernel-dev/packages/linux/linux-yocto-rt_stablegit.bbappend
new file mode 100644
index 0000000..686499c
--- /dev/null
+++ b/meta-kernel-dev/packages/linux/linux-yocto-rt_stablegit.bbappend
@@ -0,0 +1,22 @@
+FILESEXTRAPATHS := "${THISDIR}/${PN}"
+
+COMPATIBLE_MACHINE = ${MACHINE}
+
+# It is often nice to have a local clone of the kernel repos, to
+# allow patches to be staged, branches created, etc. Modify
+# KSRC to point to your local clone as appropriate.
+# KSRC ?= /path/to/your/bare/clone/yocto-kernell
+
+# KMACHINE is the branch to be built, or alternatively
+# KBRANCH can be directly set.
+
+# KBRANCH ?= "${KMACHINE}-${LINUX_KERNEL_TYPE}"
+
+SRC_URI = "git://${KSRC};fullclone=1;branch=${KBRANCH};name=machine \
+ git://${KSRC};noclone=1;branch=wrs_meta;name=meta"
+
+KERNEL_REVISION_CHECKING=
+SRCREV=${AUTOREV}
+BB_LOCALCOUNT_OVERRIDE = "1"
+LOCALCOUNT = "0"
+
diff --git a/meta-kernel-dev/packages/linux/linux-yocto-stable_git.bbappend b/meta-kernel-dev/packages/linux/linux-yocto-stable_git.bbappend
new file mode 100644
index 0000000..686499c
--- /dev/null
+++ b/meta-kernel-dev/packages/linux/linux-yocto-stable_git.bbappend
@@ -0,0 +1,22 @@
+FILESEXTRAPATHS := "${THISDIR}/${PN}"
+
+COMPATIBLE_MACHINE = ${MACHINE}
+
+# It is often nice to have a local clone of the kernel repos, to
+# allow patches to be staged, branches created, etc. Modify
+# KSRC to point to your local clone as appropriate.
+# KSRC ?= /path/to/your/bare/clone/yocto-kernell
+
+# KMACHINE is the branch to be built, or alternatively
+# KBRANCH can be directly set.
+
+# KBRANCH ?= "${KMACHINE}-${LINUX_KERNEL_TYPE}"
+
+SRC_URI = "git://${KSRC};fullclone=1;branch=${KBRANCH};name=machine \
+ git://${KSRC};noclone=1;branch=wrs_meta;name=meta"
+
+KERNEL_REVISION_CHECKING=
+SRCREV=${AUTOREV}
+BB_LOCALCOUNT_OVERRIDE = "1"
+LOCALCOUNT = "0"
+
diff --git a/meta-kernel-dev/packages/linux/linux-yocto/.keep_me b/meta-kernel-dev/packages/linux/linux-yocto/.keep_me
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/meta-kernel-dev/packages/linux/linux-yocto/.keep_me
diff --git a/meta-kernel-dev/packages/linux/linux-yocto_git.bbappend b/meta-kernel-dev/packages/linux/linux-yocto_git.bbappend
new file mode 100644
index 0000000..5776d24
--- /dev/null
+++ b/meta-kernel-dev/packages/linux/linux-yocto_git.bbappend
@@ -0,0 +1,25 @@
+FILESEXTRAPATHS := "${THISDIR}/${PN}"
+
+COMPATIBLE_MACHINE = ${MACHINE}
+
+# It is often nice to have a local clone of the kernel repos, to
+# allow patches to be staged, branches created, etc. Modify
+
+# KSRC to point to your local clone as appropriate.
+# KSRC ?= /path/to/your/bare/clone/yocto-kernel
+
+# KMACHINE is the branch to build
+# KMACHINE_<MACHINE> ?= "yocto/${LINUX_KERNEL_TYPE}/${KMACHINE}"
+
+# KERNEL_FEATURES are features to be added to the kernel, and must
+# point to configurations stored on the 'meta' branch of the kernel
+# that is being built.
+# KERNEL_FEATURES ?= <FOO>
+
+SRC_URI = "git://${KSRC};fullclone=1;branch=${KBRANCH};name=machine \
+ git://${KSRC};noclone=1;branch=meta;name=meta"
+
+KERNEL_REVISION_CHECKING=
+SRCREV=${AUTOREV}
+BB_LOCALCOUNT_OVERRIDE = "1"
+LOCALCOUNT = "0"