{"id":589,"url":"http://patchwork.ozlabs.org/api/1.0/patches/589/?format=json","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/1.0/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/"},"msgid":"<1221814210-4738-1-git-send-email-jacmet@sunsite.dk>","date":"2008-09-19T08:50:10","name":"[v2] bootwrapper: support u-boot multi component images","commit_ref":null,"pull_url":null,"state":"superseded","archived":true,"hash":"6ce2699622a703bd58cef15f91d9bde44c754cd1","submitter":{"id":103,"url":"http://patchwork.ozlabs.org/api/1.0/people/103/?format=json","name":"Peter Korsgaard","email":"jacmet@sunsite.dk"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/1221814210-4738-1-git-send-email-jacmet@sunsite.dk/mbox/","series":[],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/589/checks/","tags":{},"headers":{"Return-Path":"<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@ozlabs.org"],"Delivered-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@ozlabs.org"],"Received":["from ozlabs.org (localhost [127.0.0.1])\n\tby ozlabs.org (Postfix) with ESMTP id 50B7ADDF59\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri, 19 Sep 2008 18:50:47 +1000 (EST)","from fg-out-1718.google.com (fg-out-1718.google.com\n\t[72.14.220.159]) by ozlabs.org (Postfix) with ESMTP id 22D42DDD0B\n\tfor <linuxppc-dev@ozlabs.org>; Fri, 19 Sep 2008 18:50:16 +1000 (EST)","by fg-out-1718.google.com with SMTP id d23so528346fga.39\n\tfor <linuxppc-dev@ozlabs.org>; Fri, 19 Sep 2008 01:50:14 -0700 (PDT)","by 10.86.98.14 with SMTP id v14mr1632547fgb.74.1221814214576;\n\tFri, 19 Sep 2008 01:50:14 -0700 (PDT)","from macbook.be.48ers.dk ( [194.78.207.191])\n\tby mx.google.com with ESMTPS id d4sm1527064fga.5.2008.09.19.01.50.12\n\t(version=TLSv1/SSLv3 cipher=RC4-MD5);\n\tFri, 19 Sep 2008 01:50:13 -0700 (PDT)","by macbook.be.48ers.dk (Postfix, from userid 1000)\n\tid ED76E98CD12; Fri, 19 Sep 2008 10:50:10 +0200 (CEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; \n\th=domainkey-signature:received:received:received:from:to:cc:subject\n\t:date:message-id:x-mailer:sender;\n\tbh=V0LV/HRKTRuNLFNRp+M4a6LprVSJdQve20ycGbx44BQ=;\n\tb=I92f51xMNg8542UdrLjSQ9iQ4G0/URRMYi018Cd/8hXrfBR6SgNJL9CfhY0xZ79jF2\n\tURBhfb0+8qHbur1EAgcqehaeTpkpeBTITzqoZojp7vii6iTpSsaGxioMyc1vrpwVLOkq\n\tJ3AJRImp3cRa7QM2Yaii+uI+Dps7p55cJ77Ig=","DomainKey-Signature":"a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;\n\th=from:to:cc:subject:date:message-id:x-mailer:sender;\n\tb=dfdNm47GqaEPMq0Dl74V65GlkmJZa+u6A1zmArzvuh+akIYowdV8VoF866eL3yYncC\n\tnm3VZ5F/vm2oByWeXFbAo47YYF1LXmT89VUHYqq1DwJxkfCS3lzv5ggfGNLdaYFQnobQ\n\t3sAPEOBrAYmZvoJpJBkHxWMj7QlT2FzRb2+hs=","From":"Peter Korsgaard <jacmet@sunsite.dk>","To":"linuxppc-dev@ozlabs.org,\n\tgrant.likely@secretlab.ca","Subject":"[PATCH v2] bootwrapper: support u-boot multi component images","Date":"Fri, 19 Sep 2008 10:50:10 +0200","Message-Id":"<1221814210-4738-1-git-send-email-jacmet@sunsite.dk>","X-Mailer":"git-send-email 1.5.6.3","X-BeenThere":"linuxppc-dev@ozlabs.org","X-Mailman-Version":"2.1.11","Precedence":"list","List-Id":"Linux on PowerPC Developers Mail List <linuxppc-dev.ozlabs.org>","List-Unsubscribe":"<https://ozlabs.org/mailman/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@ozlabs.org?subject=unsubscribe>","List-Archive":"<http://ozlabs.org/pipermail/linuxppc-dev>","List-Post":"<mailto:linuxppc-dev@ozlabs.org>","List-Help":"<mailto:linuxppc-dev-request@ozlabs.org?subject=help>","List-Subscribe":"<https://ozlabs.org/mailman/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@ozlabs.org?subject=subscribe>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org","Errors-To":"linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@ozlabs.org"},"content":"From: peter Korsgaard <jacmet@sunsite.dk>\n\nSupport uImage.<platform>, which are U-Boot multi component images\ncontaining a kernel, dtb and possibly an initrd.\n\nSigned-off-by: Peter Korsgaard <jacmet@sunsite.dk>","diff":"diff --git a/Documentation/powerpc/bootwrapper.txt b/Documentation/powerpc/bootwrapper.txt\nindex d60fced..fa2e014 100644\n--- a/Documentation/powerpc/bootwrapper.txt\n+++ b/Documentation/powerpc/bootwrapper.txt\n@@ -91,6 +91,10 @@ Currently, the following image format targets exist:\n \t\t\ta device tree to the kernel at boot.  If using an older\n \t\t\tversion of U-Boot, then you need to use a cuImage\n \t\t\tinstead.\n+   uImage.%:\t\tU-Boot multi component image. Similar to uImage,\n+\t\t\texcept device tree blob is embedded inside the\n+\t\t\timage together with the kernel (and potentially\n+\t\t\tan initrd).\n    zImage.%:\t\tImage format which does not embed a device tree.\n \t\t\tUsed by OpenFirmware and other firmware interfaces\n \t\t\twhich are able to supply a device tree.  This image\ndiff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile\nindex 717a3bc..8d2e789 100644\n--- a/arch/powerpc/boot/Makefile\n+++ b/arch/powerpc/boot/Makefile\n@@ -282,8 +282,9 @@ image-y\t+= $(subst \",,$(CONFIG_EXTRA_TARGETS))\n initrd-  := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-))\n initrd-y := $(patsubst zImage%, zImage.initrd%, \\\n \t\t$(patsubst dtbImage%, dtbImage.initrd%, \\\n+\t\t$(patsubst uImage.%, uImage.initrd.%, \\\n \t\t$(patsubst simpleImage%, simpleImage.initrd%, \\\n-\t\t$(patsubst treeImage%, treeImage.initrd%, $(image-y)))))\n+\t\t$(patsubst treeImage%, treeImage.initrd%, $(image-y))))))\n initrd-y := $(filter-out $(image-y), $(initrd-y))\n targets\t+= $(image-y) $(initrd-y)\n \n@@ -316,6 +317,12 @@ $(obj)/zImage.iseries: vmlinux\n $(obj)/uImage: vmlinux $(wrapperbits)\n \t$(call if_changed,wrap,uboot)\n \n+$(obj)/uImage.initrd.%: vmlinux $(wrapperbits) $(obj)/%.dtb\n+\t$(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz)\n+\n+$(obj)/uImage.%: vmlinux $(wrapperbits) $(obj)/%.dtb\n+\t$(call if_changed,wrap,uboot-$*,,$(obj)/$*.dtb)\n+\n $(obj)/cuImage.%: vmlinux $(obj)/%.dtb $(wrapperbits)\n \t$(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb)\n \n@@ -352,7 +359,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))\n clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \\\n \tzImage zImage.initrd zImage.chrp zImage.coff zImage.holly \\\n \tzImage.iseries zImage.miboot zImage.pmac zImage.pseries \\\n-\totheros.bld *.dtb\n+\totheros.bld uImage* *.dtb\n \n # clean up files cached by wrapper\n clean-kernel := vmlinux.strip vmlinux.bin\ndiff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper\nindex 965c237..548b087 100755\n--- a/arch/powerpc/boot/wrapper\n+++ b/arch/powerpc/boot/wrapper\n@@ -153,7 +153,7 @@ coff)\n     lds=$object/zImage.coff.lds\n     link_address='0x500000'\n     ;;\n-miboot|uboot)\n+miboot|uboot*)\n     # miboot and U-boot want just the bare bits, not an ELF binary\n     ext=bin\n     objflags=\"-O binary\"\n@@ -262,6 +262,24 @@ uboot)\n     fi\n     exit 0\n     ;;\n+uboot-*)\n+    rm -f \"$ofile\"\n+    # we always need an initrd - create a dummy initrd if none provided\n+    if [ ! -f \"initrd\" ]; then\n+\tinitrd=\"$tmpdir/dummy.initrd\"\n+\techo -n fill >$initrd\n+    fi\n+    mkimage -A ppc -O linux -T multi -C gzip -a $membase -e $membase \\\n+\t$uboot_version -d \"$vmz:$initrd:$dtb\" \"$ofile\"\n+    if [ \"$initrd\" == \"$tmpdir/dummy.initrd\" ]; then\n+\trm $initrd;\n+    fi\n+    if [ -z \"$cacheit\" ]; then\n+\trm -f \"$vmz\"\n+    fi\n+    exit 0\n+    ;;\n+\n esac\n \n addsec() {\n","prefixes":["v2"]}