linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] bootwrapper: support u-boot multi component images
@ 2008-09-19  8:50 Peter Korsgaard
  2008-09-19 11:26 ` Gerhard Pircher
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Peter Korsgaard @ 2008-09-19  8:50 UTC (permalink / raw)
  To: linuxppc-dev, grant.likely

From: peter Korsgaard <jacmet@sunsite.dk>

Support uImage.<platform>, which are U-Boot multi component images
containing a kernel, dtb and possibly an initrd.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
v2: Incorporated Grant Likely's feedback.

 Documentation/powerpc/bootwrapper.txt |    4 ++++
 arch/powerpc/boot/Makefile            |   11 +++++++++--
 arch/powerpc/boot/wrapper             |   20 +++++++++++++++++++-
 3 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/Documentation/powerpc/bootwrapper.txt b/Documentation/powerpc/bootwrapper.txt
index d60fced..fa2e014 100644
--- a/Documentation/powerpc/bootwrapper.txt
+++ b/Documentation/powerpc/bootwrapper.txt
@@ -91,6 +91,10 @@ Currently, the following image format targets exist:
 			a device tree to the kernel at boot.  If using an older
 			version of U-Boot, then you need to use a cuImage
 			instead.
+   uImage.%:		U-Boot multi component image. Similar to uImage,
+			except device tree blob is embedded inside the
+			image together with the kernel (and potentially
+			an initrd).
    zImage.%:		Image format which does not embed a device tree.
 			Used by OpenFirmware and other firmware interfaces
 			which are able to supply a device tree.  This image
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 717a3bc..8d2e789 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -282,8 +282,9 @@ image-y	+= $(subst ",,$(CONFIG_EXTRA_TARGETS))
 initrd-  := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-))
 initrd-y := $(patsubst zImage%, zImage.initrd%, \
 		$(patsubst dtbImage%, dtbImage.initrd%, \
+		$(patsubst uImage.%, uImage.initrd.%, \
 		$(patsubst simpleImage%, simpleImage.initrd%, \
-		$(patsubst treeImage%, treeImage.initrd%, $(image-y)))))
+		$(patsubst treeImage%, treeImage.initrd%, $(image-y))))))
 initrd-y := $(filter-out $(image-y), $(initrd-y))
 targets	+= $(image-y) $(initrd-y)
 
@@ -316,6 +317,12 @@ $(obj)/zImage.iseries: vmlinux
 $(obj)/uImage: vmlinux $(wrapperbits)
 	$(call if_changed,wrap,uboot)
 
+$(obj)/uImage.initrd.%: vmlinux $(wrapperbits) $(obj)/%.dtb
+	$(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
+
+$(obj)/uImage.%: vmlinux $(wrapperbits) $(obj)/%.dtb
+	$(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb)
+
 $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
 	$(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)
 
@@ -352,7 +359,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
 clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \
 	zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \
 	zImage.iseries zImage.miboot zImage.pmac zImage.pseries \
-	otheros.bld *.dtb
+	otheros.bld uImage* *.dtb
 
 # clean up files cached by wrapper
 clean-kernel := vmlinux.strip vmlinux.bin
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
index 965c237..548b087 100755
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
@@ -153,7 +153,7 @@ coff)
     lds=$object/zImage.coff.lds
     link_address='0x500000'
     ;;
-miboot|uboot)
+miboot|uboot*)
     # miboot and U-boot want just the bare bits, not an ELF binary
     ext=bin
     objflags="-O binary"
@@ -262,6 +262,24 @@ uboot)
     fi
     exit 0
     ;;
+uboot-*)
+    rm -f "$ofile"
+    # we always need an initrd - create a dummy initrd if none provided
+    if [ ! -f "initrd" ]; then
+	initrd="$tmpdir/dummy.initrd"
+	echo -n fill >$initrd
+    fi
+    mkimage -A ppc -O linux -T multi -C gzip -a $membase -e $membase \
+	$uboot_version -d "$vmz:$initrd:$dtb" "$ofile"
+    if [ "$initrd" == "$tmpdir/dummy.initrd" ]; then
+	rm $initrd;
+    fi
+    if [ -z "$cacheit" ]; then
+	rm -f "$vmz"
+    fi
+    exit 0
+    ;;
+
 esac
 
 addsec() {
-- 
1.5.6.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] bootwrapper: support u-boot multi component images
  2008-09-19  8:50 [PATCH v2] bootwrapper: support u-boot multi component images Peter Korsgaard
@ 2008-09-19 11:26 ` Gerhard Pircher
  2008-09-19 11:31   ` Peter Korsgaard
  2008-09-19 13:51 ` Grant Likely
  2008-09-22  7:41 ` Wolfgang Denk
  2 siblings, 1 reply; 7+ messages in thread
From: Gerhard Pircher @ 2008-09-19 11:26 UTC (permalink / raw)
  To: Peter Korsgaard, linuxppc-dev


-------- Original-Nachricht --------
> Datum: Fri, 19 Sep 2008 10:50:10 +0200
> Von: Peter Korsgaard <jacmet@sunsite.dk>
> An: linuxppc-dev@ozlabs.org, grant.likely@secretlab.ca
> Betreff: [PATCH v2] bootwrapper: support u-boot multi component images

> From: peter Korsgaard <jacmet@sunsite.dk>
> 
> Support uImage.<platform>, which are U-Boot multi component images
> containing a kernel, dtb and possibly an initrd.
Just out of interest: Do you intend to replace the code for building
cuImage.<platform> (zImage target) with this new build target?

regards,

Gerhard

-- 
GMX Kostenlose Spiele: Einfach online spielen und Spaß haben mit Pastry Passion!
http://games.entertainment.gmx.net/de/entertainment/games/free/puzzle/6169196

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] bootwrapper: support u-boot multi component images
  2008-09-19 11:26 ` Gerhard Pircher
@ 2008-09-19 11:31   ` Peter Korsgaard
  0 siblings, 0 replies; 7+ messages in thread
From: Peter Korsgaard @ 2008-09-19 11:31 UTC (permalink / raw)
  To: Gerhard Pircher; +Cc: linuxppc-dev

>>>>> "Gerhard" == Gerhard Pircher <gerhard_pircher@gmx.net> writes:

Hi,

 >> Support uImage.<platform>, which are U-Boot multi component images
 >> containing a kernel, dtb and possibly an initrd.
 Gerhard> Just out of interest: Do you intend to replace the code for building
 Gerhard> cuImage.<platform> (zImage target) with this new build target?

No, they are for different use cases. cuImages are interesting when
you cannot upgrade uboot to add device tree support and you want to
use a new kernel - uImage.% is interesting when you want to use device
trees but you want the simplicity of having a single file (And you
acknowledge the fact that the device tree as it is today is pretty much
kernel version dependent so it makes most sense to keep them in sync).

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] bootwrapper: support u-boot multi component images
  2008-09-19  8:50 [PATCH v2] bootwrapper: support u-boot multi component images Peter Korsgaard
  2008-09-19 11:26 ` Gerhard Pircher
@ 2008-09-19 13:51 ` Grant Likely
  2008-09-22  7:41 ` Wolfgang Denk
  2 siblings, 0 replies; 7+ messages in thread
From: Grant Likely @ 2008-09-19 13:51 UTC (permalink / raw)
  To: Peter Korsgaard; +Cc: linuxppc-dev

On Fri, Sep 19, 2008 at 10:50:10AM +0200, Peter Korsgaard wrote:
> From: peter Korsgaard <jacmet@sunsite.dk>
> 
> Support uImage.<platform>, which are U-Boot multi component images
> containing a kernel, dtb and possibly an initrd.
> 
> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Acked-by: Grant Likely <grant.likely@secretlab.ca>

> ---
> v2: Incorporated Grant Likely's feedback.
> 
>  Documentation/powerpc/bootwrapper.txt |    4 ++++
>  arch/powerpc/boot/Makefile            |   11 +++++++++--
>  arch/powerpc/boot/wrapper             |   20 +++++++++++++++++++-
>  3 files changed, 32 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/powerpc/bootwrapper.txt b/Documentation/powerpc/bootwrapper.txt
> index d60fced..fa2e014 100644
> --- a/Documentation/powerpc/bootwrapper.txt
> +++ b/Documentation/powerpc/bootwrapper.txt
> @@ -91,6 +91,10 @@ Currently, the following image format targets exist:
>  			a device tree to the kernel at boot.  If using an older
>  			version of U-Boot, then you need to use a cuImage
>  			instead.
> +   uImage.%:		U-Boot multi component image. Similar to uImage,
> +			except device tree blob is embedded inside the
> +			image together with the kernel (and potentially
> +			an initrd).
>     zImage.%:		Image format which does not embed a device tree.
>  			Used by OpenFirmware and other firmware interfaces
>  			which are able to supply a device tree.  This image
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index 717a3bc..8d2e789 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -282,8 +282,9 @@ image-y	+= $(subst ",,$(CONFIG_EXTRA_TARGETS))
>  initrd-  := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-))
>  initrd-y := $(patsubst zImage%, zImage.initrd%, \
>  		$(patsubst dtbImage%, dtbImage.initrd%, \
> +		$(patsubst uImage.%, uImage.initrd.%, \
>  		$(patsubst simpleImage%, simpleImage.initrd%, \
> -		$(patsubst treeImage%, treeImage.initrd%, $(image-y)))))
> +		$(patsubst treeImage%, treeImage.initrd%, $(image-y))))))
>  initrd-y := $(filter-out $(image-y), $(initrd-y))
>  targets	+= $(image-y) $(initrd-y)
>  
> @@ -316,6 +317,12 @@ $(obj)/zImage.iseries: vmlinux
>  $(obj)/uImage: vmlinux $(wrapperbits)
>  	$(call if_changed,wrap,uboot)
>  
> +$(obj)/uImage.initrd.%: vmlinux $(wrapperbits) $(obj)/%.dtb
> +	$(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)
> +
> +$(obj)/uImage.%: vmlinux $(wrapperbits) $(obj)/%.dtb
> +	$(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb)
> +
>  $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)
>  	$(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)
>  
> @@ -352,7 +359,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
>  clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \
>  	zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \
>  	zImage.iseries zImage.miboot zImage.pmac zImage.pseries \
> -	otheros.bld *.dtb
> +	otheros.bld uImage* *.dtb
>  
>  # clean up files cached by wrapper
>  clean-kernel := vmlinux.strip vmlinux.bin
> diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper
> index 965c237..548b087 100755
> --- a/arch/powerpc/boot/wrapper
> +++ b/arch/powerpc/boot/wrapper
> @@ -153,7 +153,7 @@ coff)
>      lds=$object/zImage.coff.lds
>      link_address='0x500000'
>      ;;
> -miboot|uboot)
> +miboot|uboot*)
>      # miboot and U-boot want just the bare bits, not an ELF binary
>      ext=bin
>      objflags="-O binary"
> @@ -262,6 +262,24 @@ uboot)
>      fi
>      exit 0
>      ;;
> +uboot-*)
> +    rm -f "$ofile"
> +    # we always need an initrd - create a dummy initrd if none provided
> +    if [ ! -f "initrd" ]; then
> +	initrd="$tmpdir/dummy.initrd"
> +	echo -n fill >$initrd
> +    fi
> +    mkimage -A ppc -O linux -T multi -C gzip -a $membase -e $membase \
> +	$uboot_version -d "$vmz:$initrd:$dtb" "$ofile"
> +    if [ "$initrd" == "$tmpdir/dummy.initrd" ]; then
> +	rm $initrd;
> +    fi
> +    if [ -z "$cacheit" ]; then
> +	rm -f "$vmz"
> +    fi
> +    exit 0
> +    ;;
> +
>  esac
>  
>  addsec() {
> -- 
> 1.5.6.3
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] bootwrapper: support u-boot multi component images
  2008-09-19  8:50 [PATCH v2] bootwrapper: support u-boot multi component images Peter Korsgaard
  2008-09-19 11:26 ` Gerhard Pircher
  2008-09-19 13:51 ` Grant Likely
@ 2008-09-22  7:41 ` Wolfgang Denk
  2008-09-22  7:55   ` Peter Korsgaard
  2 siblings, 1 reply; 7+ messages in thread
From: Wolfgang Denk @ 2008-09-22  7:41 UTC (permalink / raw)
  To: Peter Korsgaard; +Cc: linuxppc-dev

Dear Peter Korsgaard,

In message <1221814210-4738-1-git-send-email-jacmet@sunsite.dk> you wrote:
> From: peter Korsgaard <jacmet@sunsite.dk>
> 
> Support uImage.<platform>, which are U-Boot multi component images
> containing a kernel, dtb and possibly an initrd.

NAK.

Please do not add such a patch to mainline.

> +   uImage.%:		U-Boot multi component image. Similar to uImage,
> +			except device tree blob is embedded inside the
> +			image together with the kernel (and potentially
> +			an initrd).

The use of the old multi-file image format in U-Boot  is  deprecated.
It  has  some  severe  limitations,  and we have a much more flexible
solution now.

Please use FIT images instead (see doc/uImage.FIT/*).

Thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
 The software required `Windows 95 or better', so I installed Linux.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] bootwrapper: support u-boot multi component images
  2008-09-22  7:41 ` Wolfgang Denk
@ 2008-09-22  7:55   ` Peter Korsgaard
  2008-09-22 10:49     ` Wolfgang Denk
  0 siblings, 1 reply; 7+ messages in thread
From: Peter Korsgaard @ 2008-09-22  7:55 UTC (permalink / raw)
  To: Wolfgang Denk; +Cc: linuxppc-dev

>>>>> "Wolfgang" == Wolfgang Denk <wd@denx.de> writes:

Hi,

 >> Support uImage.<platform>, which are U-Boot multi component images
 >> containing a kernel, dtb and possibly an initrd.

 Wolfgang> NAK.

 Wolfgang> Please do not add such a patch to mainline.

I agree that FIT images probably are the way to go for the future, but
I do think there's room for uImage.% just like we have cuImage.% for
really old uboots.

I'm sure a patch adding FIT images support to bootwrapper would be
appreciated.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2] bootwrapper: support u-boot multi component images
  2008-09-22  7:55   ` Peter Korsgaard
@ 2008-09-22 10:49     ` Wolfgang Denk
  0 siblings, 0 replies; 7+ messages in thread
From: Wolfgang Denk @ 2008-09-22 10:49 UTC (permalink / raw)
  To: Peter Korsgaard; +Cc: linuxppc-dev

Dear Peter,

In message <874p48y5qb.fsf@macbook.be.48ers.dk> you wrote:
> 
>  Wolfgang> NAK.
> 
>  Wolfgang> Please do not add such a patch to mainline.
> 
> I agree that FIT images probably are the way to go for the future, but
> I do think there's room for uImage.% just like we have cuImage.% for
> really old uboots.

I disagree. Adding such support now just encourages people  to  start
using a deprecated feature.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Parkinson's Law:  Work expands to fill the time alloted it.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-09-22 10:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-09-19  8:50 [PATCH v2] bootwrapper: support u-boot multi component images Peter Korsgaard
2008-09-19 11:26 ` Gerhard Pircher
2008-09-19 11:31   ` Peter Korsgaard
2008-09-19 13:51 ` Grant Likely
2008-09-22  7:41 ` Wolfgang Denk
2008-09-22  7:55   ` Peter Korsgaard
2008-09-22 10:49     ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).