aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChase Maupin <Chase.Maupin@ti.com>2013-04-03 14:23:58 -0500
committerRoss Burton <ross.burton@intel.com>2013-04-23 10:42:59 +0100
commitf972ec9522ade7dc35c535a65b04c9f31663f9aa (patch)
tree0507c136e3c9fe5dcc0a8bf57ebd678cfac98f66
parentcfac9cc41c98eb1858bd3b0dee3dcc672d53f78b (diff)
downloadopenembedded-core-f972ec9522ade7dc35c535a65b04c9f31663f9aa.tar.gz
linux-dtb: Add simple DTB symlinks for devicetree
* This is similar to the symlinks provided for the kernel image in the /boot directory of a file system. The goal is to have simply named symlinks in /boot that mirror the device tree name in the kernel sources. This is so that programs like U-Boot can easily find the default device tree binary in the /boot directory and use that when booting the kernel. * Use update-alternatives to handle proper creation and removal of the symlinks. Signed-off-by: Chase Maupin <Chase.Maupin@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-kernel/linux/linux-dtb.inc20
1 files changed, 20 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-dtb.inc b/meta/recipes-kernel/linux/linux-dtb.inc
index d39f49d1a3..36852b5f78 100644
--- a/meta/recipes-kernel/linux/linux-dtb.inc
+++ b/meta/recipes-kernel/linux/linux-dtb.inc
@@ -45,3 +45,23 @@ do_deploy_append() {
done
fi
}
+
+pkg_postinst_kernel-devicetree () {
+ cd /${KERNEL_IMAGEDEST}
+ for DTS_FILE in ${KERNEL_DEVICETREE}
+ do
+ DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
+ DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
+ update-alternatives --install /${KERNEL_IMAGEDEST}/${DTS_BASE_NAME}.dtb ${DTS_BASE_NAME}.dtb devicetree-${DTB_SYMLINK_NAME}.dtb ${KERNEL_PRIORITY} || true
+ done
+}
+
+pkg_postrm_kernel-devicetree () {
+ cd /${KERNEL_IMAGEDEST}
+ for DTS_FILE in ${KERNEL_DEVICETREE}
+ do
+ DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
+ DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`
+ update-alternatives --remove ${DTS_BASE_NAME}.dtb devicetree-${DTB_SYMLINK_NAME}.dtb ${KERNEL_PRIORITY} || true
+ done
+}