kexec problem on SH platform nr 2

paolo.cortesi at paolo.cortesi at
Fri Feb 1 05:08:01 EST 2008

my name is Paolo Cortesi I'am working over one SH4 platform board ST71XX with linux kernel 2.6.17.

I need to spawn a new Linux kernel over the Linux Kernel which is running, without the overhead of boot firmware, and I think that your kexec-tool could be suitable for this target.
I try to use kexec following the steps:

1) I select the CONFIG_KEXEC option while building the runnig kernel.

2) I download your last recent version of kexec-tool which support SH4 platform

   I used your .gz reachable by link:

3) I launch the the configure by my script:

	export CC=sh4-linux-uclibc-gcc
	export LD=sh4-linux-uclibc-ld
	export AR=sh4-linux-uclibc-ar
	export CFLAGS="-DSHLINUX -D__SHLINUX__ -Wall -O2 -ml -m4 -pipe -fomit-frame-pointer -fno-strict-aliasing"
	./configure --host=sh4-linux 

4) I cross compile. During compilation I comment the invoke of /*crash_setup_regs(&fixed_regs, regs);*/ procedure that's called in crash_kexec procedure of kernel/kexec.c file (I could not find any implementation of this procedure).

5) I launch the runnig kernel, which execute:
   kexec -l new_zImage --./kexec -l zImage --type=zImage-sh --append="command_line"
   kexec -e

Should be the wright procedure.

But I have one NULL pointer deferenced when it´s called the last assembler procedure
reboot_code_buffer (relocate_new_kernel) which is invoked in the kernel C procedure arch/sh/... machine_kexec.c

Have you got an idea of the problem? Have you ever run your tool using one intrd kernel running

Thanks in advance.

Paolo Cortesi.

More information about the kexec mailing list