* [PATCH v2 1/4] powerpc/boot: don't force gzipped uImage @ 2019-04-23 14:20 Christophe Leroy 2019-04-23 14:20 ` [PATCH v2 2/4] powerpc/boot: Add lzma support for uImage Christophe Leroy ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Christophe Leroy @ 2019-04-23 14:20 UTC (permalink / raw) To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman Cc: linuxppc-dev, linux-kernel This patch modifies the generation of uImage by handing over the selected compression type instead of forcing gzip Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> --- v2: no change --- arch/powerpc/boot/wrapper | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index f9141eaec6ff..4e9beecf2502 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper @@ -41,6 +41,7 @@ dts= cacheit= binary= compression=.gz +uboot_comp=gzip pie= format= @@ -131,6 +132,7 @@ while [ "$#" -gt 0 ]; do ;; -z) compression=.gz + uboot_comp=gzip ;; -Z) shift @@ -138,15 +140,21 @@ while [ "$#" -gt 0 ]; do [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "none" ] || usage compression=".$1" + uboot_comp=$1 if [ $compression = ".none" ]; then compression= + uboot_comp=none fi + if [ $uboot_comp = "gz" ]; then + uboot_comp=gzip + fi ;; --no-gzip) # a "feature" of the the wrapper script is that it can be used outside # the kernel tree. So keeping this around for backwards compatibility. compression= + uboot_comp=none ;; -?) usage @@ -369,6 +377,7 @@ if [ -z "$cacheit" -o ! -f "$vmz$compression" -o "$vmz$compression" -ot "$kernel *) # drop the compression suffix so the stripped vmlinux is used compression= + uboot_comp=none ;; esac @@ -412,7 +421,7 @@ membase=`${CROSS}objdump -p "$kernel" | grep -m 1 LOAD | awk '{print $7}'` case "$platform" in uboot) rm -f "$ofile" - ${MKIMAGE} -A ppc -O linux -T kernel -C gzip -a $membase -e $membase \ + ${MKIMAGE} -A ppc -O linux -T kernel -C $uboot_comp -a $membase -e $membase \ $uboot_version -d "$vmz" "$ofile" if [ -z "$cacheit" ]; then rm -f "$vmz" -- 2.13.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/4] powerpc/boot: Add lzma support for uImage 2019-04-23 14:20 [PATCH v2 1/4] powerpc/boot: don't force gzipped uImage Christophe Leroy @ 2019-04-23 14:20 ` Christophe Leroy 2019-04-23 14:20 ` [PATCH v2 3/4] powerpc/boot: Add bzip2 " Christophe Leroy 2019-04-23 14:20 ` [PATCH v2 4/4] powerpc/boot: Add lzo " Christophe Leroy 2 siblings, 0 replies; 6+ messages in thread From: Christophe Leroy @ 2019-04-23 14:20 UTC (permalink / raw) To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman Cc: linuxppc-dev, linux-kernel This patch allows to generate lzma compressed uImage Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> --- v2: restore alphabetic order in Kconfig --- arch/powerpc/Kconfig | 1 + arch/powerpc/boot/Makefile | 2 ++ arch/powerpc/boot/wrapper | 5 ++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 2d0be82c3061..dd22988cac0b 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -200,6 +200,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 diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 73d1f3562978..9b7b11a22925 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -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 $@ diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index 4e9beecf2502..51dc42f5acbc 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper @@ -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= -- 2.13.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 3/4] powerpc/boot: Add bzip2 support for uImage 2019-04-23 14:20 [PATCH v2 1/4] powerpc/boot: don't force gzipped uImage Christophe Leroy 2019-04-23 14:20 ` [PATCH v2 2/4] powerpc/boot: Add lzma support for uImage Christophe Leroy @ 2019-04-23 14:20 ` Christophe Leroy 2019-04-25 14:37 ` Adam Borowski 2019-04-23 14:20 ` [PATCH v2 4/4] powerpc/boot: Add lzo " Christophe Leroy 2 siblings, 1 reply; 6+ messages in thread From: Christophe Leroy @ 2019-04-23 14:20 UTC (permalink / raw) To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman Cc: linuxppc-dev, linux-kernel This patch allows to generate bzip2 compressed uImage Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> --- v2: Restore alphabetic order in Kconfig --- arch/powerpc/Kconfig | 1 + arch/powerpc/boot/Makefile | 2 ++ arch/powerpc/boot/wrapper | 8 +++++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index dd22988cac0b..c9fd20988237 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -199,6 +199,7 @@ config PPC select HAVE_IDE select HAVE_IOREMAP_PROT select HAVE_IRQ_EXIT_ON_IRQ_STACK + select HAVE_KERNEL_BZIP2 if DEFAULT_UIMAGE select HAVE_KERNEL_GZIP select HAVE_KERNEL_LZMA if DEFAULT_UIMAGE select HAVE_KERNEL_XZ if PPC_BOOK3S || 44x diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 9b7b11a22925..0a7f8c2dc8af 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -23,6 +23,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 +compress-$(CONFIG_KERNEL_BZIP2) := CONFIG_KERNEL_BZIP2 ifdef CROSS32_COMPILE BOOTCC := $(CROSS32_COMPILE)gcc @@ -259,6 +260,7 @@ endif compressor-$(CONFIG_KERNEL_GZIP) := gz compressor-$(CONFIG_KERNEL_XZ) := xz compressor-$(CONFIG_KERNEL_LZMA) := lzma +compressor-$(CONFIG_KERNEL_BZIP2) := bz2 # args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd quiet_cmd_wrap = WRAP $@ diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index 51dc42f5acbc..d1384e8c0c6f 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper @@ -137,7 +137,7 @@ while [ "$#" -gt 0 ]; do -Z) shift [ "$#" -gt 0 ] || usage - [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "lzma" -o "$1" != "none" ] || usage + [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "lzma" -o "$1" != "bz2" -o "$1" != "none" ] || usage compression=".$1" uboot_comp=$1 @@ -149,6 +149,9 @@ while [ "$#" -gt 0 ]; do if [ $uboot_comp = "gz" ]; then uboot_comp=gzip fi + if [ $uboot_comp = "bz2" ]; then + uboot_comp=bzip2 + fi ;; --no-gzip) # a "feature" of the the wrapper script is that it can be used outside @@ -377,6 +380,9 @@ if [ -z "$cacheit" -o ! -f "$vmz$compression" -o "$vmz$compression" -ot "$kernel .lzma) xz --format=lzma -f -6 "$vmz.$$" ;; + .bz2) + bzip2 -f "$vmz.$$" + ;; *) # drop the compression suffix so the stripped vmlinux is used compression= -- 2.13.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 3/4] powerpc/boot: Add bzip2 support for uImage 2019-04-23 14:20 ` [PATCH v2 3/4] powerpc/boot: Add bzip2 " Christophe Leroy @ 2019-04-25 14:37 ` Adam Borowski 2019-04-25 17:03 ` Christophe Leroy 0 siblings, 1 reply; 6+ messages in thread From: Adam Borowski @ 2019-04-25 14:37 UTC (permalink / raw) To: Christophe Leroy; +Cc: linuxppc-dev, Paul Mackerras, linux-kernel On Tue, Apr 23, 2019 at 02:20:43PM +0000, Christophe Leroy wrote: > This patch allows to generate bzip2 compressed uImage Please don't add bzip2 support, that's a waste of your time as we're trying to remove it kernel-wide. There's a patchset to retire compressors beaten by alternatives on the whole speed-to-size curve; reposting it is overdue. It does: * add ZSTD (fast and strong) * remove BZIP2 (obsolete, only user in kernel) * remove LZMA (redundant with XZ, uses a private copy of its library) * makes Kconfig prose talk badly about LZO (used elsewhere in the kernel) I believe only three compressors are worth using here: XZ, ZSTD, LZ4. GZIP must stay because of ubiquitous support, the rest should go. > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -199,6 +199,7 @@ config PPC > + select HAVE_KERNEL_BZIP2 if DEFAULT_UIMAGE > --- a/arch/powerpc/boot/Makefile > +++ b/arch/powerpc/boot/Makefile > @@ -23,6 +23,7 @@ all: $(obj)/zImage > +compress-$(CONFIG_KERNEL_BZIP2) := CONFIG_KERNEL_BZIP2 > @@ -259,6 +260,7 @@ endif > +compressor-$(CONFIG_KERNEL_BZIP2) := bz2 > --- a/arch/powerpc/boot/wrapper > +++ b/arch/powerpc/boot/wrapper > @@ -137,7 +137,7 @@ while [ "$#" -gt 0 ]; do > - [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "lzma" -o "$1" != "none" ] || usage > + [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "lzma" -o "$1" != "bz2" -o "$1" != "none" ] || usage > @@ -149,6 +149,9 @@ while [ "$#" -gt 0 ]; do > + if [ $uboot_comp = "bz2" ]; then > + uboot_comp=bzip2 > + fi > @@ -377,6 +380,9 @@ if [ -z "$cacheit" -o ! -f "$vmz$compression" -o "$vmz$compression" -ot "$kernel > + .bz2) > + bzip2 -f "$vmz.$$" > + ;; Meow! -- ⢀⣴⠾⠻⢶⣦⠀ ⣾⠁⢰⠒⠀⣿⡁ 10 people enter a bar: 1 who understands binary, ⢿⡄⠘⠷⠚⠋⠀ 1 who doesn't, D who prefer to write it as hex, ⠈⠳⣄⠀⠀⠀⠀ and 1 who narrowly avoided an off-by-one error. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 3/4] powerpc/boot: Add bzip2 support for uImage 2019-04-25 14:37 ` Adam Borowski @ 2019-04-25 17:03 ` Christophe Leroy 0 siblings, 0 replies; 6+ messages in thread From: Christophe Leroy @ 2019-04-25 17:03 UTC (permalink / raw) To: Adam Borowski; +Cc: linuxppc-dev, Paul Mackerras, linux-kernel On 04/25/2019 02:37 PM, Adam Borowski wrote: > On Tue, Apr 23, 2019 at 02:20:43PM +0000, Christophe Leroy wrote: >> This patch allows to generate bzip2 compressed uImage > > Please don't add bzip2 support, that's a waste of your time as we're trying > to remove it kernel-wide. There's a patchset to retire compressors beaten > by alternatives on the whole speed-to-size curve; reposting it is overdue. > > It does: > * add ZSTD (fast and strong) > * remove BZIP2 (obsolete, only user in kernel) > * remove LZMA (redundant with XZ, uses a private copy of its library) > * makes Kconfig prose talk badly about LZO (used elsewhere in the kernel) > > I believe only three compressors are worth using here: XZ, ZSTD, LZ4. > GZIP must stay because of ubiquitous support, the rest should go. Ok. Initially the purpose was to add lzma, then I took the opportunity to add all compressors supported by u-boot uImage files which are 'none, bzip2, gzip, lzma, lzo': [root@po16846vm linux-powerpc]# mkimage -C -h Invalid Compression Type - valid names are: none, bzip2, gzip, lzma, lzo Usage: mkimage -l image -l ==> list image header information mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image So I can leave bzip2 aside. xz, zstd and lz4 are not supported by the uImage format as far as I know so we have to keep lzma which gives a far better compression ratio than gzip (gzipped uImage don't fit in my board's NOR Flash while lzmaed uImage does). Christophe > >> --- a/arch/powerpc/Kconfig >> +++ b/arch/powerpc/Kconfig >> @@ -199,6 +199,7 @@ config PPC >> + select HAVE_KERNEL_BZIP2 if DEFAULT_UIMAGE >> --- a/arch/powerpc/boot/Makefile >> +++ b/arch/powerpc/boot/Makefile >> @@ -23,6 +23,7 @@ all: $(obj)/zImage >> +compress-$(CONFIG_KERNEL_BZIP2) := CONFIG_KERNEL_BZIP2 >> @@ -259,6 +260,7 @@ endif >> +compressor-$(CONFIG_KERNEL_BZIP2) := bz2 >> --- a/arch/powerpc/boot/wrapper >> +++ b/arch/powerpc/boot/wrapper >> @@ -137,7 +137,7 @@ while [ "$#" -gt 0 ]; do >> - [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "lzma" -o "$1" != "none" ] || usage >> + [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "lzma" -o "$1" != "bz2" -o "$1" != "none" ] || usage >> @@ -149,6 +149,9 @@ while [ "$#" -gt 0 ]; do >> + if [ $uboot_comp = "bz2" ]; then >> + uboot_comp=bzip2 >> + fi >> @@ -377,6 +380,9 @@ if [ -z "$cacheit" -o ! -f "$vmz$compression" -o "$vmz$compression" -ot "$kernel >> + .bz2) >> + bzip2 -f "$vmz.$$" >> + ;; > > > Meow! > ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 4/4] powerpc/boot: Add lzo support for uImage 2019-04-23 14:20 [PATCH v2 1/4] powerpc/boot: don't force gzipped uImage Christophe Leroy 2019-04-23 14:20 ` [PATCH v2 2/4] powerpc/boot: Add lzma support for uImage Christophe Leroy 2019-04-23 14:20 ` [PATCH v2 3/4] powerpc/boot: Add bzip2 " Christophe Leroy @ 2019-04-23 14:20 ` Christophe Leroy 2 siblings, 0 replies; 6+ messages in thread From: Christophe Leroy @ 2019-04-23 14:20 UTC (permalink / raw) To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman Cc: linuxppc-dev, linux-kernel This patch allows to generate lzo compressed uImage Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> --- v2: restore alphabetic order in Kconfig --- arch/powerpc/Kconfig | 1 + arch/powerpc/boot/Makefile | 2 ++ arch/powerpc/boot/wrapper | 5 ++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index c9fd20988237..b5a3708a852d 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -202,6 +202,7 @@ config PPC select HAVE_KERNEL_BZIP2 if DEFAULT_UIMAGE select HAVE_KERNEL_GZIP select HAVE_KERNEL_LZMA if DEFAULT_UIMAGE + select HAVE_KERNEL_LZO if DEFAULT_UIMAGE select HAVE_KERNEL_XZ if PPC_BOOK3S || 44x select HAVE_KPROBES select HAVE_KPROBES_ON_FTRACE diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 0a7f8c2dc8af..4675575774d7 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -24,6 +24,7 @@ compress-$(CONFIG_KERNEL_GZIP) := CONFIG_KERNEL_GZIP compress-$(CONFIG_KERNEL_XZ) := CONFIG_KERNEL_XZ compress-$(CONFIG_KERNEL_LZMA) := CONFIG_KERNEL_LZMA compress-$(CONFIG_KERNEL_BZIP2) := CONFIG_KERNEL_BZIP2 +compress-$(CONFIG_KERNEL_LZO) := CONFIG_KERNEL_LZO ifdef CROSS32_COMPILE BOOTCC := $(CROSS32_COMPILE)gcc @@ -261,6 +262,7 @@ compressor-$(CONFIG_KERNEL_GZIP) := gz compressor-$(CONFIG_KERNEL_XZ) := xz compressor-$(CONFIG_KERNEL_LZMA) := lzma compressor-$(CONFIG_KERNEL_BZIP2) := bz2 +compressor-$(CONFIG_KERNEL_LZO) := lzo # args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd quiet_cmd_wrap = WRAP $@ diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index d1384e8c0c6f..2fd3483f9d80 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper @@ -137,7 +137,7 @@ while [ "$#" -gt 0 ]; do -Z) shift [ "$#" -gt 0 ] || usage - [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "lzma" -o "$1" != "bz2" -o "$1" != "none" ] || usage + [ "$1" != "gz" -o "$1" != "xz" -o "$1" != "lzma" -o "$1" != "bz2" -o "$1" != "lzo" -o "$1" != "none" ] || usage compression=".$1" uboot_comp=$1 @@ -383,6 +383,9 @@ if [ -z "$cacheit" -o ! -f "$vmz$compression" -o "$vmz$compression" -ot "$kernel .bz2) bzip2 -f "$vmz.$$" ;; + .lzo) + lzop -f -9 "$vmz.$$" + ;; *) # drop the compression suffix so the stripped vmlinux is used compression= -- 2.13.3 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-04-25 17:06 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-04-23 14:20 [PATCH v2 1/4] powerpc/boot: don't force gzipped uImage Christophe Leroy 2019-04-23 14:20 ` [PATCH v2 2/4] powerpc/boot: Add lzma support for uImage Christophe Leroy 2019-04-23 14:20 ` [PATCH v2 3/4] powerpc/boot: Add bzip2 " Christophe Leroy 2019-04-25 14:37 ` Adam Borowski 2019-04-25 17:03 ` Christophe Leroy 2019-04-23 14:20 ` [PATCH v2 4/4] powerpc/boot: Add lzo " Christophe Leroy
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).