[OE-core] [PATCHv2 1/2][for-danny] linux-dtb: Add simple DTB symlinks for devicetree

Chase Maupin Chase.Maupin at ti.com
Thu Apr 4 13:25:54 UTC 2013


* 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.
* This patch has already been accepted into the master branch
  http://cgit.openembedded.org/openembedded-core/commit/?id=750a9554e1b85d9bd23d18e0630723c3c193c604

Signed-off-by: Chase Maupin <Chase.Maupin at ti.com>
---
* Updated in version 2
    * Changed the variable names to use variables that match the
      do_install and do_deploy more closely for consistency.  i.e.
      using DTB_SYMLINK_NAME instead of DTB_NAME.
    * The above changes were based on input from:
        * Darren Hart <dvhart at linux.intel.com>
        * Bruce Ashfield <bruce.ashfield at windriver.com>
---
 meta/recipes-kernel/linux/linux-dtb.inc |   20 ++++++++++++++++++++
 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 d39f49d..36852b5 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
+}
-- 
1.7.0.4





More information about the Openembedded-core mailing list