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

Darren Hart dvhart at linux.intel.com
Wed Apr 3 15:57:13 UTC 2013



On 04/03/2013 07:20 AM, Maupin, Chase wrote:
>> -----Original Message-----
>> From: Darren Hart [mailto:dvhart at linux.intel.com]
>> Sent: Tuesday, April 02, 2013 3:54 PM
>> To: Maupin, Chase
>> Cc: openembedded-core at 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 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

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




More information about the Openembedded-core mailing list