This patchset does some minor initramfs refactoring and allows cpio entry mtime preservation to be disabled via a new Kconfig INITRAMFS_PRESERVE_MTIME option. Patches 3/5 to 5/5 implement support for creation and extraction of "crc" cpio archives, which carry file data checksums. Basic tests for this functionality can be found at Link: https://github.com/rapido-linux/rapido/pull/163 Changes since v4, following feedback from Matthew Wilcox: - implement cpio "crc" archive creation and extraction - add patch to fix gen_init_cpio short read handling - drop now-unnecessary "crc" documentation and error msg changes Changes since v3, following feedback from Martin Wilck: - 4/4: keep vfs_utimes() call in do_copy() path + drop [PATCH v3 4/5] initramfs: use do_utime() wrapper consistently + add do_utime_path() helper + clean up timespec64 initialisation - 4/4: move all mtime preservation logic to initramfs_mtime.h and drop separate .c - 4/4: improve commit message init/Kconfig | 10 +++++ init/initramfs.c | 89 +++++++++++++++------------------------- init/initramfs_mtime.h | 50 +++++++++++++++++++++++ usr/gen_init_cpio.c | 92 ++++++++++++++++++++++++++++++------------ 4 files changed, 159 insertions(+), 82 deletions(-)