* [PATCH 0/1] compress kernels with minigzip @ 2013-10-22 21:07 Andrew Boie 2013-10-22 21:07 ` [PATCH 1/1] x86: boot: support minigzip bzImage compression Andrew Boie 0 siblings, 1 reply; 7+ messages in thread From: Andrew Boie @ 2013-10-22 21:07 UTC (permalink / raw) To: linux-kernel; +Cc: hpa, tglx, mmarek, Andrew Boie This patch is for building kernels on x86-based Android devices. The binary patches created by its OTA system work much better if the deflate() algorithm inside zlib is used, rather than the older version inside gzip. This patch was committed against the master branch of Linus' tree. Andrew Boie (1): x86: boot: support minigzip bzImage compression arch/x86/Kconfig | 1 + arch/x86/boot/compressed/Makefile | 3 +++ arch/x86/boot/compressed/misc.c | 2 +- init/Kconfig | 18 +++++++++++++++++- scripts/Makefile.lib | 7 +++++++ 5 files changed, 29 insertions(+), 2 deletions(-) -- 1.8.3.2 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/1] x86: boot: support minigzip bzImage compression 2013-10-22 21:07 [PATCH 0/1] compress kernels with minigzip Andrew Boie @ 2013-10-22 21:07 ` Andrew Boie 2013-10-23 0:26 ` H. Peter Anvin 0 siblings, 1 reply; 7+ messages in thread From: Andrew Boie @ 2013-10-22 21:07 UTC (permalink / raw) To: linux-kernel; +Cc: hpa, tglx, mmarek, Andrew Boie Android OTA system computes very efficient diffs of compressed files if the deflate() algorithm it has access to is the same version as used to create the original file. Here we add support for compressing the kernel with 'minigzip' which uses the deflate() inside zlib. This is much better than using 'gzip' as that tool has a very old version of deflate() inside the gzip codebase instead of linking against zlib. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com> --- arch/x86/Kconfig | 1 + arch/x86/boot/compressed/Makefile | 3 +++ arch/x86/boot/compressed/misc.c | 2 +- init/Kconfig | 18 +++++++++++++++++- scripts/Makefile.lib | 7 +++++++ 5 files changed, 29 insertions(+), 2 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index f67e839..aa91cef 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -62,6 +62,7 @@ config X86 select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_DMA_API_DEBUG select HAVE_KERNEL_GZIP + select HAVE_KERNEL_MINIGZIP select HAVE_KERNEL_BZIP2 select HAVE_KERNEL_LZMA select HAVE_KERNEL_XZ diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile index dcd90df..f000791 100644 --- a/arch/x86/boot/compressed/Makefile +++ b/arch/x86/boot/compressed/Makefile @@ -56,6 +56,8 @@ vmlinux.bin.all-$(CONFIG_X86_NEED_RELOCS) += $(obj)/vmlinux.relocs $(obj)/vmlinux.bin.gz: $(vmlinux.bin.all-y) FORCE $(call if_changed,gzip) +$(obj)/vmlinux.bin.mgz: $(vmlinux.bin.all-y) FORCE + $(call if_changed,minigzip) $(obj)/vmlinux.bin.bz2: $(vmlinux.bin.all-y) FORCE $(call if_changed,bzip2) $(obj)/vmlinux.bin.lzma: $(vmlinux.bin.all-y) FORCE @@ -68,6 +70,7 @@ $(obj)/vmlinux.bin.lz4: $(vmlinux.bin.all-y) FORCE $(call if_changed,lz4) suffix-$(CONFIG_KERNEL_GZIP) := gz +suffix-$(CONFIG_KERNEL_MINIGZIP):= mgz suffix-$(CONFIG_KERNEL_BZIP2) := bz2 suffix-$(CONFIG_KERNEL_LZMA) := lzma suffix-$(CONFIG_KERNEL_XZ) := xz diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c index 434f077..4e55d32 100644 --- a/arch/x86/boot/compressed/misc.c +++ b/arch/x86/boot/compressed/misc.c @@ -125,7 +125,7 @@ static char *vidmem; static int vidport; static int lines, cols; -#ifdef CONFIG_KERNEL_GZIP +#if defined(CONFIG_KERNEL_GZIP) || defined(CONFIG_KERNEL_MINIGZIP) #include "../../../../lib/decompress_inflate.c" #endif diff --git a/init/Kconfig b/init/Kconfig index 3ecd8a1..818f225 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -100,6 +100,9 @@ config LOCALVERSION_AUTO config HAVE_KERNEL_GZIP bool +config HAVE_KERNEL_MINIGZIP + bool + config HAVE_KERNEL_BZIP2 bool @@ -118,7 +121,7 @@ config HAVE_KERNEL_LZ4 choice prompt "Kernel compression mode" default KERNEL_GZIP - depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4 + depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_MINIGZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4 help The linux kernel is a kind of self-extracting executable. Several compression algorithms are available, which differ @@ -144,6 +147,19 @@ config KERNEL_GZIP The old and tried gzip compression. It provides a good balance between compression ratio and decompression speed. +config KERNEL_MINIGZIP + bool "Minigzip" + depends on HAVE_KERNEL_MINIGZIP + help + Use minigzip to compress the bzImage. This is very similar to gzip + but uses the zlib library to compress, rather than the very old version + of zlib inside the gzip codebase. This is used for Android kernels + so that the same version of the deflate() algorithm is used when + building the kernel and constructing diffs with OTA applypatch, which + uncompresses sections of files that it detects are gzipped before computing + the diffs. If the versions of deflate() are out of alignment the binary + diffs tend to be very large. + config KERNEL_BZIP2 bool "Bzip2" depends on HAVE_KERNEL_BZIP2 diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 49392ec..deb1bb8 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -240,6 +240,13 @@ quiet_cmd_gzip = GZIP $@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) || \ (rm -f $@ ; false) +# Minigzip +# --------------------------------------------------------------------------- + +quiet_cmd_minigzip = MINGZIP $@ +cmd_minigzip = (cat $(filter-out FORCE,$^) | minigzip -c -9 > $@) || \ + (rm -f $@ ; false) + # DTC # --------------------------------------------------------------------------- -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] x86: boot: support minigzip bzImage compression 2013-10-22 21:07 ` [PATCH 1/1] x86: boot: support minigzip bzImage compression Andrew Boie @ 2013-10-23 0:26 ` H. Peter Anvin 2013-10-23 2:53 ` Guenter Roeck 0 siblings, 1 reply; 7+ messages in thread From: H. Peter Anvin @ 2013-10-23 0:26 UTC (permalink / raw) To: Andrew Boie, linux-kernel; +Cc: tglx, mmarek Wouldn't it be better to fix gzip than hacking around this in the kernel? Andrew Boie <andrew.p.boie@intel.com> wrote: >Android OTA system computes very efficient diffs of compressed files >if the deflate() algorithm it has access to is the same version as >used to create the original file. Here we add support for compressing >the kernel with 'minigzip' which uses the deflate() inside zlib. >This is much better than using 'gzip' as that tool has a very old >version of deflate() inside the gzip codebase instead of linking >against >zlib. > >Signed-off-by: Andrew Boie <andrew.p.boie@intel.com> >--- > arch/x86/Kconfig | 1 + > arch/x86/boot/compressed/Makefile | 3 +++ > arch/x86/boot/compressed/misc.c | 2 +- > init/Kconfig | 18 +++++++++++++++++- > scripts/Makefile.lib | 7 +++++++ > 5 files changed, 29 insertions(+), 2 deletions(-) > >diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig >index f67e839..aa91cef 100644 >--- a/arch/x86/Kconfig >+++ b/arch/x86/Kconfig >@@ -62,6 +62,7 @@ config X86 > select HAVE_REGS_AND_STACK_ACCESS_API > select HAVE_DMA_API_DEBUG > select HAVE_KERNEL_GZIP >+ select HAVE_KERNEL_MINIGZIP > select HAVE_KERNEL_BZIP2 > select HAVE_KERNEL_LZMA > select HAVE_KERNEL_XZ >diff --git a/arch/x86/boot/compressed/Makefile >b/arch/x86/boot/compressed/Makefile >index dcd90df..f000791 100644 >--- a/arch/x86/boot/compressed/Makefile >+++ b/arch/x86/boot/compressed/Makefile >@@ -56,6 +56,8 @@ vmlinux.bin.all-$(CONFIG_X86_NEED_RELOCS) += >$(obj)/vmlinux.relocs > > $(obj)/vmlinux.bin.gz: $(vmlinux.bin.all-y) FORCE > $(call if_changed,gzip) >+$(obj)/vmlinux.bin.mgz: $(vmlinux.bin.all-y) FORCE >+ $(call if_changed,minigzip) > $(obj)/vmlinux.bin.bz2: $(vmlinux.bin.all-y) FORCE > $(call if_changed,bzip2) > $(obj)/vmlinux.bin.lzma: $(vmlinux.bin.all-y) FORCE >@@ -68,6 +70,7 @@ $(obj)/vmlinux.bin.lz4: $(vmlinux.bin.all-y) FORCE > $(call if_changed,lz4) > > suffix-$(CONFIG_KERNEL_GZIP) := gz >+suffix-$(CONFIG_KERNEL_MINIGZIP):= mgz > suffix-$(CONFIG_KERNEL_BZIP2) := bz2 > suffix-$(CONFIG_KERNEL_LZMA) := lzma > suffix-$(CONFIG_KERNEL_XZ) := xz >diff --git a/arch/x86/boot/compressed/misc.c >b/arch/x86/boot/compressed/misc.c >index 434f077..4e55d32 100644 >--- a/arch/x86/boot/compressed/misc.c >+++ b/arch/x86/boot/compressed/misc.c >@@ -125,7 +125,7 @@ static char *vidmem; > static int vidport; > static int lines, cols; > >-#ifdef CONFIG_KERNEL_GZIP >+#if defined(CONFIG_KERNEL_GZIP) || defined(CONFIG_KERNEL_MINIGZIP) > #include "../../../../lib/decompress_inflate.c" > #endif > >diff --git a/init/Kconfig b/init/Kconfig >index 3ecd8a1..818f225 100644 >--- a/init/Kconfig >+++ b/init/Kconfig >@@ -100,6 +100,9 @@ config LOCALVERSION_AUTO > config HAVE_KERNEL_GZIP > bool > >+config HAVE_KERNEL_MINIGZIP >+ bool >+ > config HAVE_KERNEL_BZIP2 > bool > >@@ -118,7 +121,7 @@ config HAVE_KERNEL_LZ4 > choice > prompt "Kernel compression mode" > default KERNEL_GZIP >- depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA >|| HAVE_KERNEL_XZ || HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4 >+ depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_MINIGZIP || >HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || >HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4 > help > The linux kernel is a kind of self-extracting executable. > Several compression algorithms are available, which differ >@@ -144,6 +147,19 @@ config KERNEL_GZIP > The old and tried gzip compression. It provides a good balance > between compression ratio and decompression speed. > >+config KERNEL_MINIGZIP >+ bool "Minigzip" >+ depends on HAVE_KERNEL_MINIGZIP >+ help >+ Use minigzip to compress the bzImage. This is very similar to gzip >+ but uses the zlib library to compress, rather than the very old >version >+ of zlib inside the gzip codebase. This is used for Android kernels >+ so that the same version of the deflate() algorithm is used when >+ building the kernel and constructing diffs with OTA applypatch, >which >+ uncompresses sections of files that it detects are gzipped before >computing >+ the diffs. If the versions of deflate() are out of alignment the >binary >+ diffs tend to be very large. >+ > config KERNEL_BZIP2 > bool "Bzip2" > depends on HAVE_KERNEL_BZIP2 >diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib >index 49392ec..deb1bb8 100644 >--- a/scripts/Makefile.lib >+++ b/scripts/Makefile.lib >@@ -240,6 +240,13 @@ quiet_cmd_gzip = GZIP $@ > cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) || \ > (rm -f $@ ; false) > >+# Minigzip >+# >--------------------------------------------------------------------------- >+ >+quiet_cmd_minigzip = MINGZIP $@ >+cmd_minigzip = (cat $(filter-out FORCE,$^) | minigzip -c -9 > $@) || \ >+ (rm -f $@ ; false) >+ > # DTC ># >--------------------------------------------------------------------------- > -- Sent from my mobile phone. Please excuse brevity and lack of formatting. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] x86: boot: support minigzip bzImage compression 2013-10-23 0:26 ` H. Peter Anvin @ 2013-10-23 2:53 ` Guenter Roeck 2013-10-23 9:56 ` Michal Marek 2013-10-23 16:47 ` Boie, Andrew P 0 siblings, 2 replies; 7+ messages in thread From: Guenter Roeck @ 2013-10-23 2:53 UTC (permalink / raw) To: H. Peter Anvin, Andrew Boie, linux-kernel; +Cc: tglx, mmarek On 10/22/2013 05:26 PM, H. Peter Anvin wrote: > Wouldn't it be better to fix gzip than hacking around this in the kernel? > Or just change the build system to have /bin/gzip point to minigzip if so desired. I have done the same to replace it with pigz. Debian/Ubuntu provides the update-alternatives command for that purpose. If that is not available, just hard-link it. In general, I don't think it would be a good idea to add tool variant dependencies like this one to the kernel configuration. Guenter > Andrew Boie <andrew.p.boie@intel.com> wrote: >> Android OTA system computes very efficient diffs of compressed files >> if the deflate() algorithm it has access to is the same version as >> used to create the original file. Here we add support for compressing >> the kernel with 'minigzip' which uses the deflate() inside zlib. >> This is much better than using 'gzip' as that tool has a very old >> version of deflate() inside the gzip codebase instead of linking >> against >> zlib. >> >> Signed-off-by: Andrew Boie <andrew.p.boie@intel.com> >> --- >> arch/x86/Kconfig | 1 + >> arch/x86/boot/compressed/Makefile | 3 +++ >> arch/x86/boot/compressed/misc.c | 2 +- >> init/Kconfig | 18 +++++++++++++++++- >> scripts/Makefile.lib | 7 +++++++ >> 5 files changed, 29 insertions(+), 2 deletions(-) >> >> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig >> index f67e839..aa91cef 100644 >> --- a/arch/x86/Kconfig >> +++ b/arch/x86/Kconfig >> @@ -62,6 +62,7 @@ config X86 >> select HAVE_REGS_AND_STACK_ACCESS_API >> select HAVE_DMA_API_DEBUG >> select HAVE_KERNEL_GZIP >> + select HAVE_KERNEL_MINIGZIP >> select HAVE_KERNEL_BZIP2 >> select HAVE_KERNEL_LZMA >> select HAVE_KERNEL_XZ >> diff --git a/arch/x86/boot/compressed/Makefile >> b/arch/x86/boot/compressed/Makefile >> index dcd90df..f000791 100644 >> --- a/arch/x86/boot/compressed/Makefile >> +++ b/arch/x86/boot/compressed/Makefile >> @@ -56,6 +56,8 @@ vmlinux.bin.all-$(CONFIG_X86_NEED_RELOCS) += >> $(obj)/vmlinux.relocs >> >> $(obj)/vmlinux.bin.gz: $(vmlinux.bin.all-y) FORCE >> $(call if_changed,gzip) >> +$(obj)/vmlinux.bin.mgz: $(vmlinux.bin.all-y) FORCE >> + $(call if_changed,minigzip) >> $(obj)/vmlinux.bin.bz2: $(vmlinux.bin.all-y) FORCE >> $(call if_changed,bzip2) >> $(obj)/vmlinux.bin.lzma: $(vmlinux.bin.all-y) FORCE >> @@ -68,6 +70,7 @@ $(obj)/vmlinux.bin.lz4: $(vmlinux.bin.all-y) FORCE >> $(call if_changed,lz4) >> >> suffix-$(CONFIG_KERNEL_GZIP) := gz >> +suffix-$(CONFIG_KERNEL_MINIGZIP):= mgz >> suffix-$(CONFIG_KERNEL_BZIP2) := bz2 >> suffix-$(CONFIG_KERNEL_LZMA) := lzma >> suffix-$(CONFIG_KERNEL_XZ) := xz >> diff --git a/arch/x86/boot/compressed/misc.c >> b/arch/x86/boot/compressed/misc.c >> index 434f077..4e55d32 100644 >> --- a/arch/x86/boot/compressed/misc.c >> +++ b/arch/x86/boot/compressed/misc.c >> @@ -125,7 +125,7 @@ static char *vidmem; >> static int vidport; >> static int lines, cols; >> >> -#ifdef CONFIG_KERNEL_GZIP >> +#if defined(CONFIG_KERNEL_GZIP) || defined(CONFIG_KERNEL_MINIGZIP) >> #include "../../../../lib/decompress_inflate.c" >> #endif >> >> diff --git a/init/Kconfig b/init/Kconfig >> index 3ecd8a1..818f225 100644 >> --- a/init/Kconfig >> +++ b/init/Kconfig >> @@ -100,6 +100,9 @@ config LOCALVERSION_AUTO >> config HAVE_KERNEL_GZIP >> bool >> >> +config HAVE_KERNEL_MINIGZIP >> + bool >> + >> config HAVE_KERNEL_BZIP2 >> bool >> >> @@ -118,7 +121,7 @@ config HAVE_KERNEL_LZ4 >> choice >> prompt "Kernel compression mode" >> default KERNEL_GZIP >> - depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA >> || HAVE_KERNEL_XZ || HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4 >> + depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_MINIGZIP || >> HAVE_KERNEL_BZIP2 || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || >> HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4 >> help >> The linux kernel is a kind of self-extracting executable. >> Several compression algorithms are available, which differ >> @@ -144,6 +147,19 @@ config KERNEL_GZIP >> The old and tried gzip compression. It provides a good balance >> between compression ratio and decompression speed. >> >> +config KERNEL_MINIGZIP >> + bool "Minigzip" >> + depends on HAVE_KERNEL_MINIGZIP >> + help >> + Use minigzip to compress the bzImage. This is very similar to gzip >> + but uses the zlib library to compress, rather than the very old >> version >> + of zlib inside the gzip codebase. This is used for Android kernels >> + so that the same version of the deflate() algorithm is used when >> + building the kernel and constructing diffs with OTA applypatch, >> which >> + uncompresses sections of files that it detects are gzipped before >> computing >> + the diffs. If the versions of deflate() are out of alignment the >> binary >> + diffs tend to be very large. >> + >> config KERNEL_BZIP2 >> bool "Bzip2" >> depends on HAVE_KERNEL_BZIP2 >> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib >> index 49392ec..deb1bb8 100644 >> --- a/scripts/Makefile.lib >> +++ b/scripts/Makefile.lib >> @@ -240,6 +240,13 @@ quiet_cmd_gzip = GZIP $@ >> cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) || \ >> (rm -f $@ ; false) >> >> +# Minigzip >> +# >> --------------------------------------------------------------------------- >> + >> +quiet_cmd_minigzip = MINGZIP $@ >> +cmd_minigzip = (cat $(filter-out FORCE,$^) | minigzip -c -9 > $@) || \ >> + (rm -f $@ ; false) >> + >> # DTC >> # >> --------------------------------------------------------------------------- >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] x86: boot: support minigzip bzImage compression 2013-10-23 2:53 ` Guenter Roeck @ 2013-10-23 9:56 ` Michal Marek 2013-10-23 16:47 ` Boie, Andrew P 1 sibling, 0 replies; 7+ messages in thread From: Michal Marek @ 2013-10-23 9:56 UTC (permalink / raw) To: Guenter Roeck; +Cc: H. Peter Anvin, Andrew Boie, linux-kernel, tglx On 23.10.2013 04:53, Guenter Roeck wrote: > On 10/22/2013 05:26 PM, H. Peter Anvin wrote: >> Wouldn't it be better to fix gzip than hacking around this in the kernel? >> > Or just change the build system to have /bin/gzip point to minigzip if so > desired. I have done the same to replace it with pigz. Yes. And if the Makefiles must be patched, then I'd suggest adding a $(GZIP) variable to the main Makefile and using that: make GZIP=pigz bzImage make GZIP=minigzip bzImage Michal ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 1/1] x86: boot: support minigzip bzImage compression 2013-10-23 2:53 ` Guenter Roeck 2013-10-23 9:56 ` Michal Marek @ 2013-10-23 16:47 ` Boie, Andrew P 2013-10-23 16:59 ` Guenter Roeck 1 sibling, 1 reply; 7+ messages in thread From: Boie, Andrew P @ 2013-10-23 16:47 UTC (permalink / raw) To: Guenter Roeck, H. Peter Anvin, linux-kernel; +Cc: tglx, mmarek > From: Guenter Roeck [linux@roeck-us.net] > Or just change the build system to have /bin/gzip point to minigzip if so > desired. I have done the same to replace it with pigz. > Debian/Ubuntu provides the update-alternatives command for that > purpose. If that is not available, just hard-link it. Android minigzip and gzip unfortunately don't have the same command line syntax. Before I wrote this patch I had a horrible hack in place involving a shell script named "gzip" that called minigzip internally. Andrew ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/1] x86: boot: support minigzip bzImage compression 2013-10-23 16:47 ` Boie, Andrew P @ 2013-10-23 16:59 ` Guenter Roeck 0 siblings, 0 replies; 7+ messages in thread From: Guenter Roeck @ 2013-10-23 16:59 UTC (permalink / raw) To: Boie, Andrew P; +Cc: H. Peter Anvin, linux-kernel, tglx, mmarek On Wed, Oct 23, 2013 at 04:47:38PM +0000, Boie, Andrew P wrote: > > From: Guenter Roeck [linux@roeck-us.net] > > Or just change the build system to have /bin/gzip point to minigzip if so > > desired. I have done the same to replace it with pigz. > > Debian/Ubuntu provides the update-alternatives command for that > > purpose. If that is not available, just hard-link it. > > Android minigzip and gzip unfortunately don't have the same command line syntax. Before I wrote this patch I had a horrible hack in place involving a shell script named "gzip" that called minigzip internally. > Why is that a horrible hack ? I think it is better than clogging kernel makefiles with that kind of tools detail. Actually, you have (at least) three other options: fix/update gzip, update minigzip to match the gzip cli, or use a script to map one to the other. Guenter ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-10-23 16:59 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-10-22 21:07 [PATCH 0/1] compress kernels with minigzip Andrew Boie 2013-10-22 21:07 ` [PATCH 1/1] x86: boot: support minigzip bzImage compression Andrew Boie 2013-10-23 0:26 ` H. Peter Anvin 2013-10-23 2:53 ` Guenter Roeck 2013-10-23 9:56 ` Michal Marek 2013-10-23 16:47 ` Boie, Andrew P 2013-10-23 16:59 ` Guenter Roeck
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).