[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