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