From: srinuvasan <
srinuv...@siemens.com>
By default initrd compressed with zstd tool, with the present bullseye base image
of amd64 the initrd size is almost 27MB, this can be reduced with the help of xz tool,
using this one the generated initrd size is almost 18MB, we saved almost 9MB.
Signed-off-by: srinuvasan <
srinuv...@siemens.com>
---
meta-isar/conf/local.conf.sample | 2 +-
.../compress-initrd/
compress-initrd.bb | 18 ++++++++++++++++++
.../compress-initrd/files/postinst | 5 +++++
3 files changed, 24 insertions(+), 1 deletion(-)
create mode 100644 meta-isar/recipes-initramfs/compress-initrd/
compress-initrd.bb
create mode 100644 meta-isar/recipes-initramfs/compress-initrd/files/postinst
diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index 17455015..ac8b749e 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -149,7 +149,7 @@ CONF_VERSION = "1"
#
# The default list of extra packages to be installed.
-IMAGE_INSTALL = "hello-isar example-raw example-module-${KERNEL_NAME} enable-fsck isar-exclude-docs samefile hello isar-disable-apt-cache cowsay example-prebuilt"
+IMAGE_INSTALL = "hello-isar example-raw example-module-${KERNEL_NAME} enable-fsck isar-exclude-docs samefile hello isar-disable-apt-cache cowsay example-prebuilt compress-initrd"
#
# Machines with secure boot should use signed modules.
diff --git a/meta-isar/recipes-initramfs/compress-initrd/
compress-initrd.bb b/meta-isar/recipes-initramfs/compress-initrd/
compress-initrd.bb
new file mode 100644
index 00000000..21e28782
--- /dev/null
+++ b/meta-isar/recipes-initramfs/compress-initrd/
compress-initrd.bb
@@ -0,0 +1,18 @@
+# Compress the initrd with better compression tool
+#
+# This software is a part of ISAR.
+
+DESCRIPTION = "Compress the initrd with better compression tool"
+MAINTAINER = "Your name here <
y...@domain.com>"
+
+inherit dpkg-raw
+
+DEBIAN_DEPENDS = "linux-image-${KERNEL_NAME}, xz-utils, initramfs-tools"
+
+SRC_URI = " \
+ file://postinst \
+"
+do_install() {
+ install -v -d "${D}/etc/initramfs-tools/conf.d/"
+ echo "COMPRESS=xz" > "${D}/etc/initramfs-tools/conf.d/${PN}.conf"
+}
diff --git a/meta-isar/recipes-initramfs/compress-initrd/files/postinst b/meta-isar/recipes-initramfs/compress-initrd/files/postinst
new file mode 100644
index 00000000..0db52142
--- /dev/null
+++ b/meta-isar/recipes-initramfs/compress-initrd/files/postinst
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -e
+
+update-initramfs -c -k all
--
2.39.2