Patchwork linux-dtb: Add simple DTB symlinks for devicetree

login
register
mail settings
Submitter chase maupin
Date March 29, 2013, 4:48 p.m.
Message ID <1364575688-19681-1-git-send-email-Chase.Maupin@ti.com>
Download mbox | patch
Permalink /patch/47145/
State New
Headers show

Comments

chase maupin - March 29, 2013, 4:48 p.m.
* 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>
---
 meta/recipes-kernel/linux/linux-dtb.inc |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
Darren Hart - April 2, 2013, 8:53 p.m.
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@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,
Bruce Ashfield - April 2, 2013, 9:35 p.m.
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.

Let me dig up the entire thread and have a look later. gmail
helped me out and tagged this entire series as spam .. so I
didn't see any of it.

Cheers,

Bruce

>
> 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@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,
>
chase maupin - April 3, 2013, 2:20 p.m.
> -----Original Message-----
> From: Darren Hart [mailto:dvhart@linux.intel.com]
> Sent: Tuesday, April 02, 2013 3:54 PM
> To: Maupin, Chase
> Cc: openembedded-core@lists.openembedded.org; Ashfield, Bruce
> Subject: Re: [OE-core] [PATCH] linux-dtb: Add simple DTB symlinks
> for devicetree
> 
> 
> 
> 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?

OMAP5 uEVM and AM335x EVM.  For these devices U-Boot does a simple extload from the /boot directory of the dtb.  The goal here is to have the dtb name in /boot match the name that would be generated when you build the dtb in the kernel.

For example the omap5-uevm.dts file is compiled as omap5-uevm.dtb.  So using a symlink with this standard naming makes it easier for u-boot to detect the device it is running on and look for the standard file name vs devicetree-uImage-omap5-evm.dtb.

Also, for people that want to load the dtb from other locations such as a different partition on the SD card they can still just copy the dtb file from the kernel build and not need to modify u-boot to use the different file name, just the location.

> 
> >
> > Signed-off-by: Chase Maupin <Chase.Maupin@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
Darren Hart - April 3, 2013, 3:57 p.m.
On 04/03/2013 07:20 AM, Maupin, Chase wrote:
>> -----Original Message-----
>> From: Darren Hart [mailto:dvhart@linux.intel.com]
>> Sent: Tuesday, April 02, 2013 3:54 PM
>> To: Maupin, Chase
>> Cc: openembedded-core@lists.openembedded.org; Ashfield, Bruce
>> Subject: Re: [OE-core] [PATCH] linux-dtb: Add simple DTB symlinks
>> for devicetree
>>
>>
>>
>> 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?
> 
> OMAP5 uEVM and AM335x EVM.  For these devices U-Boot does a simple extload from the /boot directory of the dtb.  The goal here is to have the dtb name in /boot match the name that would be generated when you build the dtb in the kernel.
> 
> For example the omap5-uevm.dts file is compiled as omap5-uevm.dtb.  So using a symlink with this standard naming makes it easier for u-boot to detect the device it is running on and look for the standard file name vs devicetree-uImage-omap5-evm.dtb.
> 
> Also, for people that want to load the dtb from other locations such as a different partition on the SD card they can still just copy the dtb file from the kernel build and not need to modify u-boot to use the different file name, just the location.


And what about the comments on your patch itself below?


> 
>>
>>>
>>> Signed-off-by: Chase Maupin <Chase.Maupin@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
Bruce Ashfield - April 3, 2013, 4:09 p.m.
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.Maupin@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,
>
chase maupin - April 3, 2013, 5:01 p.m.
> -----Original Message-----
> From: Darren Hart [mailto:dvhart@linux.intel.com]
> Sent: Tuesday, April 02, 2013 3:54 PM
> To: Maupin, Chase
> Cc: openembedded-core@lists.openembedded.org; Ashfield, Bruce
> Subject: Re: [OE-core] [PATCH] linux-dtb: Add simple DTB symlinks
> for devicetree
> 
> 
> 
> 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@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.

Sorry, I didn't notice this comment before.  I can reset this for tabs instead of space.  I'll send a new version.

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

Good point.  I'll update this as well.

> 
> 
> > +        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
chase maupin - April 3, 2013, 5:26 p.m.
> -----Original Message-----
> From: openembedded-core-bounces@lists.openembedded.org
> [mailto:openembedded-core-bounces@lists.openembedded.org] On
> Behalf Of Bruce Ashfield
> Sent: Wednesday, April 03, 2013 11:10 AM
> To: Darren Hart
> Cc: openembedded-core@lists.openembedded.org; Maupin, Chase
> Subject: Re: [OE-core] [PATCH] linux-dtb: Add simple DTB symlinks
> for devicetree
> 
> 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.Maupin@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"`

From the do_install section the file I'm trying to symlink to is installed as

install -m 0644 ${DTS_BASE_NAME} ${D}/boot/devicetree-${DTB_SYMLINK_NAME}.dtb

So there isn't quite a variable that holds the proper value.  However, I should be able to make this match more with the do_install section by using DTB_SYMLINK_NAME.  I'll send a patch once I make the change and can test it.




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

Patch

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 () {
+    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 --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
+}