summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Alonso <aalonso00@gmail.com>2010-09-09 09:25:58 -0500
committerRichard Purdie <rpurdie@linux.intel.com>2010-09-10 13:00:15 +0100
commit9619df0969036320ae01bdddade59cfd21407c6d (patch)
tree5566e92a30990879b600d87456fbae67444b16b0
parentbe11510e216ed6f6928fed0b611b2b836c701e0b (diff)
downloadpoky-9619df0969036320ae01bdddade59cfd21407c6d.tar.gz
linux: add binary devicetree generation
* Add binary devicetree generation support * Taken from OE * v2 reorder patch set * v3 remove package_stagefile_shell * v4 rename devicetree_image function to install_append * remove pkg_postinst_kernel-devicetree, pkg_postrm_kernel-devicetree functions * Update KERNEL_DEVICETREE_FLAGS use "-p" option instead of "-S" which is deprecated Signed-off-by: Adrian Alonso <aalonso00@gmail.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r--meta/recipes-kernel/linux/linux.inc27
1 files changed, 27 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux.inc b/meta/recipes-kernel/linux/linux.inc
index 6f4db987d4..93859bb5a8 100644
--- a/meta/recipes-kernel/linux/linux.inc
+++ b/meta/recipes-kernel/linux/linux.inc
@@ -15,6 +15,21 @@ CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p1 rootfs
15#boot from nfs 15#boot from nfs
16#CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=301 root=/dev/nfs nfsroot=172.20.3.1:/data/at91 ip=172.20.0.5:::255.255.0.0" 16#CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=301 root=/dev/nfs nfsroot=172.20.3.1:/data/at91 ip=172.20.0.5:::255.255.0.0"
17 17
18# Support for device tree generation
19FILES_kernel_devicetree = "/boot/devicetree*"
20KERNEL_DEVICETREE_FLAGS = "-R 8 -p 0x3000"
21
22python __anonymous () {
23 import bb
24
25 devicetree = bb.data.getVar("KERNEL_DEVICETREE", d, 1) or ''
26 if devicetree:
27 depends = bb.data.getVar("DEPENDS", d, 1)
28 bb.data.setVar("DEPENDS", "%s dtc-native" % depends, d)
29 packages = bb.data.getVar("PACKAGES", d, 1)
30 bb.data.setVar("PACKAGES", "%s kernel-devicetree" % packages, d)
31}
32
18do_configure_prepend() { 33do_configure_prepend() {
19 echo "" > ${S}/.config 34 echo "" > ${S}/.config
20 35
@@ -89,3 +104,15 @@ do_install_prepend() {
89 ln -f arch/${ARCH}/kernel/vmlinux.lds arch/${ARCH}/boot/vmlinux 104 ln -f arch/${ARCH}/kernel/vmlinux.lds arch/${ARCH}/boot/vmlinux
90 fi 105 fi
91} 106}
107
108do_install_append() {
109 if test -n "${KERNEL_DEVICETREE}"; then
110 dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree ${KERNEL_DEVICETREE}
111 install -m 0644 devicetree ${D}/boot/devicetree-${KERNEL_VERSION}
112 install -d ${DEPLOY_DIR_IMAGE}
113 install -m 0644 devicetree ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.dtb
114 cd ${DEPLOY_DIR_IMAGE}
115 rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
116 ln -sf ${KERNEL_IMAGE_BASE_NAME}.dtb ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
117 fi
118}