Commit 538067c822e2512d9a165c71c0c5722168470304

Authored by Mike Frysinger
1 parent bac7d89ebe

Blackfin: add support for bzip2/lzma compressed kernel images

Since U-Boot can support these compression types, add appropriate targets
to the Blackfin boot files.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>

Showing 4 changed files with 34 additions and 10 deletions Side-by-side Diff

arch/blackfin/Kconfig
... ... @@ -20,6 +20,9 @@
20 20 config BLACKFIN
21 21 def_bool y
22 22 select HAVE_IDE
  23 + select HAVE_KERNEL_GZIP
  24 + select HAVE_KERNEL_BZIP2
  25 + select HAVE_KERNEL_LZMA
23 26 select HAVE_OPROFILE
24 27 select ARCH_WANT_OPTIONAL_GPIOLIB
25 28  
arch/blackfin/Makefile
... ... @@ -137,7 +137,7 @@
137 137  
138 138 INSTALL_PATH ?= /tftpboot
139 139 boot := arch/$(ARCH)/boot
140   -BOOT_TARGETS = vmImage
  140 +BOOT_TARGETS = vmImage vmImage.bz2 vmImage.gz vmImage.lzma
141 141 PHONY += $(BOOT_TARGETS) install
142 142 KBUILD_IMAGE := $(boot)/vmImage
143 143  
... ... @@ -150,7 +150,10 @@
150 150 $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
151 151  
152 152 define archhelp
153   - echo '* vmImage - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage)'
  153 + echo '* vmImage - Alias to selected kernel format (vmImage.gz by default)'
  154 + echo ' vmImage.bz2 - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.bz2)'
  155 + echo '* vmImage.gz - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.gz)'
  156 + echo ' vmImage.lzma - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzma)'
154 157 echo ' install - Install kernel using'
155 158 echo ' (your) ~/bin/$(CROSS_COMPILE)installkernel or'
156 159 echo ' (distribution) PATH: $(CROSS_COMPILE)installkernel or'
arch/blackfin/boot/.gitignore
1   -+vmImage
  1 +vmImage*
  2 +vmlinux*
arch/blackfin/boot/Makefile
... ... @@ -8,24 +8,41 @@
8 8  
9 9 MKIMAGE := $(srctree)/scripts/mkuboot.sh
10 10  
11   -targets := vmImage
12   -extra-y += vmlinux.bin vmlinux.gz
  11 +targets := vmImage vmImage.bz2 vmImage.gz vmImage.lzma
  12 +extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma
13 13  
14 14 quiet_cmd_uimage = UIMAGE $@
15 15 cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(ARCH) -O linux -T kernel \
16   - -C gzip -n 'Linux-$(KERNELRELEASE)' -a $(CONFIG_BOOT_LOAD) \
  16 + -C $(2) -n 'Linux-$(KERNELRELEASE)' -a $(CONFIG_BOOT_LOAD) \
17 17 -e $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}') \
18 18 -d $< $@
19 19  
20 20 $(obj)/vmlinux.bin: vmlinux FORCE
21 21 $(call if_changed,objcopy)
22 22  
23   -$(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
  23 +$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
24 24 $(call if_changed,gzip)
25 25  
26   -$(obj)/vmImage: $(obj)/vmlinux.gz
27   - $(call if_changed,uimage)
28   - @$(kecho) 'Kernel: $@ is ready'
  26 +$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
  27 + $(call if_changed,bzip2)
  28 +
  29 +$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
  30 + $(call if_changed,lzma)
  31 +
  32 +$(obj)/vmImage.bz2: $(obj)/vmlinux.bin.bz2
  33 + $(call if_changed,uimage,bzip2)
  34 +
  35 +$(obj)/vmImage.gz: $(obj)/vmlinux.bin.gz
  36 + $(call if_changed,uimage,gzip)
  37 +
  38 +$(obj)/vmImage.lzma: $(obj)/vmlinux.bin.lzma
  39 + $(call if_changed,uimage,lzma)
  40 +
  41 +suffix-$(CONFIG_KERNEL_GZIP) := gz
  42 +suffix-$(CONFIG_KERNEL_BZIP2) := bz2
  43 +suffix-$(CONFIG_KERNEL_LZMA) := lzma
  44 +$(obj)/vmImage: $(obj)/vmImage.$(suffix-y)
  45 + @ln -sf $(notdir $<) $@
29 46  
30 47 install:
31 48 sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)"