better switch back to panic on initramfs.c/populate_rootfs errors?
From: Dennis Luehring
Date: Mon Oct 24 2016 - 09:10:41 EST
im building initrd/initramfs cpios for serveral qemu platforms and
stumbled over inconsistent rootfs after kernel load
using vanilla kernel 4.8.4(and older), bash 4.4, core-utils/linux-utils
build with gcc 6.1 under Ubuntu 16.04.1 x64 (gcc 5.4)
using a big(~370MB) initrd.cpio with not enough ram (1GB) in qemu i get
this kernel message
"Initramfs unpacking failed: write error"
that sometimes led to missing files in my rootfs (thanks to "Richard
Henderson"(DEC-Alpha maintainer) who directed me to the kernel log
message - after searching for hours why some executables don't work
after kernel load)
using a small(~14MB) initrd.cpio with just a staticaly linked c based
init for the kernel also with 1GB ram gives me this kernel message:
"Initramfs unpacking failed: junk in compressed archive"
both initrd.cpios are created with cpio (version 2.11)
"find . | cpio -H newc -o initrd.cpio"
why do the kernel not panic if not able to populate the roofs consistently?
related to the panic i've found this commit (from 2009-01-14) that
allows inconsistent rootfs
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/init/initramfs.c?id=73310a169aebe257efdd35a763cce1c7658f40c9
is that still a good idea/practise? to have initramfs recovery seems to
be a rare case and a simple panic would help much better in many other
common situations -
or are the errors comming from unpack_to_rootfs() are currently not
always errors but sometimes warnings where panic would be the wrong
action to take?
i don't know if both messages telling me that something bad happend and
i need to fix it first or is the second just a warning?
"Initramfs unpacking failed: write error"
"Initramfs unpacking failed: junk in compressed archive"
please direct me to the correct mailinglist (or person) that could
answer this questions if im wrong here
thx