Hi,
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:
http://www.vergenet.net/linux/kexec/kexec-tools/
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> --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 used your tool using one intrd kernel running
Thanks in advance.
Paolo Cortesi.
_______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
