aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gen_initramfs.sh')
-rwxr-xr-xgen_initramfs.sh14
1 files changed, 14 insertions, 0 deletions
diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 9b354a4..f53f528 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -800,6 +800,20 @@ create_initramfs() {
append_data 'overlay'
fi
+ # Finalize cpio by removing duplicate files
+ print_info 1 " >> Finalizing cpio..."
+ local TDIR="${TEMP}/initramfs-final"
+ mkdir -p "${TDIR}"
+ cd "${TDIR}"
+
+ cpio --quiet -i -F "${CPIO}" 2> /dev/null \
+ || gen_die "extracting cpio for finalization"
+ find . -print | cpio ${CPIO_ARGS} -F "${CPIO}" 2>/dev/null \
+ || gen_die "recompressing cpio"
+
+ cd "${TEMP}"
+ rm -r "${TDIR}"
+
if isTrue "${INTEGRATED_INITRAMFS}"
then
# Explicitly do not compress if we are integrating into the kernel.