Skip to contentSkip to conversation

KEXEC on Montavista PPC LINUX (2.6.10) with U-BOOT

DISCUSSION Deepak Gaur 2 participants 2 messages Mar 22, 2011 – Mar 24, 2011

Subsystems (2)
lore
Share & tools
lore
#1 lore raw

Deepack,

it's better to read docs which came with BSP. If your kernel is 2.6.10 then kexec tools there should be a little bit different with main line (I synced them later). So probably you need --start-memory-range=<addr> --end-memory-range=<addr> to be set. It's better to ask support if something does not work out of box in your build. I think people here can't help you because they don't know internals of environment you have (Montavista PPC LINUX).

Maxim.

2011/3/22 Deepak Gaur <[email protected]>:

Quoted 89 lines

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
(quoted diff) +0 -4
-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)

(quoted diff) +0 -7
-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@16M

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

_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Signature · 7 lines
Best regards,
Maxim Uvarov

_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec