init: first stage init tie stdout and stderr to /dev/kmsg
It is exceedingly difficult to debug I/O and filesystem corruption issues during first and selinux initialization stage init. By redirecting stderr, and for good measure stdout, to /dev/kmsg in first stage init before it exec's "/system/bin/init" we can see the filesystem corruption errors more clearly. Before this we would see: init: Skipped setting INIT_AVB_VERSION (not in recovery mode) Kernel panic - not syncing: Attempted to kill init! exitcode=0x... and then wonder why? After this change we can see: init: Skipped setting INIT_AVB_VERSION (not in recovery mode) libc: Fatal signal 5 (SIGTRAP), code 128 (SI_KERNEL), fault addr... Kernel panic - not syncing: Attempted to kill init! exitcode=0x... -or- init: Skipped setting INIT_AVB_VERSION (not in recovery mode) linker: CANNOT LINK EXECUTABLE "/system/bin/init": cannot locate symbol... Kernel panic - not syncing: Attempted to kill init! exitcode=0x... (NB: with stutter removed because of stdout and stderr) Silence from these sources otherwise on successful execution. Test: boot Bug: 138459777 Change-Id: I4200b24baeaa6e408a5e0a2c890561bda1e2f1f4
Loading
Please register or sign in to comment