Hi All

I have a MPC8560 based custom board with linux 2.6.10 as OS and U-BOOT as a bootloader.
The compressed OS and rootfilesytem are combined in one multi image (ubImgae)and it resides in a flash partition as raw data. Bootloader is able to load the image decompress it and execute it . The sytem comes up properly.

In order to reduce the bootup time i was planning to use kexec to reboot the OS. My version of kexec is
./kexec -v
kexec 1.101 released 15 February 2005

I tried to load the OS+Rootfile Filesystem (with U-BOOT header) but it gave following output

./kexec -l ./ubImage --append=cat /proc/cmdline
Invalid memory range : (nil) - (nil)
Could not get memory layout

My question is

Does Kexec understand u-boot images ? Or I am missing some parameters

I searched the Internet forum for this and got the guideline that os and initrd should be given seperately (---initrd=/boot/vmlinuz-rootfs.img)

but the kexec does not recognize such an option and its help does not show any such option (--initrd)

# ./kexec --help
kexec 1.101 released 15 February 2005
Usage: kexec [OPTION]... [kernel]
Directly reboot into a new kernel

-h, --help Print this help.
-v, --version Print the version of kexec.
-f, --force Force an immediate kexec, don't call shutdown.
-x, --no-ifdown Don't bring down network interfaces.
(if used, must be last option specified)
-l, --load Load the new kernel into the current kernel.
-p, --load-panic Load the new kernel for use on panic.
-u, --unload Unload the current kexec target kernel.
-e, --exec Execute a currently loaded kernel.
-t, --type=TYPE Specify the new kernel is of this type.
--mem-min=<addr> Specify the lowest memory addres to load code into.
--mem-max=<addr> Specify the highest memory addres to load code into.

Supported kernel file types and options:
elf-ppc
--command-line=STRING Set the kernel command line to STRING.
--append=STRING Set the kernel command line to STRING.
--gamecube=1|0 Enable/disable support for ELFs with changed
addresses suitable for the GameCube.
dol-ppc
-d, --debug Enable debugging to help spot a failure.
--command-line=STRING Set the kernel command line to STRING.
--append=STRING Set the kernel command line to STRING.
Architecture options:
the following parameters should be specified:
--start-memory-range=<addr>
--end-memory-range=<addr>

for this reason i was trying with a combined OS and Rootfs image

my kernel command line is

# cat /proc/cmdline
console=ttyCPM,9600n8 wdt=1 ip=dhcp root=/dev/ram0 rw crashkernel=128M

and I have compiled the kernel with all option related to KEXEC on.

Please help me in understand the method for using kexec with U-BOOT as a bootloader. The ARCH is ppc in kernel 2.6.10.

Do i need to use kexec with uncompressed OS image , but as the tool kexec does not recognize --initrd option, how to inform kexec abt it?

with regards,

Deepak Gaur