What's Inside a Linux Kernel Core Dump
blogs.oracle.com
blogs.oracle.com
Is there really no better way to do this than to have an entire second kernel ready to take over? Like a more specialized piece of code that only handles kernel coredumps?
Can't the kdump kernel be exactly that?
You can build a second kernel separate from the normal one, that only has the necessary options enabled to handle the coredump stuff. This way it can be relatively small and you can reuse the required driver code.
The Linux kexec process kind of elegantly restarts into a known state, with the known drawback of hogging some memory. It's definitely a different set of tradeoffs and both seem vaguely reasonable.
So the requirements of this software are: It must be able to boot a system, write to the specific sections of memory, have some method of initializing hardware, some ability to write the other memory to disk or network connections. It sounds like you're talking about an OS.
I believe this is exactly what KDUMP does.
I believe kexec/kdump does execute in place and does not go through a full reboot, am I wrong ?
It would be really odd if they couldn't teach you about the kernel.
I also felt the same way upon opening the article, but companies are made of individuals, and often individuals do valuable and insightful work, even inside of bureaucratic and Kafkaesque organizations like Oracle.