How do i see printf output from the purgatory code?

Jay Lan jlan at sgi.com
Fri Aug 29 17:23:05 EDT 2008


Bernhard Walle wrote:
> Hi,
> 
> * Simon Horman [2008-08-29 15:19]:
>> On Thu, Aug 28, 2008 at 05:14:04PM -0700, Jay Lan wrote:
>>> Specifically, an ia64.
>>>
>>> I added printf() to purgatory-ia64.c, compiled, and executed
>>> the kexec command from a shell window (ie, not from a script), but
>>> i still did not see the printf i put in.
>>>
>>> Thanks for help in advance!
>> IIRC, the printf output in purgatory only shows on the VGA console.
> 
> No, you just have to call kexec with right parameters:
> 
>        --console-serial
>               Enable the serial console.
> 
>        --serial=port
>               Specify the serial port for debug output.
> 
>        --serial-baud=baud_rate
>               Specify the baud rate of the serial port.
> 
> However, I don't know if it works on IA64, especially with SGI consoles
> I think one would have to patch kexec.
> 
> Also, don't use --noio (which is the default on SUSE on IA64 because
> we had problems on some machines without that parameter).

This is bad news. We need --noio option. :(

I have a 2.6.27 kernel that the kdump kernel would panic on boot,
depending on the physical address of 'physical_node_map'. If it
is located at the higher half of a 0xffff range, the instruction
in build_cnode_tables() in arch/ia64/sn/kernel/setup.c:
   memset(physical_node_map, -1, sizeof(physical_node_map));
would overwrite kern_memmap array of the kdump kernel.

It was so because, i think, the purgatory code of kexec
creates a boot efi_memmap with memory regions overlaped.
The above memset() put 0xff to part of memory of next region.

I am trying to debug the purgatory code :(

- jay


> 
> 
> Bernhard




More information about the kexec mailing list