Patchwork [1/1] u-boot inc: update inc file for newer u-boot versions

login
register
mail settings
Submitter chase maupin
Date Feb. 3, 2012, 9:37 p.m.
Message ID <1328305049-18696-2-git-send-email-Chase.Maupin@ti.com>
Download mbox | patch
Permalink /patch/20675/
State New
Headers show

Comments

chase maupin - Feb. 3, 2012, 9:37 p.m.
* Add support for different suffixes found with later u-boot
  versions which have switched from .bin to .img
* Allow recipes that include u-boot.inc to also package an
  SPL if they build one.
    * Minimum requirement is to set the SPL_BINARY value to add
      the SPL to the u-boot package as well as into the deploy
      directory.

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
---
 meta/recipes-bsp/u-boot/u-boot.inc |   37 ++++++++++++++++++++++++++++++++---
 1 files changed, 33 insertions(+), 4 deletions(-)
chase maupin - Feb. 3, 2012, 9:43 p.m.
> -----Original Message-----
> From: Maupin, Chase
> Sent: Friday, February 03, 2012 3:37 PM
> To: openembedded-core@lists.openembedded.org
> Cc: Maupin, Chase
> Subject: [PATCH 1/1] u-boot inc: update inc file for newer u-boot
> versions
> 
> * Add support for different suffixes found with later u-boot
>   versions which have switched from .bin to .img
> * Allow recipes that include u-boot.inc to also package an
>   SPL if they build one.
>     * Minimum requirement is to set the SPL_BINARY value to add
>       the SPL to the u-boot package as well as into the deploy
>       directory.
> 
> Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
> ---
>  meta/recipes-bsp/u-boot/u-boot.inc |   37
> ++++++++++++++++++++++++++++++++---
>  1 files changed, 33 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-
> bsp/u-boot/u-boot.inc
> index 4180345..dcf5463 100644
> --- a/meta/recipes-bsp/u-boot/u-boot.inc
> +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> @@ -19,11 +19,22 @@ python () {
>  		raise bb.parse.SkipPackage("because UBOOT_MACHINE is
> not set")
>  }
> 
> -UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
> -UBOOT_BINARY ?= "u-boot.bin"
> -UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
> +# Some versions of u-boot use .bin and others use .img.  By
> default use .bin
> +# but enable individual recipes to change this value.
> +UBOOT_SUFFIX ?= "bin"
> +UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
> +UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
> +UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
>  UBOOT_MAKE_TARGET ?= "all"
> 
> +# Some versions of u-boot build an SPL (Second Program Loader)
> image that
> +# should be packaged along with the u-boot binary as well as
> placed in the
> +# deploy directory.  For those versions they can set the following
> variables
> +# to allow packaging the SPL.
> +SPL_BINARY ?= ""
> +SPL_IMAGE ?= "${SPL_BINARY}-${PV}-${PR}"
> +SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"
> +
>  do_compile () {
>  	unset LDFLAGS
>  	unset CFLAGS
> @@ -36,15 +47,33 @@ do_install () {
>      install -d ${D}/boot
>      install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
>      ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
> +
> +    if [ "x${SPL_BINARY}" != "x" ]
> +    then
> +        install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
> +        ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
> +    fi
>  }
> 
>  FILES_${PN} = "/boot"
> +# no gnu_hash in uboot.bin, by design, so skip QA
> +INSANE_SKIP_${PN} = True

BTW, I believe I can remove this line since I didn't see any QA warnings when building without it.  I have seen versions of u-boot.inc that use the INSANE_SKIP and versions that don't so I'm not sure what the right thing is here.

> 
>  do_deploy () {
> -	install ${S}/u-boot.bin ${DEPLOYDIR}/${UBOOT_IMAGE}
> +    install -d ${DEPLOYDIR}
> +	install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
> 
>  	cd ${DEPLOYDIR}
>  	rm -f ${UBOOT_SYMLINK}
>  	ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
> +
> +    if [ "x${SPL_BINARY}" != "x" ]
> +    then
> +        install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
> +        rm -f ${DEPLOYDIR}/${SPL_BINARY}
> ${DEPLOYDIR}/${SPL_SYMLINK}
> +        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
> +        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
> +    fi
>  }
> +
>  addtask deploy before do_build after do_compile
> --
> 1.7.0.4
Phil Blundell - Feb. 3, 2012, 10:53 p.m.
On Fri, 2012-02-03 at 21:43 +0000, Maupin, Chase wrote:
> > +# no gnu_hash in uboot.bin, by design, so skip QA
> > +INSANE_SKIP_${PN} = True
> 
> BTW, I believe I can remove this line since I didn't see any QA warnings when building without it.  I have seen versions of u-boot.inc that use the INSANE_SKIP and versions that don't so I'm not sure what the right thing is here.

If uboot.bin is what the name suggests (i.e. a straight binary file
rather than an ELF image) then the GNU_HASH check will be inoperative
anyway and there is no need to skip it.

I'm also not entirely sure that setting INSANE_SKIP_xx to "True" is
going to have any useful effect.  If I remember right the value of that
variable is meant to be a list of checks to skip and I don't think True
is going to match against anything there.

So, all in all I think you are probably correct that this line can be
safely deleted. 

p.
Saul Wold - Feb. 3, 2012, 11:26 p.m.
On 02/03/2012 01:43 PM, Maupin, Chase wrote:
>> -----Original Message-----
>> From: Maupin, Chase
>> Sent: Friday, February 03, 2012 3:37 PM
>> To: openembedded-core@lists.openembedded.org
>> Cc: Maupin, Chase
>> Subject: [PATCH 1/1] u-boot inc: update inc file for newer u-boot
>> versions
>>
>> * Add support for different suffixes found with later u-boot
>>    versions which have switched from .bin to .img
>> * Allow recipes that include u-boot.inc to also package an
>>    SPL if they build one.
>>      * Minimum requirement is to set the SPL_BINARY value to add
>>        the SPL to the u-boot package as well as into the deploy
>>        directory.
>>
>> Signed-off-by: Chase Maupin<Chase.Maupin@ti.com>
>> ---
>>   meta/recipes-bsp/u-boot/u-boot.inc |   37
>> ++++++++++++++++++++++++++++++++---
>>   1 files changed, 33 insertions(+), 4 deletions(-)
>>
>> diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-
>> bsp/u-boot/u-boot.inc
>> index 4180345..dcf5463 100644
>> --- a/meta/recipes-bsp/u-boot/u-boot.inc
>> +++ b/meta/recipes-bsp/u-boot/u-boot.inc
>> @@ -19,11 +19,22 @@ python () {
>>   		raise bb.parse.SkipPackage("because UBOOT_MACHINE is
>> not set")
>>   }
>>
>> -UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
>> -UBOOT_BINARY ?= "u-boot.bin"
>> -UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
>> +# Some versions of u-boot use .bin and others use .img.  By
>> default use .bin
>> +# but enable individual recipes to change this value.
>> +UBOOT_SUFFIX ?= "bin"
>> +UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
>> +UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
>> +UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
>>   UBOOT_MAKE_TARGET ?= "all"
>>
>> +# Some versions of u-boot build an SPL (Second Program Loader)
>> image that
>> +# should be packaged along with the u-boot binary as well as
>> placed in the
>> +# deploy directory.  For those versions they can set the following
>> variables
>> +# to allow packaging the SPL.
>> +SPL_BINARY ?= ""
>> +SPL_IMAGE ?= "${SPL_BINARY}-${PV}-${PR}"
>> +SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"
>> +
>>   do_compile () {
>>   	unset LDFLAGS
>>   	unset CFLAGS
>> @@ -36,15 +47,33 @@ do_install () {
>>       install -d ${D}/boot
>>       install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
>>       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
>> +
>> +    if [ "x${SPL_BINARY}" != "x" ]
>> +    then
>> +        install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
>> +        ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
>> +    fi
>>   }
>>
>>   FILES_${PN} = "/boot"
>> +# no gnu_hash in uboot.bin, by design, so skip QA
>> +INSANE_SKIP_${PN} = True
>
> BTW, I believe I can remove this line since I didn't see any QA warnings when building without it.  I have seen versions of u-boot.inc that use the INSANE_SKIP and versions that don't so I'm not sure what the right thing is here.
>
If you are going to set it, it should be the list of which tests to skip 
rather than True.

INSANE_SKIP_${PN} = "ldflags" for the gnu_hash check, need to read 
insane.bbclass to figure that out.

Sau!

>>
>>   do_deploy () {
>> -	install ${S}/u-boot.bin ${DEPLOYDIR}/${UBOOT_IMAGE}
>> +    install -d ${DEPLOYDIR}
>> +	install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
>>
>>   	cd ${DEPLOYDIR}
>>   	rm -f ${UBOOT_SYMLINK}
>>   	ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
>> +
>> +    if [ "x${SPL_BINARY}" != "x" ]
>> +    then
>> +        install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
>> +        rm -f ${DEPLOYDIR}/${SPL_BINARY}
>> ${DEPLOYDIR}/${SPL_SYMLINK}
>> +        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
>> +        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
>> +    fi
>>   }
>> +
>>   addtask deploy before do_build after do_compile
>> --
>> 1.7.0.4
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
chase maupin - Feb. 6, 2012, 2:13 p.m.
> -----Original Message-----
> From: Saul Wold [mailto:sgw@linux.intel.com]
> Sent: Friday, February 03, 2012 5:27 PM
> To: Patches and discussions about the oe-core layer
> Cc: Maupin, Chase
> Subject: Re: [OE-core] [PATCH 1/1] u-boot inc: update inc file for
> newer u-boot versions
> 
> On 02/03/2012 01:43 PM, Maupin, Chase wrote:
> >> -----Original Message-----
> >> From: Maupin, Chase
> >> Sent: Friday, February 03, 2012 3:37 PM
> >> To: openembedded-core@lists.openembedded.org
> >> Cc: Maupin, Chase
> >> Subject: [PATCH 1/1] u-boot inc: update inc file for newer u-
> boot
> >> versions
> >>
> >> * Add support for different suffixes found with later u-boot
> >>    versions which have switched from .bin to .img
> >> * Allow recipes that include u-boot.inc to also package an
> >>    SPL if they build one.
> >>      * Minimum requirement is to set the SPL_BINARY value to add
> >>        the SPL to the u-boot package as well as into the deploy
> >>        directory.
> >>
> >> Signed-off-by: Chase Maupin<Chase.Maupin@ti.com>
> >> ---
> >>   meta/recipes-bsp/u-boot/u-boot.inc |   37
> >> ++++++++++++++++++++++++++++++++---
> >>   1 files changed, 33 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-
> >> bsp/u-boot/u-boot.inc
> >> index 4180345..dcf5463 100644
> >> --- a/meta/recipes-bsp/u-boot/u-boot.inc
> >> +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> >> @@ -19,11 +19,22 @@ python () {
> >>   		raise bb.parse.SkipPackage("because UBOOT_MACHINE is
> >> not set")
> >>   }
> >>
> >> -UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
> >> -UBOOT_BINARY ?= "u-boot.bin"
> >> -UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
> >> +# Some versions of u-boot use .bin and others use .img.  By
> >> default use .bin
> >> +# but enable individual recipes to change this value.
> >> +UBOOT_SUFFIX ?= "bin"
> >> +UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
> >> +UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
> >> +UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
> >>   UBOOT_MAKE_TARGET ?= "all"
> >>
> >> +# Some versions of u-boot build an SPL (Second Program Loader)
> >> image that
> >> +# should be packaged along with the u-boot binary as well as
> >> placed in the
> >> +# deploy directory.  For those versions they can set the
> following
> >> variables
> >> +# to allow packaging the SPL.
> >> +SPL_BINARY ?= ""
> >> +SPL_IMAGE ?= "${SPL_BINARY}-${PV}-${PR}"
> >> +SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"
> >> +
> >>   do_compile () {
> >>   	unset LDFLAGS
> >>   	unset CFLAGS
> >> @@ -36,15 +47,33 @@ do_install () {
> >>       install -d ${D}/boot
> >>       install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
> >>       ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
> >> +
> >> +    if [ "x${SPL_BINARY}" != "x" ]
> >> +    then
> >> +        install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
> >> +        ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
> >> +    fi
> >>   }
> >>
> >>   FILES_${PN} = "/boot"
> >> +# no gnu_hash in uboot.bin, by design, so skip QA
> >> +INSANE_SKIP_${PN} = True
> >
> > BTW, I believe I can remove this line since I didn't see any QA
> warnings when building without it.  I have seen versions of u-
> boot.inc that use the INSANE_SKIP and versions that don't so I'm
> not sure what the right thing is here.
> >
> If you are going to set it, it should be the list of which tests to
> skip
> rather than True.
> 
> INSANE_SKIP_${PN} = "ldflags" for the gnu_hash check, need to read
> insane.bbclass to figure that out.

Thanks for the feedback.  I'll resend this patch without the INSANE_SKIP

> 
> Sau!
> 
> >>
> >>   do_deploy () {
> >> -	install ${S}/u-boot.bin ${DEPLOYDIR}/${UBOOT_IMAGE}
> >> +    install -d ${DEPLOYDIR}
> >> +	install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
> >>
> >>   	cd ${DEPLOYDIR}
> >>   	rm -f ${UBOOT_SYMLINK}
> >>   	ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
> >> +
> >> +    if [ "x${SPL_BINARY}" != "x" ]
> >> +    then
> >> +        install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
> >> +        rm -f ${DEPLOYDIR}/${SPL_BINARY}
> >> ${DEPLOYDIR}/${SPL_SYMLINK}
> >> +        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
> >> +        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
> >> +    fi
> >>   }
> >> +
> >>   addtask deploy before do_build after do_compile
> >> --
> >> 1.7.0.4
> >
> >
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-
> core
> >

Patch

diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 4180345..dcf5463 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -19,11 +19,22 @@  python () {
 		raise bb.parse.SkipPackage("because UBOOT_MACHINE is not set")
 }
 
-UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.bin"
-UBOOT_BINARY ?= "u-boot.bin"
-UBOOT_SYMLINK ?= "u-boot-${MACHINE}.bin"
+# Some versions of u-boot use .bin and others use .img.  By default use .bin
+# but enable individual recipes to change this value.
+UBOOT_SUFFIX ?= "bin"
+UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
+UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
+UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
 UBOOT_MAKE_TARGET ?= "all"
 
+# Some versions of u-boot build an SPL (Second Program Loader) image that
+# should be packaged along with the u-boot binary as well as placed in the
+# deploy directory.  For those versions they can set the following variables
+# to allow packaging the SPL.
+SPL_BINARY ?= ""
+SPL_IMAGE ?= "${SPL_BINARY}-${PV}-${PR}"
+SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"
+
 do_compile () {
 	unset LDFLAGS
 	unset CFLAGS
@@ -36,15 +47,33 @@  do_install () {
     install -d ${D}/boot
     install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
     ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
+
+    if [ "x${SPL_BINARY}" != "x" ]
+    then
+        install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
+        ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARY}
+    fi
 }
 
 FILES_${PN} = "/boot"
+# no gnu_hash in uboot.bin, by design, so skip QA
+INSANE_SKIP_${PN} = True
 
 do_deploy () {
-	install ${S}/u-boot.bin ${DEPLOYDIR}/${UBOOT_IMAGE}
+    install -d ${DEPLOYDIR}
+	install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
 
 	cd ${DEPLOYDIR}
 	rm -f ${UBOOT_SYMLINK}
 	ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
+
+    if [ "x${SPL_BINARY}" != "x" ]
+    then
+        install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
+        rm -f ${DEPLOYDIR}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_SYMLINK}
+        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARY}
+        ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
+    fi
 }
+
 addtask deploy before do_build after do_compile