| Submitter | Zhenhua Luo |
|---|---|
| Date | Dec. 27, 2011, 3:34 a.m. |
| Message ID | <1324956860-6782-1-git-send-email-b19537@freescale.com> |
| Download | mbox | patch |
| Permalink | /patch/17671/ |
| State | Superseded |
| Headers | show |
Comments
A new version is submitted. Best Regards, Zhenhua > -----Original Message----- > From: Luo Zhenhua-B19537 > Sent: Tuesday, December 27, 2011 11:34 AM > To: openembedded-core@lists.openembedded.org > Cc: Luo Zhenhua-B19537 > Subject: [PATCH v3 oe-core] linux-dtb: add multi-dtb build support and keep dtb > in deploy cache package > > From: Zhenhua Luo <b19537@freescale.com> > > 1. add multiple dtb build support, define KERNEL_DEVICETREE as following: > KERNEL_DEVICETREE= "${S}/arch/powerpc/boot/dts/p3041ds.dts \ > ${S}/arch/powerpc/boot/dts/p3041ds-usdpaa.dts" > 2. keep dtb files are included in the deploy cache package > > Signed-off-by: Zhenhua Luo <b19537@freescale.com> > --- > meta/recipes-kernel/linux/linux-dtb.inc | 33 ++++++++++++++++++++++++------ > 1 files changed, 26 insertions(+), 7 deletions(-) > > diff --git a/meta/recipes-kernel/linux/linux-dtb.inc b/meta/recipes- > kernel/linux/linux-dtb.inc > index 7ec7584..de83e78 100644 > --- a/meta/recipes-kernel/linux/linux-dtb.inc > +++ b/meta/recipes-kernel/linux/linux-dtb.inc > @@ -15,13 +15,32 @@ python __anonymous () { > > do_install_append() { > if test -n "${KERNEL_DEVICETREE}"; then > - dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree > ${KERNEL_DEVICETREE} > - install -m 0644 devicetree ${D}/boot/devicetree-${KERNEL_VERSION} > - install -d ${DEPLOY_DIR_IMAGE} > - install -m 0644 devicetree > ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.dtb > - cd ${DEPLOY_DIR_IMAGE} > - rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.dtb > - ln -sf ${KERNEL_IMAGE_BASE_NAME}.dtb ${KERNEL_IMAGE_SYMLINK_NAME}.dtb > + for DTS_FILE in ${KERNEL_DEVICETREE}; do > + DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'` > + DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed > "s/${MACHINE}/${DTS_BASE_NAME}/g"` > + DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed > "s/${MACHINE}/${DTS_BASE_NAME}/g"` > + dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree > ${DTS_FILE} > + install -m 0644 devicetree ${D}/boot/devicetree-${DTS_BASE_NAME}- > ${KERNEL_VERSION} > + install -d ${DEPLOY_DIR_IMAGE} > + install -m 0644 devicetree ${DEPLOY_DIR_IMAGE}/${DTB_NAME}.dtb > + cd ${DEPLOY_DIR_IMAGE} > + rm -f ${DTB_SYMLINK_NAME}.dtb > + ln -sf ${DTB_NAME}.dtb ${DTB_SYMLINK_NAME}.dtb > + cd - > + done > fi > } > > +do_deploy_append() { > + if test -n "${KERNEL_DEVICETREE}"; then > + for DTS_FILE in ${KERNEL_DEVICETREE}; do > + DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'` > + DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed > "s/${MACHINE}/${DTS_BASE_NAME}/g"` > + DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed > "s/${MACHINE}/${DTS_BASE_NAME}/g"` > + install -d ${DEPLOYDIR} > + install -m 0644 ${DEPLOY_DIR_IMAGE}/${DTB_NAME}.dtb > ${DEPLOYDIR}/${DTB_NAME}.dtb > + cd ${DEPLOYDIR} > + ln -sf ${DTB_NAME}.dtb ${DTB_SYMLINK_NAME=}.dtb > + done > + fi > +} > -- > 1.7.0.4
Patch
diff --git a/meta/recipes-kernel/linux/linux-dtb.inc b/meta/recipes-kernel/linux/linux-dtb.inc index 7ec7584..de83e78 100644 --- a/meta/recipes-kernel/linux/linux-dtb.inc +++ b/meta/recipes-kernel/linux/linux-dtb.inc @@ -15,13 +15,32 @@ python __anonymous () { do_install_append() { if test -n "${KERNEL_DEVICETREE}"; then - dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree ${KERNEL_DEVICETREE} - install -m 0644 devicetree ${D}/boot/devicetree-${KERNEL_VERSION} - install -d ${DEPLOY_DIR_IMAGE} - install -m 0644 devicetree ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.dtb - cd ${DEPLOY_DIR_IMAGE} - rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.dtb - ln -sf ${KERNEL_IMAGE_BASE_NAME}.dtb ${KERNEL_IMAGE_SYMLINK_NAME}.dtb + for DTS_FILE in ${KERNEL_DEVICETREE}; do + DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'` + DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"` + DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"` + dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree ${DTS_FILE} + install -m 0644 devicetree ${D}/boot/devicetree-${DTS_BASE_NAME}-${KERNEL_VERSION} + install -d ${DEPLOY_DIR_IMAGE} + install -m 0644 devicetree ${DEPLOY_DIR_IMAGE}/${DTB_NAME}.dtb + cd ${DEPLOY_DIR_IMAGE} + rm -f ${DTB_SYMLINK_NAME}.dtb + ln -sf ${DTB_NAME}.dtb ${DTB_SYMLINK_NAME}.dtb + cd - + done fi } +do_deploy_append() { + if test -n "${KERNEL_DEVICETREE}"; then + for DTS_FILE in ${KERNEL_DEVICETREE}; do + DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'` + DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"` + DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTS_BASE_NAME}/g"` + install -d ${DEPLOYDIR} + install -m 0644 ${DEPLOY_DIR_IMAGE}/${DTB_NAME}.dtb ${DEPLOYDIR}/${DTB_NAME}.dtb + cd ${DEPLOYDIR} + ln -sf ${DTB_NAME}.dtb ${DTB_SYMLINK_NAME=}.dtb + done + fi +}