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

Bruce Ashfield bruce.ashfield at windriver.com
Wed Apr 3 16:09:38 UTC 2013


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

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





More information about the Openembedded-core mailing list