All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib to avoid duplication. All ARCHs have similar definitions of cmd_uimage. Place a sufficiently parameterized version in Makefile.lib to avoid duplication.
Unified · Split
| @@ -11,8 +11,6 @@ · 10 unmodified lines | ||
| 11 | 11 | # Copyright (C) 1995-2002 Russell King |
| 12 | 12 | # |
| 13 | 13 | |
| 14 | −MKIMAGE := $(srctree)/scripts/mkuboot.sh | |
| 15 | − | |
| 16 | 14 | ifneq ($(MACHINE),) |
| 17 | 15 | include $(srctree)/$(MACHINE)/Makefile.boot |
| 18 | 16 | endif |
| @@ -69,22 +67,19 @@ $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y)) · 50 unmodified lines | ||
| 69 | 67 | |
| 70 | 68 | clean-files := *.dtb |
| 71 | 69 | |
| 72 | −quiet_cmd_uimage = UIMAGE $@ | |
| 73 | − cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \ | |
| 74 | − -C none -a $(LOADADDR) -e $(STARTADDR) \ | |
| 75 | − -n 'Linux-$(KERNELRELEASE)' -d $< $@ | |
| 76 | − | |
| 77 | −ifeq ($(CONFIG_ZBOOT_ROM),y) | |
| 78 | −$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) | |
| 70 | +ifneq ($(LOADADDR),) | |
| 71 | + UIMAGE_LOADADDR=$(LOADADDR) | |
| 79 | 72 | else |
| 80 | −$(obj)/uImage: LOADADDR=$(ZRELADDR) | |
| 73 | + ifeq ($(CONFIG_ZBOOT_ROM),y) | |
| 74 | + UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) | |
| 75 | + else | |
| 76 | + UIMAGE_LOADADDR=$(ZRELADDR) | |
| 77 | + endif | |
| 81 | 78 | endif |
| 82 | 79 | |
| 83 | −$(obj)/uImage: STARTADDR=$(LOADADDR) | |
| 84 | − | |
| 85 | 80 | check_for_multiple_loadaddr = \ |
| 86 | −if [ $(words $(LOADADDR)) -gt 1 ]; then \ | |
| 87 | − echo 'multiple load addresses: $(LOADADDR)'; \ | |
| 81 | +if [ $(words $(UIMAGE_LOADADDR)) -gt 1 ]; then \ | |
| 82 | + echo 'multiple load addresses: $(UIMAGE_LOADADDR)'; \ | |
| 88 | 83 | echo 'This is incompatible with uImages'; \ |
| 89 | 84 | echo 'Specify LOADADDR on the commandline to build an uImage'; \ |
| 90 | 85 | false; \ |
| @@ -6,8 +6,6 @@ · 5 unmodified lines | ||
| 6 | 6 | # for more details. |
| 7 | 7 | # |
| 8 | 8 | |
| 9 | −MKIMAGE := $(srctree)/scripts/mkuboot.sh | |
| 10 | − | |
| 11 | 9 | extra-y := vmlinux.bin vmlinux.gz |
| 12 | 10 | |
| 13 | 11 | OBJCOPYFLAGS_vmlinux.bin := -O binary -R .note.gnu.build-id |
| @@ -17,10 +15,9 @@ $(obj)/vmlinux.bin: vmlinux FORCE · 3 unmodified lines | ||
| 17 | 15 | $(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE |
| 18 | 16 | $(call if_changed,gzip) |
| 19 | 17 | |
| 20 | −quiet_cmd_uimage = UIMAGE $@ | |
| 21 | − cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A avr32 -O linux -T kernel \ | |
| 22 | − -C gzip -a $(CONFIG_LOAD_ADDRESS) -e $(CONFIG_ENTRY_ADDRESS) \ | |
| 23 | − -n 'Linux-$(KERNELRELEASE)' -d $< $@ | |
| 18 | +UIMAGE_LOADADDR = $(CONFIG_LOAD_ADDRESS) | |
| 19 | +UIMAGE_ENTRYADDR = $(CONFIG_ENTRY_ADDRESS) | |
| 20 | +UIMAGE_COMPRESSION = gzip | |
| 24 | 21 | |
| 25 | 22 | targets += uImage uImage.srec |
| 26 | 23 | $(obj)/uImage: $(obj)/vmlinux.gz |
| @@ -6,20 +6,17 @@ · 5 unmodified lines | ||
| 6 | 6 | # for more details. |
| 7 | 7 | # |
| 8 | 8 | |
| 9 | −MKIMAGE := $(srctree)/scripts/mkuboot.sh | |
| 10 | − | |
| 11 | 9 | targets := vmImage vmImage.bin vmImage.bz2 vmImage.gz vmImage.lzma vmImage.lzo vmImage.xip |
| 12 | 10 | extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.xip |
| 13 | 11 | |
| 14 | −UIMAGE_OPTS-y := | |
| 15 | −UIMAGE_OPTS-$(CONFIG_RAMKERNEL) += -a $(CONFIG_BOOT_LOAD) | |
| 16 | −UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -a $(CONFIG_ROM_BASE) -x | |
| 17 | − | |
| 18 | −quiet_cmd_uimage = UIMAGE $@ | |
| 19 | − cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \ | |
| 20 | − -C $(2) -n '$(CPU_REV)-$(KERNELRELEASE)' \ | |
| 21 | − -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \ | |
| 22 | − $(UIMAGE_OPTS-y) -d $< $@ | |
| 12 | +ifeq ($(CONFIG_RAMKERNEL),y) | |
| 13 | +UIMAGE_LOADADDR = $(CONFIG_BOOT_LOAD) | |
| 14 | +else # CONFIG_ROMKERNEL must be set | |
| 15 | +UIMAGE_LOADADDR = $(CONFIG_ROM_BASE) | |
| 16 | +endif | |
| 17 | +UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') | |
| 18 | +UIMAGE_NAME = '$(CPU_REV)-$(KERNELRELEASE)' | |
| 19 | +UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -x | |
| 23 | 20 | |
| 24 | 21 | $(obj)/vmlinux.bin: vmlinux FORCE |
| 25 | 22 | $(call if_changed,objcopy) |
| @@ -2,8 +2,6 @@ · 1 unmodified line | ||
| 2 | 2 | # arch/microblaze/boot/Makefile |
| 3 | 3 | # |
| 4 | 4 | |
| 5 | −MKIMAGE := $(srctree)/scripts/mkuboot.sh | |
| 6 | − | |
| 7 | 5 | obj-y += linked_dtb.o |
| 8 | 6 | |
| 9 | 7 | targets := linux.bin linux.bin.gz simpleImage.% |
| @@ -35,11 +33,9 @@ quiet_cmd_strip = STRIP $@ · 25 unmodified lines | ||
| 35 | 33 | cmd_strip = $(STRIP) -K microblaze_start -K _end -K __log_buf \ |
| 36 | 34 | -K _fdt_start vmlinux -o $@ |
| 37 | 35 | |
| 38 | −quiet_cmd_uimage = UIMAGE $@.ub | |
| 39 | − cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A microblaze -O linux -T kernel \ | |
| 40 | − -C none -n 'Linux-$(KERNELRELEASE)' \ | |
| 41 | − -a $(CONFIG_KERNEL_BASE_ADDR) -e $(CONFIG_KERNEL_BASE_ADDR) \ | |
| 42 | − -d $@ $@.ub | |
| 36 | +UIMAGE_IN = $@ | |
| 37 | +UIMAGE_OUT = $@.ub | |
| 38 | +UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR) | |
| 43 | 39 | |
| 44 | 40 | $(obj)/simpleImage.%: vmlinux FORCE |
| 45 | 41 | $(call if_changed,cp,.unstrip) |
| @@ -8,8 +8,6 @@ · 7 unmodified lines | ||
| 8 | 8 | # Copyright (C) 1999 Stuart Menefy |
| 9 | 9 | # |
| 10 | 10 | |
| 11 | −MKIMAGE := $(srctree)/scripts/mkuboot.sh | |
| 12 | − | |
| 13 | 11 | # |
| 14 | 12 | # Assign safe dummy values if these variables are not defined, |
| 15 | 13 | # in order to suppress error message. |
| @@ -61,10 +59,8 @@ KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \ · 45 unmodified lines | ||
| 61 | 59 | $(KERNEL_MEMORY) + \ |
| 62 | 60 | $(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]') |
| 63 | 61 | |
| 64 | −quiet_cmd_uimage = UIMAGE $@ | |
| 65 | − cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \ | |
| 66 | − -C $(2) -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \ | |
| 67 | − -n 'Linux-$(KERNELRELEASE)' -d $< $@ | |
| 62 | +UIMAGE_LOADADDR = $(KERNEL_LOAD) | |
| 63 | +UIMAGE_ENTRYADDR = $(KERNEL_ENTRY) | |
| 68 | 64 | |
| 69 | 65 | $(obj)/vmlinux.bin: vmlinux FORCE |
| 70 | 66 | $(call if_changed,objcopy) |
| @@ -5,7 +5,6 @@ · 4 unmodified lines | ||
| 5 | 5 | |
| 6 | 6 | ROOT_IMG := /usr/src/root.img |
| 7 | 7 | ELFTOAOUT := elftoaout |
| 8 | −MKIMAGE := $(srctree)/scripts/mkuboot.sh | |
| 9 | 8 | |
| 10 | 9 | hostprogs-y := piggyback btfixupprep |
| 11 | 10 | targets := tftpboot.img btfix.o btfix.S image zImage vmlinux.aout |
| @@ -92,11 +91,9 @@ $(obj)/image.bin: $(obj)/image FORCE · 80 unmodified lines | ||
| 92 | 91 | $(obj)/image.gz: $(obj)/image.bin |
| 93 | 92 | $(call if_changed,gzip) |
| 94 | 93 | |
| 95 | −quiet_cmd_uimage = UIMAGE $@ | |
| 96 | − cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sparc -O linux -T kernel \ | |
| 97 | − -C gzip -a $(CONFIG_UBOOT_LOAD_ADDR) \ | |
| 98 | − -e $(CONFIG_UBOOT_ENTRY_ADDR) -n 'Linux-$(KERNELRELEASE)' \ | |
| 99 | − -d $< $@ | |
| 94 | +UIMAGE_LOADADDR = $(CONFIG_UBOOT_LOAD_ADDR) | |
| 95 | +UIMAGE_ENTRYADDR = $(CONFIG_UBOOT_ENTRY_ADDR) | |
| 96 | +UIMAGE_COMPRESSION = gzip | |
| 100 | 97 | |
| 101 | 98 | quiet_cmd_uimage.o = UIMAGE.O $@ |
| 102 | 99 | cmd_uimage.o = $(LD) -Tdata $(CONFIG_UBOOT_FLASH_ADDR) \ |
| @@ -11,8 +11,6 @@ · 10 unmodified lines | ||
| 11 | 11 | # Copyright (C) 2001~2010 GUAN Xue-tao |
| 12 | 12 | # |
| 13 | 13 | |
| 14 | −MKIMAGE := $(srctree)/scripts/mkuboot.sh | |
| 15 | − | |
| 16 | 14 | targets := Image zImage uImage |
| 17 | 15 | |
| 18 | 16 | $(obj)/Image: vmlinux FORCE |
| @@ -26,14 +24,8 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE · 7 unmodified lines | ||
| 26 | 24 | $(call if_changed,objcopy) |
| 27 | 25 | @echo ' Kernel: $@ is ready' |
| 28 | 26 | |
| 29 | −quiet_cmd_uimage = UIMAGE $@ | |
| 30 | − cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A unicore -O linux -T kernel \ | |
| 31 | − -C none -a $(LOADADDR) -e $(STARTADDR) \ | |
| 32 | − -n 'Linux-$(KERNELRELEASE)' -d $< $@ | |
| 33 | − | |
| 34 | −$(obj)/uImage: LOADADDR=0x0 | |
| 35 | − | |
| 36 | −$(obj)/uImage: STARTADDR=$(LOADADDR) | |
| 27 | +UIMAGE_ARCH = unicore | |
| 28 | +UIMAGE_LOADADDR = 0x0 | |
| 37 | 29 | |
| 38 | 30 | $(obj)/uImage: $(obj)/zImage FORCE |
| 39 | 31 | $(call if_changed,uimage) |
| @@ -304,6 +304,30 @@ cmd_lzo = (cat $(filter-out FORCE,$^) | \ · 303 unmodified lines | ||
| 304 | 304 | lzop -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \ |
| 305 | 305 | (rm -f $@ ; false) |
| 306 | 306 | |
| 307 | +# U-Boot mkimage | |
| 308 | +# --------------------------------------------------------------------------- | |
| 309 | + | |
| 310 | +MKIMAGE := $(srctree)/scripts/mkuboot.sh | |
| 311 | + | |
| 312 | +# SRCARCH just happens to match slightly more than ARCH (on sparc), so reduces | |
| 313 | +# the number of overrides in arch makefiles | |
| 314 | +UIMAGE_ARCH ?= $(SRCARCH) | |
| 315 | +UIMAGE_COMPRESSION ?= $(if $(2),$(2),none) | |
| 316 | +UIMAGE_OPTS-y ?= | |
| 317 | +UIMAGE_TYPE ?= kernel | |
| 318 | +UIMAGE_LOADADDR ?= arch_must_set_this | |
| 319 | +UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR) | |
| 320 | +UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)' | |
| 321 | +UIMAGE_IN ?= $< | |
| 322 | +UIMAGE_OUT ?= $@ | |
| 323 | + | |
| 324 | +quiet_cmd_uimage = UIMAGE $(UIMAGE_OUT) | |
| 325 | + cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \ | |
| 326 | + -C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \ | |
| 327 | + -T $(UIMAGE_TYPE) \ | |
| 328 | + -a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \ | |
| 329 | + -n $(UIMAGE_NAME) -d $(UIMAGE_IN) $(UIMAGE_OUT) | |
| 330 | + | |
| 307 | 331 | # XZ |
| 308 | 332 | # --------------------------------------------------------------------------- |
| 309 | 333 | # Use xzkern to compress the kernel image and xzmisc to compress other things. |