[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] kexec and kdump on Xen??

Daniel Kiper wrote on 2014-04-16:
> On Tue, Apr 15, 2014 at 02:13:56AM +0000, Zhang, Yang Z wrote:
>> Daniel Kiper wrote on 2014-04-14:
>>> Hey,
>>> On Mon, Apr 14, 2014 at 08:15:35AM +0000, Zhang, Yang Z wrote:
>>>> Daniel Kiper wrote on 2014-04-14:
>>>>> Hi,
>>>>> On Mon, Apr 14, 2014 at 03:38:26AM +0000, Zhang, Yang Z wrote:
>>>>>> Hi Daniel
>>>>>> Are kexec/kdump supported by latest Xen + upstream Linux?
>>>>>> I remember it only works with xen+2.6.18 linux. I know you are
>>>>>> working on enable it. So I wonder to know what the current status is.
>>> Thanks.
>>>>> Xen 4.4 has new kexec implementation written by David Vrabel.
>>>>> It does not require any specific Linux Kernel version because
>>>>> this implementation is self contained. However, please do not
>>>>> forget to use
>>>> Cool..
>>>>> latest stable version of kexec-tools too.
>>>> Is there any BKM to use it? I saw an old wiki page but not sure
>>>> whether it is still suitable.
>>> I assume that you are asking about kexec/kdump support in dom0.
>>> Just build kexec-tools with Xen support enabled (you must provide
>>> relevant Xen header files and libraries).
>>> Then add crashkernel argument to Xen (e.g. crashkernel=512m@64m)
>>> and reboot machine. Use kexec-tools like on bare metal machines.
>> I am trying to kexec from Xen to Linux. But it fails to work.
>> ./kexec -l /boot/vmlinuz-2.6.32-358.el6.x86_64
> What about --append or --command-line?
>> kexec_load failed: Invalid argument
>> entry       = 0x7fff6760 flags = 0x3e0000
>> nr_segments = 3
>> segment[0].buf   = 0x138f660
>> segment[0].bufsz = 0x3641
>> segment[0].mem   = 0x3000
>> segment[0].memsz = 0x4000
>> segment[1].buf   = 0x7fc68badf610
>> segment[1].bufsz = 0x3d8110
>> segment[1].mem   = 0x1000000
>> segment[1].memsz = 0x3d9000
>> segment[2].buf   = 0x1387540
>> segment[2].bufsz = 0x80e0
>> segment[2].mem   = 0x7fff6000
>> segment[2].memsz = 0xa000
> Could you configure kexec-tools in following way:
> ./configure CFLAGS=-DDEBUG
> Then build it as usual.
>> Here is my environment:
>> Xen version: latest Xen
>> Xen boot command:
>>      kernel (hd0,0)/boot/xen.gz dom0_mem=4096M loglvl=all
>> guest_loglvl=all
> conring_size=4M crashkernel=128M@64M
>>     module (hd0,0)/boot/vmlinuz-xen o
> root=UUID=03a5e7c4-b8d0-45b4-a090-c34b06821cea pci=noaer max_loop=64
> 3 debug
>>     module (hd0,0)/boot/initrd-xen.img kexec version with Xen enabled:
>> kexec-tools 2.0.6 released 18 April 2014
>> Also, it shows error when trying to kexec (Xen -> Xen) ./kexec -l
>> /boot/xen.gz Segmentation fault (core dumped)
> We were focusing more on kdump than on other scenarios.
> I suppose that kexec-tools assume that this compressed ELF file is
> Linux Kernel and tries load it as usual which of course is completely
> wrong. You should load Xen with at least "-t multiboot-x86" argument (read 
> help printed by kexec).
> However, I am not sure that this loader is actively maintained and works.
> Daniel

Thanks for your comments.

After investigation, I found some bugs (One is the segment overlap check 
failure and another one is related to x2apic). With some workarounds, now I am 
able to kexec from Xen into Linux.
But it still fails to run kdump(Xen->linux). I add some debug messages in the 
key code path. It shows kexec_reloc() will cause machine reboot. Is it a known 

BTW: Have you ever tried kdump(Xen->linux) successfully? If yes, can you share 
some BKMs? Thanks.

Best regards,

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.