On 13-04-02 04:53 PM, Darren Hart wrote:


On 03/29/2013 09:48 AM, Chase Maupin wrote:
* 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.

Hi Chase,

So I have no experience myself with Device Tree. Adding Bruce A. for some
additional review.

I am going to assume this is the right thing to do for u-boot systems.
Which devices have you verified this as working with?


Signed-off-by: Chase Maupin <chase.mau...@ti.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 ec6c375..66cf255 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 () {

Please use tabs for bash functions. Oddly, I see the only tabs in this
file are in the anonymous python blocks. Doh.

+    cd /${KERNEL_IMAGEDEST}
+    for DTS_FILE in ${KERNEL_DEVICETREE}
+    do
+        DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
+        DTB_NAME="devicetree-uImage-${DTS_BASE_NAME}.dtb"


Is "uImage" always correct here? Or should we be using
${KERNEL_IMAGETYPE} here?

I was trying to figure out the same thing when reviewing this
change this morning.

I'm not alternatives expert, but isn't DTB_NAME just the name
of the alternate being introduced ? If that's the case, why not
continue to use what the rest of the linux-dtb file uses ?

DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"`

But outside of that (and Darren't already pending comments), the approach
looks fine and valid to me.

Cheers,

Bruce



+        update-alternatives --install 
/${KERNEL_IMAGEDEST}/${DTS_BASE_NAME}.dtb ${DTS_BASE_NAME}.dtb ${DTB_NAME} 
${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_NAME="devicetree-uImage-${DTS_BASE_NAME}.dtb"
+        update-alternatives --remove ${DTS_BASE_NAME}.dtb ${DTB_NAME} 
${KERNEL_PRIORITY} || true
+    done
+}


Thanks,



_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to