Re: [PATH 0/1] Kexec jump - v2 - the first step to kexec based hibernation

Pavel Machek
2007-07-31T11:04:58Z

Hi!

> 3. Boot kernel compiled for normal usage, the reserved crash kernel
> memory region must be added to kernel command line as following:
>
> crashkernel=<XX>M@<XX>M
>
> Where, <XX> should be replaced by the real memory size and
> position.

I used crashkernel=64M@64M .

> 4. Load kernel compiled for hibernating usage as a crashdump kernel
> with kexec, the same kernel as that of 3 can be used if
> CONFIG_RELOCATABLE=y is selected. The kernel command line option as
> following must be appended to kernel command line.
>
> kexec_jump_buf_pfn=`cat /sys/kernel/kexec_jump_buf_pfn`
>
> For example, the shell command line can be as follow:
>
> kexec -p /boot/vmlinux --args-linux --append="root=/dev/hdb signal
> kexec_jump_buf_pfn=`cat /sys/kernel/kexec_jump_buf_pfn`"

I think I followed the instructions closely. Now I'm trying to do

kexec -p /data/l/linux/vmlinux --args-linux --append="init=/bin/bash
kexec_jump_buf_pfn=`cat /sys/kernel/kexec_jump_buf_pfn`"

but it tells me:

Invalid memory segment 0x100000 - 0x7a0fff

(and nothing in dmesg)

If I try to load bzImage (corresponding to vmlinux I tried to use), I
get:

root@amd:~# kexec -p /data/l/linux/arch/i386/boot/bzImage --append="init=/bin/bash kexec_jump_buf_pfn=`cat /sys/kernel/kexec_jump_buf_pfn`"
Could not find a free area of memory of 9000 bytes...
locate_hole failed
root@amd:~#

What am I doing wrong?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html