> -----Original Message----- > From: Darren Hart [mailto:dvh...@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.mau...@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 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core