[OE-core] [PATCH] linux-dtb: Add simple DTB symlinks for devicetree

Darren Hart dvhart at linux.intel.com
Tue Apr 2 20:53:50 UTC 2013



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.Maupin at 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?


> +        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,

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel




More information about the Openembedded-core mailing list