Hi Daniel. On Wed, Jan 05, 2011 at 11:42:40AM +0100, Daniel Hellstrom wrote: > This is only for LEON as u-boot for SPARC only supports LEON. > > Signed-off-by: Daniel Hellstrom <daniel@xxxxxxxxxxx> > --- > arch/sparc/Makefile | 3 ++- > arch/sparc/boot/Makefile | 36 ++++++++++++++++++++++++++++++++++++ > 2 files changed, 38 insertions(+), 1 deletions(-) > > diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile > index 113225b..012d289 100644 > --- a/arch/sparc/Makefile > +++ b/arch/sparc/Makefile > @@ -88,7 +88,7 @@ boot := arch/sparc/boot > # Default target > all: zImage > > -image zImage tftpboot.img vmlinux.aout: vmlinux > +image zImage uImage tftpboot.img vmlinux.aout: vmlinux > $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ > > archclean: > @@ -102,6 +102,7 @@ ifeq ($(ARCH),sparc) > define archhelp > echo '* image - kernel image ($(boot)/image)' > echo '* zImage - stripped kernel image ($(boot)/zImage)' > + echo ' uImage - U-Boot SPARC32/LEON Image' > echo ' tftpboot.img - image prepared for tftp' > endef > else > diff --git a/arch/sparc/boot/Makefile b/arch/sparc/boot/Makefile > index 97e3feb..9574958 100644 > --- a/arch/sparc/boot/Makefile > +++ b/arch/sparc/boot/Makefile > @@ -5,6 +5,7 @@ > > ROOT_IMG := /usr/src/root.img > ELFTOAOUT := elftoaout > +MKIMAGE := $(srctree)/scripts/mkuboot.sh > > hostprogs-y := piggyback_32 piggyback_64 btfixupprep > targets := tftpboot.img btfix.o btfix.S image zImage vmlinux.aout > @@ -90,5 +91,40 @@ $(obj)/tftpboot.img: $(obj)/image $(obj)/piggyback_64 System.map $(ROOT_IMG) FOR > $(obj)/vmlinux.aout: vmlinux FORCE > $(call if_changed,elftoaout) > @echo ' kernel: $@ is ready' > +else > + > +# The following lines make a readable image for U-Boot. > +# uImage - Binary file read by U-boot > +# uImage.o - object file of uImage for loading with a > +# flash programmer understanding ELF. > + > +OBJCOPYFLAGS_image.bin := -S -O binary -R .note -R .comment > +$(obj)/image.bin: $(obj)/image FORCE > + $(call if_changed,objcopy) > + > +$(obj)/image.gz: $(obj)/image.bin > + $(call if_changed,gzip) > + > +# Start of Main memory which this Linux kernel will be loaded to. > +ifndef UIMAGE_LOADADDR > +UIMAGE_LOADADDR=0x40004000 > endif > Rather than hardcoding such addresses in the Makefile could we come up with something so we get board support included in the KConfig files? I for once would love to be able to select "GR-LEON4-ITX" in Kconfig and then everything is set correct up concerning LOADADDR for uimage. Same goes for the start address which is hardcoded to 0xf0004000. I looked briefly at the other archs but did not find a good one to copy this from. > +# The first sector after the U-Boot image (512k). Override this accoring to > +# your u-boot binary size and FLASH block size. > +ifndef UIMAGE_FLASHADDR > +UIMAGE_FLASHADDR=0x00080000 > +endif > + > +quiet_cmd_uimage = UIMAGE $@ > + cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sparc -O linux -T kernel \ > + -C gzip -a $(UIMAGE_LOADADDR) -e 0xf0004000 -n 'Linux-$(KERNELRELEASE)' \ > + -d $< $@ > + > +targets += uImage > +$(obj)/uImage: $(obj)/image.gz > + $(call if_changed,uimage) > + sparc-linux-ld -Tdata $(UIMAGE_FLASHADDR) -r -b binary arch/sparc/boot/uImage -o arch/sparc/boot/uImage.o > + @echo ' Image $@ is ready' What is the purpose of uImage.o? At least sh does not have it - but thay have a lot of other U-boot targets. And can we fix is so we get a nice display when the command is executed? Sam -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html