From patchwork Fri Nov 9 19:02:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Borowski X-Patchwork-Id: 10676471 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 640F317D4 for ; Fri, 9 Nov 2018 19:04:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5699A2F107 for ; Fri, 9 Nov 2018 19:04:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 49A9A2F111; Fri, 9 Nov 2018 19:04:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C567D2F103 for ; Fri, 9 Nov 2018 19:04:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728982AbeKJEpb (ORCPT ); Fri, 9 Nov 2018 23:45:31 -0500 Received: from tartarus.angband.pl ([54.37.238.230]:51600 "EHLO tartarus.angband.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728225AbeKJEp3 (ORCPT ); Fri, 9 Nov 2018 23:45:29 -0500 Received: from 89-64-163-218.dynamic.chello.pl ([89.64.163.218] helo=barad-dur.angband.pl) by tartarus.angband.pl with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gLC40-00054h-J6; Fri, 09 Nov 2018 20:03:30 +0100 Received: from kholdan.angband.pl ([2001:470:64f4::5]) by barad-dur.angband.pl with smtp (Exim 4.89) (envelope-from ) id 1gLC3z-0005AA-1i; Fri, 09 Nov 2018 20:03:28 +0100 Received: by kholdan.angband.pl (sSMTP sendmail emulation); Fri, 09 Nov 2018 20:03:27 +0100 From: Adam Borowski To: linux-kernel@vger.kernel.org, Nick Terrell , Russell King , Geert Uytterhoeven , linux-m68k@lists.linux-m68k.org, Ralf Baechle , Paul Burton , James Hogan , linux-mips@linux-mips.org, Jonas Bonn , Stefan Kristiansson , Stafford Horne , openrisc@lists.librecores.org, "James E.J. Bottomley" , Helge Deller , linux-parisc@vger.kernel.org, Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , linuxppc-dev@lists.ozlabs.org, Martin Schwidefsky , Heiko Carstens , linux-s390@vger.kernel.org, Yoshinori Sato , Rich Felker , linux-sh@vger.kernel.org, Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, Chris Zankel , Max Filippov , linux-xtensa@linux-xtensa.org Cc: Adam Borowski Date: Fri, 9 Nov 2018 20:02:58 +0100 Message-Id: <20181109190304.8573-11-kilobyte@angband.pl> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181109190304.8573-1-kilobyte@angband.pl> References: <20181109185953.xwyelyqnygbskkxk@angband.pl> <20181109190304.8573-1-kilobyte@angband.pl> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 89.64.163.218 X-SA-Exim-Mail-From: kilobyte@angband.pl Subject: [PATCH 11/17] Kconfig: Remove support for BZIP2-compressed initrd and kernel X-SA-Exim-Version: 4.2.1 (built Tue, 02 Aug 2016 21:08:31 +0000) X-SA-Exim-Scanned: Yes (on tartarus.angband.pl) Sender: linux-parisc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-parisc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In no case it's a rational choice anymore: it's much slower than newer algorithms at similar compression strength, and takes lots of memory as well. Removal of compression algorithms for vmlinuz is completely safe (the kernel gets compressed by this very Makefile), less so for initrd as someone might have requested it in initramfs.conf -- but it's not an option users tend to alter, and they'd use a better algorithm anyway. Thus, user damage is possible but on par with removal of an ancient filesystem. Signed-off-by: Adam Borowski --- Makefile | 1 - init/Kconfig | 17 ++--------------- init/do_mounts_rd.c | 1 - kernel/configs/tiny.config | 1 - usr/Kconfig | 24 ------------------------ 5 files changed, 2 insertions(+), 42 deletions(-) diff --git a/Makefile b/Makefile index 9fce8b91c15f..c812467bfe11 100644 --- a/Makefile +++ b/Makefile @@ -938,7 +938,6 @@ export mod_compress_cmd # This shall be used by the dracut(8) tool while creating an initramfs image. # INITRD_COMPRESS-y := gzip -INITRD_COMPRESS-$(CONFIG_RD_BZIP2) := bzip2 INITRD_COMPRESS-$(CONFIG_RD_LZMA) := lzma INITRD_COMPRESS-$(CONFIG_RD_XZ) := xz INITRD_COMPRESS-$(CONFIG_RD_LZO) := lzo diff --git a/init/Kconfig b/init/Kconfig index ffa5ae4abc88..412ba93673fa 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -119,9 +119,6 @@ config BUILD_SALT config HAVE_KERNEL_GZIP bool -config HAVE_KERNEL_BZIP2 - bool - config HAVE_KERNEL_LZMA bool @@ -143,7 +140,7 @@ config HAVE_KERNEL_UNCOMPRESSED 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 || HAVE_KERNEL_ZSTD || HAVE_KERNEL_UNCOMPRESSED + depends on HAVE_KERNEL_GZIP || HAVE_KERNEL_LZMA || HAVE_KERNEL_XZ || HAVE_KERNEL_LZO || HAVE_KERNEL_LZ4 || HAVE_KERNEL_ZSTD || HAVE_KERNEL_UNCOMPRESSED help The linux kernel is a kind of self-extracting executable. Several compression algorithms are available, which differ @@ -151,7 +148,7 @@ choice Compression speed is only relevant when building a kernel. Decompression speed is relevant at each boot. - If you have any problems with bzip2 or lzma compressed + If you have any problems with lzma compressed kernels, mail me (Alain Knaff) . (An older version of this functionality (bzip2 only), for 2.4, was supplied by Christian Ludwig) @@ -169,16 +166,6 @@ config KERNEL_GZIP The old and tried gzip compression. It provides a good balance between compression ratio and decompression speed. -config KERNEL_BZIP2 - bool "Bzip2" - depends on HAVE_KERNEL_BZIP2 - help - Its compression ratio and speed is intermediate. - Decompression speed is slowest among the choices. The kernel - size is about 10% smaller with bzip2, in comparison to gzip. - Bzip2 uses a large amount of memory. For modern kernels you - will need at least 8MB RAM or more for booting. - config KERNEL_LZMA bool "LZMA" depends on HAVE_KERNEL_LZMA diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c index 32fb049d18f9..5f26365ea8b1 100644 --- a/init/do_mounts_rd.c +++ b/init/do_mounts_rd.c @@ -48,7 +48,6 @@ static int __init crd_load(int in_fd, int out_fd, decompress_fn deco); * cramfs * squashfs * gzip - * bzip2 * lzma * xz * lzo diff --git a/kernel/configs/tiny.config b/kernel/configs/tiny.config index 7fa0c4ae6394..c5480f87fae3 100644 --- a/kernel/configs/tiny.config +++ b/kernel/configs/tiny.config @@ -1,7 +1,6 @@ # CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y # CONFIG_KERNEL_GZIP is not set -# CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set CONFIG_KERNEL_XZ=y # CONFIG_KERNEL_LZO is not set diff --git a/usr/Kconfig b/usr/Kconfig index 5ff529b75ee1..05b6be569041 100644 --- a/usr/Kconfig +++ b/usr/Kconfig @@ -61,15 +61,6 @@ config RD_GZIP Support loading of a gzip encoded initial ramdisk or cpio buffer. If unsure, say Y. -config RD_BZIP2 - bool "Support initial ramdisk/ramfs compressed using bzip2" - default y - depends on BLK_DEV_INITRD - select DECOMPRESS_BZIP2 - help - Support loading of a bzip2 encoded initial ramdisk or cpio buffer - If unsure, say N. - config RD_LZMA bool "Support initial ramdisk/ramfs compressed using LZMA" default y @@ -161,19 +152,6 @@ config INITRAMFS_COMPRESSION_GZIP supported by your build system as the gzip tool is present by default on most distros. -config INITRAMFS_COMPRESSION_BZIP2 - bool "Bzip2" - depends on RD_BZIP2 - help - It's compression ratio and speed is intermediate. Decompression speed - is slowest among the choices. The initramfs size is about 10% smaller - with bzip2, in comparison to gzip. Bzip2 uses a large amount of - memory. For modern kernels you will need at least 8MB RAM or more for - booting. - - If you choose this, keep in mind that you need to have the bzip2 tool - available to be able to compress the initram. - config INITRAMFS_COMPRESSION_LZMA bool "LZMA" depends on RD_LZMA @@ -241,7 +219,6 @@ config INITRAMFS_COMPRESSION string default "" if INITRAMFS_COMPRESSION_NONE default ".gz" if INITRAMFS_COMPRESSION_GZIP - default ".bz2" if INITRAMFS_COMPRESSION_BZIP2 default ".lzma" if INITRAMFS_COMPRESSION_LZMA default ".xz" if INITRAMFS_COMPRESSION_XZ default ".lzo" if INITRAMFS_COMPRESSION_LZO @@ -252,6 +229,5 @@ config INITRAMFS_COMPRESSION default ".lzo" if RD_LZO default ".xz" if RD_XZ default ".lzma" if RD_LZMA - default ".bz2" if RD_BZIP2 default ".zst" if RD_ZSTD default ""