With commit fa9201b2 ("fadump: isolate fadump initramfs image within
the default one"), initramfs image gets to hold two squash images, one
for production kernel boot purpose and the other for capture kernel
boot. Having separate images improved reliability for both production
kernel and capture kernel boot scenarios, but the size of initramfs
image became considerably larger.
Instead of having squash images, compressing $initdir without using
squash images reduced the size of initramfs image for fadump case by
around 30%. So, avoid using squash for fadump case.
Signed-off-by: Hari Bathini <hbathini(a)linux.ibm.com>
---
Changes in v2:
* Avoid polluting is_squash_available(). Instead, modify mkfadumprd
to ensure 'squash' dracut module is not used for fadump case.
mkfadumprd | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/mkfadumprd b/mkfadumprd
index 86dfcee..5587ccf 100644
--- a/mkfadumprd
+++ b/mkfadumprd
@@ -38,7 +38,9 @@ FADUMP_INITRD="$MKFADUMPRD_TMPDIR/fadump.img"
# this file tells the initrd is fadump enabled
touch "$MKFADUMPRD_TMPDIR/fadump.initramfs"
ddebug "rebuild fadump initrd: $FADUMP_INITRD $DEFAULT_INITRD
$KDUMP_KERNELVER"
-if ! $MKDUMPRD "$FADUMP_INITRD" -i
"$MKFADUMPRD_TMPDIR/fadump.initramfs" /etc/fadump.initramfs; then
+# Don't use squash for capture image or default image as it negatively impacts
+# compression ratio and increases the size of the initramfs image.
+if ! $MKDUMPRD "$FADUMP_INITRD" -i
"$MKFADUMPRD_TMPDIR/fadump.initramfs" /etc/fadump.initramfs --omit squash; then
perror_exit "mkfadumprd: failed to build image with dump capture support"
fi
@@ -58,10 +60,6 @@ _dracut_isolate_args=(
/usr/lib/dracut/fadump-kernel-modules.txt
)
-if is_squash_available; then
- _dracut_isolate_args+=(--add squash)
-fi
-
# Same as setting zstd in mkdumprd
if ! have_compression_in_dracut_args; then
if is_squash_available || is_zstd_command_available; then
--
2.37.3