On 07/29/14 at 09:43am, Vivek Goyal wrote:
On Tue, Jul 29, 2014 at 08:57:56PM +0800, WANG Chao wrote:
This patch introduce a new kdump-capture.service which is used to run kdump.sh.
kdump-capture.service has OnFailure=emergency.target and OnFailureIsolate=yes set. When kdump.sh fails, the kdump emergency service will be triggered and enter the error handling path.
In 2nd kernel, the default target for systemd is initrd.target, so we put kdump-capture.service in initrd.target.wants/ and by that, system will start kdump-capture as part of the boot process.
kdump.sh used to run in dracut-pre-pivot hook. Now kdump-capture.service is placed after dracut-pre-pivot.service and other dependencies are all copied from dracut-pre-pivot.service. So the start point of kdump.sh will be almost the same as it used to be.
I am assuming that this change does not break any of the debug options rd.memdebug or rd.break?
rd.break never worked in kdump context, since previously we disable dracut-emergency shell to get us always into kdump.sh with any interrupt.
Now if rd.break is specified, we will kick kdump error handler and do $DEFAULT_ACTION.
User couldn't use rd.debug in the past and now if they really want it they can specify "default shell" in kdump.conf. So I would say now the situation improved a little bit.
rd.memdebug on the other side works just fine.
Thanks WANG Chao