Message ID | 20081220005720.23861.18505.stgit@localhost.localdomain (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | 29f1aff2cc20d8b81fe3c890b8f134e84b8f41fe |
Headers | show |
Ben, Kumar & Josh; any comments on this? Thanks, g. On Fri, Dec 19, 2008 at 5:57 PM, Grant Likely <grant.likely@secretlab.ca> wrote: > From: Grant Likely <grant.likely@secretlab.ca> > > This patch makes the default install script (arch/powerpc/boot/install.sh) > copy the bootable image files into the install directory. Before this > patch only the vmlinux image file was copied. > > This patch makes the default 'make install' command useful for embedded > development when $(INSTALL_PATH) is set in the environment. > > As a side effect, this patch changes the calling convention of the > install.sh script. Instead of a single 5th parameter, the script is now > passed a list of all the target images stored in the $(image-y) Makefile > variable. This should be backwards compatible with existing install scripts > since it just adds additional arguments and does not change existing ones. > > CC: Kumar Gala <galak@kernel.crashing.org> > CC: Josh Boyer <jwboyer@linux.vnet.ibm.com> > CC: Paul Mackerras <paulus@samba.org> > CC: Benjamin Herrenschmidt <benh@kernel.crashing.org> > CC: LinuxPPC Mailing List <linuxppc-dev@ozlabs.org> > > Signed-off-by: Grant Likely <grant.likely@secretlab.ca> > --- > > arch/powerpc/boot/Makefile | 2 +- > arch/powerpc/boot/install.sh | 14 +++++++++++++- > 2 files changed, 14 insertions(+), 2 deletions(-) > > > diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile > index 3d3daa6..b6187ca 100644 > --- a/arch/powerpc/boot/Makefile > +++ b/arch/powerpc/boot/Makefile > @@ -355,7 +355,7 @@ $(obj)/zImage.initrd: $(addprefix $(obj)/, $(initrd-y)) > @rm -f $@; ln $< $@ > > install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y)) > - sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $< > + sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $^ > > # anything not in $(targets) > clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ > diff --git a/arch/powerpc/boot/install.sh b/arch/powerpc/boot/install.sh > index b002bfd..51b2387 100644 > --- a/arch/powerpc/boot/install.sh > +++ b/arch/powerpc/boot/install.sh > @@ -15,7 +15,7 @@ > # $2 - kernel image file > # $3 - kernel map file > # $4 - default install path (blank if root directory) > -# $5 - kernel boot file, the zImage > +# $5 and more - kernel boot files; zImage*, uImage, cuImage.*, etc. > # > > # User may have a custom install script > @@ -38,3 +38,15 @@ fi > > cat $2 > $4/$image_name > cp $3 $4/System.map > + > +# Copy all the bootable image files > +path=$4 > +shift 4 > +while [ $# -ne 0 ]; do > + image_name=`basename $1` > + if [ -f $path/$image_name ]; then > + mv $path/$image_name $path/$image_name.old > + fi > + cat $1 > $path/$image_name > + shift > +done; > >
On Fri, Dec 19, 2008 at 05:57:20PM -0700, Grant Likely wrote: >From: Grant Likely <grant.likely@secretlab.ca> > >This patch makes the default install script (arch/powerpc/boot/install.sh) >copy the bootable image files into the install directory. Before this >patch only the vmlinux image file was copied. What do you do for cases where there isn't a single file? E.g. a canyonlands board will need both the uImage and caynonlands.dtb files to be "installed". U-Boot needs to be provided with both of them. josh
On Mon, Jan 5, 2009 at 8:00 AM, Josh Boyer <jwboyer@linux.vnet.ibm.com> wrote: > > On Fri, Dec 19, 2008 at 05:57:20PM -0700, Grant Likely wrote: > >From: Grant Likely <grant.likely@secretlab.ca> > > > >This patch makes the default install script (arch/powerpc/boot/install.sh) > >copy the bootable image files into the install directory. Before this > >patch only the vmlinux image file was copied. > > What do you do for cases where there isn't a single file? E.g. a > canyonlands board will need both the uImage and caynonlands.dtb files > to be "installed". U-Boot needs to be provided with both of them. That is exactly what this patch does. It copies all of the image files in $(image-y). g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd.
On Tue, Jan 6, 2009 at 9:12 AM, Josh Boyer <jwboyer@linux.vnet.ibm.com> wrote: > On Mon, Jan 05, 2009 at 08:28:56AM -0700, Grant Likely wrote: >>On Mon, Jan 5, 2009 at 8:00 AM, Josh Boyer <jwboyer@linux.vnet.ibm.com> wrote: >>> >>> On Fri, Dec 19, 2008 at 05:57:20PM -0700, Grant Likely wrote: >>> >From: Grant Likely <grant.likely@secretlab.ca> >>> > >>> >This patch makes the default install script (arch/powerpc/boot/install.sh) >>> >copy the bootable image files into the install directory. Before this >>> >patch only the vmlinux image file was copied. >>> >>> What do you do for cases where there isn't a single file? E.g. a >>> canyonlands board will need both the uImage and caynonlands.dtb files >>> to be "installed". U-Boot needs to be provided with both of them. >> >>That is exactly what this patch does. It copies all of the image >>files in $(image-y). > > Well, it would if the .dtb files were includes in image-y, but they > aren't. Anyway, that doesn't seem to be a bug or short-coming of the > patch itself, so this looks good to me. But there is nothing preventing the .dtb files being added to image-y. If you add them, they will be built and copied. :-) g.
On Mon, Jan 05, 2009 at 08:28:56AM -0700, Grant Likely wrote: >On Mon, Jan 5, 2009 at 8:00 AM, Josh Boyer <jwboyer@linux.vnet.ibm.com> wrote: >> >> On Fri, Dec 19, 2008 at 05:57:20PM -0700, Grant Likely wrote: >> >From: Grant Likely <grant.likely@secretlab.ca> >> > >> >This patch makes the default install script (arch/powerpc/boot/install.sh) >> >copy the bootable image files into the install directory. Before this >> >patch only the vmlinux image file was copied. >> >> What do you do for cases where there isn't a single file? E.g. a >> canyonlands board will need both the uImage and caynonlands.dtb files >> to be "installed". U-Boot needs to be provided with both of them. > >That is exactly what this patch does. It copies all of the image >files in $(image-y). Well, it would if the .dtb files were includes in image-y, but they aren't. Anyway, that doesn't seem to be a bug or short-coming of the patch itself, so this looks good to me. Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> josh
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 3d3daa6..b6187ca 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -355,7 +355,7 @@ $(obj)/zImage.initrd: $(addprefix $(obj)/, $(initrd-y)) @rm -f $@; ln $< $@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y)) - sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $< + sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" $^ # anything not in $(targets) clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ diff --git a/arch/powerpc/boot/install.sh b/arch/powerpc/boot/install.sh index b002bfd..51b2387 100644 --- a/arch/powerpc/boot/install.sh +++ b/arch/powerpc/boot/install.sh @@ -15,7 +15,7 @@ # $2 - kernel image file # $3 - kernel map file # $4 - default install path (blank if root directory) -# $5 - kernel boot file, the zImage +# $5 and more - kernel boot files; zImage*, uImage, cuImage.*, etc. # # User may have a custom install script @@ -38,3 +38,15 @@ fi cat $2 > $4/$image_name cp $3 $4/System.map + +# Copy all the bootable image files +path=$4 +shift 4 +while [ $# -ne 0 ]; do + image_name=`basename $1` + if [ -f $path/$image_name ]; then + mv $path/$image_name $path/$image_name.old + fi + cat $1 > $path/$image_name + shift +done;