<HTML>
<HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="OPENWEBMAIL" name=GENERATOR>
</HEAD>
<BODY bgColor=#ffffff>
Hi All
<br />
<br />
I have a MPC8560 based custom board with linux 2.6.10 as OS and U-BOOT as a bootloader.
<br />
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.
<br />
<br />
In order to reduce the bootup time i was planning to use kexec to reboot the OS. My version of kexec is
<br />
./kexec -v
<br />
kexec 1.101 released 15 February 2005
<br />
<br />
I tried to load the OS+Rootfile Filesystem (with U-BOOT header) but it gave following output
<br />
<br />
./kexec -l ./ubImage --append=\"`cat /proc/cmdline`\"
<br />
Invalid memory range : (nil) - (nil)
<br />
Could not get memory layout
<br />
<br />
My question is
<br />
<br />
Does Kexec understand u-boot images ? Or I am missing some parameters
<br />
<br />
I searched the Internet forum for this and got the guideline that os
and initrd should be given seperately
(---initrd=/boot/vmlinuz-rootfs.img)
<br />
<br />
but the kexec does not recognize such an option and its help does not show any such option (--initrd)
<br />
<br />
# ./kexec --help
<br />
kexec 1.101 released 15 February 2005
<br />
Usage: kexec [OPTION]... [kernel]
<br />
Directly reboot into a new kernel
<br />
<br />
-h, --help Print this help.
<br />
-v, --version Print the version of kexec.
<br />
-f, --force Force an immediate kexec, don't call shutdown.
<br />
-x, --no-ifdown Don't bring down network interfaces.
<br />
(if used, must be last option specified)
<br />
-l, --load Load the new kernel into the current kernel.
<br />
-p, --load-panic Load the new kernel for use on panic.
<br />
-u, --unload Unload the current kexec target kernel.
<br />
-e, --exec Execute a currently loaded kernel.
<br />
-t, --type=TYPE Specify the new kernel is of this type.
<br />
--mem-min=<addr> Specify the lowest memory addres to load code into.
<br />
--mem-max=<addr> Specify the highest memory addres to load code into.
<br />
<br />
Supported kernel file types and options:
<br />
elf-ppc
<br />
--command-line=STRING Set the kernel command line to STRING.
<br />
--append=STRING Set the kernel command line to STRING.
<br />
--gamecube=1|0 Enable/disable support for ELFs with changed
<br />
addresses suitable for the GameCube.
<br />
dol-ppc
<br />
-d, --debug Enable debugging to help spot a failure.
<br />
--command-line=STRING Set the kernel command line to STRING.
<br />
--append=STRING Set the kernel command line to STRING.
<br />
Architecture options:
<br />
the following parameters should be specified:
<br />
--start-memory-range=<addr>
<br />
--end-memory-range=<addr>
<br />
<br />
for this reason i was trying with a combined OS and Rootfs image
<br />
<br />
my kernel command line is
<br />
<br />
# cat /proc/cmdline
<br />
console=ttyCPM,9600n8 wdt=1 ip=dhcp root=/dev/ram0 rw crashkernel=128M@16M
<br />
<br />
and I have compiled the kernel with all option related to KEXEC on.
<br />
<br />
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.
<br />
<br />
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?
<br />
<br />
with regards,
<br />
<br />
Deepak Gaur
<br />
</BODY>
</HTML>