Fwd: Kexec support for PS3 (ppc64)

Geoff Levand geoffrey.levand at am.sony.com
Fri Mar 7 14:01:40 EST 2008


I maintain kexec for PS3, but have just done what was needed to
make it work for kboot.  I am not a kexec expert, and have
never tried to use kdump, or other features of kexec, only the
things needed for kboot.

On 03/06/2008 09:55 PM, Rajasekaran P wrote:
>> On Thu, Mar 06, 2008 at 04:55:04PM +0530, Rajasekaran Periyasamy
> wrote:
>> > Hi,
>> > I put a printk() in the early lines of early_parse_crashk() with
>> > KERN_EMERG, but not able to see that on the boot screen. I think the
>> > control is not transferred to early_parse_crashk() at all. With out
> this
>> > "crashkernel" argument, the same kernel boots up properly.

This kind of thing is what kboot uses, and is known to work:

  kexec -l -t elf-ppc64 --append='root=XXX video=YYY' /boot/vmlinux.strip
  kexec -e

I recommend you get it to work first.

>> Looks strange.
>> Could you please include more debug printks in the function
>> do_early_param in init/main.c to check whether early_parse_crashk is
>> called or not?

That won't work, since it is hanging before the video driver is up,
and you'll never see those.

> I've tried, but no result... Please have a look at the snapshot of boot
> process.
> I think the kernel is not at all getting initiated to boot up.

Your photo shows that the first stage kernel has gone down, and it
hung up either very late going down, or early coming back up in the
second stage.

> Whatever you see in the snapshot,
> 1. "Modified cmdline:" is from
> "kexec-tools-1.101/kexec/arch/ppc64/fs2dt.c" putnode() function,

I guess that version of exec-tools (kexec-tools-1.101) may be too old,
and doesn't have the bug-fixes I needed to make to kexec-tools for it
to work with PS3.  Those fixes were merged into kexec-tools several
month ago.

I recommend you try with an up-to-date kexec from here:


I have tested both 32 and 64 bit builds.

I also recommend to start with a known good second stage kernel.
I tested Linux 2.6.25-rc4 built with ps3_defconfig and it works.
Do not use an initrd at first try.


More information about the kexec mailing list