U-Boot wrapped dtbImage; useful for testing DT with an unmodified U-Boot.
Signed-off-by: Stephen Warren swarren@nvidia.com --- This patch is based on:
git://kernel.ubuntu.com/jk/dt/linux-2.6.git dtbimage
However, I actually developed and tested it only on:
git://git.secretlab.ca/git/linux-2.6 devicetree/test
plus the following commits from jk's dtbimage branch:
4c2eddb89542f73fe626813e3cdafc789f931aec arm: dtbImage support
4cb80ac96489220554d28f6fde527aeef83e628b arm/dtbimage: copy dtb blob to offset from image base
I wonder if rather than simply applying my patch below to jk's dtbimage branch, perhaps it would be better to cherry-pick the two commits I mentioned above into the devicetree/test tree, after which I can submit the original change I wrote there?
arch/arm/Makefile | 2 +- arch/arm/boot/Makefile | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index dab066a..3ce1751 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -264,7 +264,7 @@ archprepare: # Convert bzImage to zImage bzImage: zImage
-zImage Image xipImage bootpImage uImage dtbImage: vmlinux +zImage Image xipImage bootpImage uImage dtbImage dtbuImage: vmlinux $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
zinstall install: vmlinux diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index c608c98..a8f4251 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile @@ -66,15 +66,19 @@ quiet_cmd_uimage = UIMAGE $@
ifeq ($(CONFIG_ZBOOT_ROM),y) $(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) +$(obj)/dtbuImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) else $(obj)/uImage: LOADADDR=$(ZRELADDR) +$(obj)/dtbuImage: LOADADDR=$(ZRELADDR) endif
ifeq ($(CONFIG_THUMB2_KERNEL),y) # Set bit 0 to 1 so that "mov pc, rx" switches to Thumb-2 mode $(obj)/uImage: STARTADDR=$(shell echo $(LOADADDR) | sed -e "s/.$$/1/") +$(obj)/dtbuImage: STARTADDR=$(shell echo $(LOADADDR) | sed -e "s/.$$/1/") else $(obj)/uImage: STARTADDR=$(LOADADDR) +$(obj)/dtbuImage: STARTADDR=$(LOADADDR) endif
$(obj)/uImage: $(obj)/zImage FORCE @@ -97,6 +101,10 @@ $(obj)/dtbImage: $(obj)/dt/dtb FORCE $(call if_changed,objcopy) @echo ' Kernel: $@ is ready'
+$(obj)/dtbuImage: $(obj)/dtbImage FORCE + $(call if_changed,uimage) + @echo ' Image $@ is ready' + PHONY += initrd FORCE initrd: @test "$(INITRD_PHYS)" != "" || \
On Sat, Apr 23, 2011 at 10:12:02PM -0600, Stephen Warren wrote:
U-Boot wrapped dtbImage; useful for testing DT with an unmodified U-Boot.
Signed-off-by: Stephen Warren swarren@nvidia.com
This patch is based on:
git://kernel.ubuntu.com/jk/dt/linux-2.6.git dtbimage
However, I actually developed and tested it only on:
git://git.secretlab.ca/git/linux-2.6 devicetree/test
plus the following commits from jk's dtbimage branch:
4c2eddb89542f73fe626813e3cdafc789f931aec arm: dtbImage support
4cb80ac96489220554d28f6fde527aeef83e628b arm/dtbimage: copy dtb blob to offset from image base
I wonder if rather than simply applying my patch below to jk's dtbimage branch, perhaps it would be better to cherry-pick the two commits I mentioned above into the devicetree/test tree, after which I can submit the original change I wrote there?
Speaking of having dtb embedded in zImage, I bet the following patch from John Bonesio gets the better chance to hit the mainline.
[PATCHv3] ARM:boot:device tree: Allow the device tree binary to be appended to zImage http://lists.ozlabs.org/pipermail/devicetree-discuss/2011-March/005062.html