powerpc/boot: Add lzma support for uImage
authorChristophe Leroy <christophe.leroy@c-s.fr>
Fri, 14 Jun 2019 10:16:24 +0000 (10:16 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 4 Jul 2019 16:06:38 +0000 (02:06 +1000)
This patch allows to generate lzma compressed uImage

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/Kconfig
arch/powerpc/boot/Makefile
arch/powerpc/boot/wrapper

index 537d93a4594b4d9eb16a7da02b5d3a9f097792a8..016bd351e5fe69d22184240917e4838d09096927 100644 (file)
@@ -198,6 +198,7 @@ config PPC
        select HAVE_IOREMAP_PROT
        select HAVE_IRQ_EXIT_ON_IRQ_STACK
        select HAVE_KERNEL_GZIP
+       select HAVE_KERNEL_LZMA                 if DEFAULT_UIMAGE
        select HAVE_KERNEL_XZ                   if PPC_BOOK3S || 44x
        select HAVE_KPROBES
        select HAVE_KPROBES_ON_FTRACE
index 73d1f3562978b26db9b1648f91f66db08c1c26c9..9b7b11a229256812258b8ca6131836bd4cb66545 100644 (file)
@@ -22,6 +22,7 @@ all: $(obj)/zImage
 
 compress-$(CONFIG_KERNEL_GZIP) := CONFIG_KERNEL_GZIP
 compress-$(CONFIG_KERNEL_XZ)   := CONFIG_KERNEL_XZ
+compress-$(CONFIG_KERNEL_LZMA) := CONFIG_KERNEL_LZMA
 
 ifdef CROSS32_COMPILE
     BOOTCC := $(CROSS32_COMPILE)gcc
@@ -257,6 +258,7 @@ endif
 
 compressor-$(CONFIG_KERNEL_GZIP) := gz
 compressor-$(CONFIG_KERNEL_XZ)   := xz
+compressor-$(CONFIG_KERNEL_LZMA)   := lzma
 
 # args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd
 quiet_cmd_wrap = WRAP    $@
index 4e9beecf2502b07fbd5c947234a0b32178ff31e5..51dc42f5acbca27c1f10f67c280fc30b3c8681a0 100755 (executable)
@@ -137,7 +137,7 @@ while [ "$#" -gt 0 ]; do
     -Z)
        shift
        [ "$#" -gt 0 ] || usage
-        [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "none" ] || usage
+        [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "lzma" -o "$1" != "none" ] || usage
 
        compression=".$1"
        uboot_comp=$1
@@ -374,6 +374,9 @@ if [ -z "$cacheit" -o ! -f "$vmz$compression" -o "$vmz$compression" -ot "$kernel
     .gz)
         gzip -n -f -9 "$vmz.$$"
         ;;
+    .lzma)
+        xz --format=lzma -f -6 "$vmz.$$"
+       ;;
     *)
         # drop the compression suffix so the stripped vmlinux is used
         compression=