Fwd: Kexec support for PS3 (ppc64)

Rajasekaran P rajasekaran83 at gmail.com
Tue Mar 11 06:25:52 EDT 2008


Hi Geoff,
Thanks for your information.

I used latest kexec tools with 2.6.23 kernel built with ps3_defconfig.
This kernel boots normally on PS3. But when I  add "crashkernel" argument,
it goes on hang.


Please have a look at the following command outputs:

# kexec -v

kexec-tools-testing 20080227 released 27th February 2008



# kexec --command-line="video=ps3fb:mode:166 rhgb root=/dev/ps3da3 " \

--initrd=/boot/initrd-2.6.23.img \

-l /boot/vmlinux-2.6.23

# kexec -e

 >>>> THIS WORKS FINE, I MEAN, THE NEW KERNEL IS BOOTING UP WITH GUI (FC8)


# kexec --command-line="video=ps3fb:mode:166 rhgb root=/dev/ps3da3
crashkernel=128M at 32M" \

--initrd=/boot/initrd-2.6.23.img \

-l /boot/vmlinux-2.6.23


get memory ranges:1

Modified cmdline:video=ps3fb:mode:166 rhgb root=/dev/ps3da3 crashkernel=
128M at 32M

segment[0].mem:0x586000 memsz:5787648

segment[1].mem:0xb0b000 memsz:36864

segment[2].mem:0xb14000 memsz:3469312

segment[3].mem:0x7fff000 memsz:4096



# umount –a

umount: /: device is busy

# taskset 1 kexec –e



Nothing happens after this. As you said earlier in your mail, I am not
getting any PRINTK outputs from kernel on screen.

Can anybody help me to find out any other alternate ways to debug?

Thanks in advance,

Rajasekaran


On Fri, Mar 7, 2008 at 12:01 PM, Geoff Levand <geoffrey.levand at am.sony.com>
wrote:

> Hi,
>
> 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:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/horms/kexec-
> tools-testing.git
>
> 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.
>
> -Geoff
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.infradead.org/pipermail/kexec/attachments/20080311/2ac2b0f9/attachment.html 


More information about the kexec mailing list