kexec works well with "-l" but not working with "-p"

os user gnusercn at gmail.com
Wed Jun 10 04:43:06 PDT 2015


Hi experts,

I have a problem when using kexec-tools on freescale powerpc P1014E.

I have 256MB memory and reserved 78MB for crashkernel.
The cmdline for production kernel is,

bver=0.0.10 root=/dev/ram rw console=ttyS0,115200 crashkernel=78M


I used below command to load crash kernel into memory.
/mnt/uspace/abc/kexec -d -l /mnt/uspace/abc/vmlinux.z.img \
--initrd=/mnt/uspace/abc/ramdisk.img.gz \
--append="root=/dev/ram1 rw console=ttyS0,115200 1 maxcpus=1
noirqdistrib reset_devices"

Then I used "kexec -e" to execute the crash kernel.
The crash kernel works *well* and I can enter busybox after the crash
kernel is up.


But when I used below command to load crash kernel into memory for
panic catching,
/mnt/uspace/abc/kexec -d -p /mnt/uspace/abc/vmlinux.z.img \
--initrd=/mnt/uspace/abc/ramdisk.img.gz \
--append="root=/dev/ram1 rw console=ttyS0,115200 1 maxcpus=1
noirqdistrib reset_devices"

and tried to trigger panic by "echo c > /proc/sysrq",

system hung after "Bye!" was printed to console.

I attached the debug output of "kexec -d -l" and "kexec -d -p".

Can someone please help here or point me a correct place to post the question?

Thanks.

BR
-------------- next part --------------
kernel: 0x4802f008 kernel_size: 0x40da44
0000000000000000-0000000010000000 : 0
get base memory ranges:1
sym: sha256_starts info: 12 other: 00 shndx: 1 value: 9a4 size: b8
sym: sha256_starts value: 4229a4 addr: 422018
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 427a78 addr: 42201e
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 427a78 addr: 422022
sym: sha256_update info: 12 other: 00 shndx: 1 value: 53dc size: 188
sym: sha256_update value: 4273dc addr: 42203c
sym: sha256_finish info: 12 other: 00 shndx: 1 value: 5564 size: 4a0
sym: sha256_finish value: 427564 addr: 422054
sym:     memcmp info: 12 other: 00 shndx: 1 value: 66c size: 40
sym: memcmp value: 42266c addr: 422064
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a04 addr: 422076
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a04 addr: 42207e
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 422514 addr: 422084
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a24 addr: 42208a
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a24 addr: 42208e
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 422514 addr: 422094
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a34 addr: 42209a
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a34 addr: 42209e
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 422514 addr: 4220b0
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a3c addr: 4220c2
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a3c addr: 4220c6
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 422514 addr: 4220cc
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a40 addr: 4220d2
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a40 addr: 4220d6
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 422514 addr: 4220dc
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 427a78 addr: 4220e2
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 427a78 addr: 4220e6
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 422514 addr: 422100
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a3c addr: 42210e
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a3c addr: 422112
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 422514 addr: 422118
sym: _rest32gpr_29_x info: 12 other: 00 shndx: 1 value: 904 size: 0
sym: _rest32gpr_29_x value: 422904 addr: 422124
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a50 addr: 42212e
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a50 addr: 422136
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 422514 addr: 422140
sym: setup_arch info: 12 other: 00 shndx: 1 value: 994 size: 4
sym: setup_arch value: 422994 addr: 422144
sym: verify_sha256_digest info: 12 other: 00 shndx: 1 value: 0 size: 128
sym: verify_sha256_digest value: 422000 addr: 422148
sym: post_verification_setup_arch info: 12 other: 00 shndx: 1 value: 998 size: 4
sym: post_verification_setup_arch value: 422998 addr: 422158
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a64 addr: 422176
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 427a64 addr: 42218e
sym:    putchar info: 12 other: 00 shndx: 1 value: 9a0 size: 4
sym: putchar value: 4229a0 addr: 4221c0
sym:    putchar info: 12 other: 00 shndx: 1 value: 9a0 size: 4
sym: putchar value: 4229a0 addr: 42221c
sym:  __lshrdi3 info: 10 other: 00 shndx: 1 value: 970 size: 0
sym: __lshrdi3 value: 422970 addr: 422344
sym:    putchar info: 12 other: 00 shndx: 1 value: 9a0 size: 4
sym: putchar value: 4229a0 addr: 4224dc
sym: _rest32gpr_19_x info: 12 other: 00 shndx: 1 value: 8dc size: 0
sym: _rest32gpr_19_x value: 4228dc addr: 422510
sym:   vsprintf info: 12 other: 00 shndx: 1 value: 16c size: 3a8
sym: vsprintf value: 42216c addr: 422568
sym:   vsprintf info: 12 other: 00 shndx: 1 value: 16c size: 3a8
sym: vsprintf value: 42216c addr: 4225c4
sym: my_thread_ptr info: 11 other: 00 shndx: 5 value: 10 size: 4
sym: my_thread_ptr value: 427be8 addr: 4227be
sym: my_thread_ptr info: 11 other: 00 shndx: 5 value: 10 size: 4
sym: my_thread_ptr value: 427be8 addr: 4227c2
sym:      stack info: 11 other: 00 shndx: 5 value: 8 size: 4
sym: stack value: 427be0 addr: 4227ca
sym:      stack info: 11 other: 00 shndx: 5 value: 8 size: 4
sym: stack value: 427be0 addr: 4227ce
sym:  purgatory info: 12 other: 00 shndx: 1 value: 128 size: 44
sym: purgatory value: 422128 addr: 4227d8
sym:  dt_offset info: 11 other: 00 shndx: 5 value: c size: 4
sym: dt_offset value: 427be4 addr: 4227f2
sym:  dt_offset info: 11 other: 00 shndx: 5 value: c size: 4
sym: dt_offset value: 427be4 addr: 4227f6
sym:     kernel info: 11 other: 00 shndx: 5 value: 14 size: 4
sym: kernel value: 427bec addr: 42280e
sym:     kernel info: 11 other: 00 shndx: 5 value: 14 size: 4
sym: kernel value: 427bec addr: 422812
sym:     memcpy info: 12 other: 00 shndx: 1 value: 63c size: 30
sym: memcpy value: 42263c addr: 4274ac
sym: sha256_process info: 12 other: 00 shndx: 1 value: a5c size: 4980
sym: sha256_process value: 422a5c addr: 4274c0
sym: sha256_process info: 12 other: 00 shndx: 1 value: a5c size: 4980
sym: sha256_process value: 422a5c addr: 4274f8
sym:     memcpy info: 12 other: 00 shndx: 1 value: 63c size: 30
sym: memcpy value: 42263c addr: 427548
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 427b98 addr: 42766e
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 427b98 addr: 427672
sym: sha256_update info: 12 other: 00 shndx: 1 value: 53dc size: 188
sym: sha256_update value: 4273dc addr: 427678
sym: sha256_update info: 12 other: 00 shndx: 1 value: 53dc size: 188
sym: sha256_update value: 4273dc addr: 42768c
Modified cmdline:root=/dev/ram1 rw console=ttyS0,115200 1 maxcpus=1 noirqdistrib reset_devices 
reserve regions: 2
0: offset: 17fc000, size: 4000
1: offset: fe64000, size: 19b903
debug.dtb written
kexec_load: entry = 0x4226ac flags = 0x0
nr_segments = 4
segment[0].buf   = 0x4803f008
segment[0].bufsz = 0x3fd220
segment[0].mem   = (nil)
segment[0].memsz = 0x422000
segment[1].buf   = 0x1007b298
segment[1].bufsz = 0x5bf0
segment[1].mem   = 0x422000
segment[1].memsz = 0x6000
segment[2].buf   = 0x10080ef0
segment[2].bufsz = 0x3379
segment[2].mem   = 0x17fc000
segment[2].memsz = 0x4000
segment[3].buf   = 0x48830008
segment[3].bufsz = 0x19b903
segment[3].mem   = 0xfe64000
segment[3].memsz = 0x19c000

default_machine_kexec: Bye!
rnk: 0xcc7ff000
page_list: 0x0c7fd002
reboot_code_buffer_phys: 0x0c7ff000
image->start: 0x004226ac
-------------- next part --------------
kernel: 0x4802f008 kernel_size: 0x40da44
0000000000000000-0000000010000000 : 0
get base memory ranges:1
usable memory rgns size:1 base:0 size:6e00000
exclude_range sorted exclude_range[0] start:0, end:422000
setup_memory_ranges memory_range[0] start:422001, end:10000000
CRASH MEMORY RANGES
0000000000000000-0000000000010000
0000000000010000-0000000002000000
0000000006e00000-0000000010000000
get_crash_notes_per_cpu: crash_notes addr = 62816c, size = 1024
Elf header: p_type = 4, p_offset = 0x62816c p_paddr = 0x62816c p_vaddr = 0x0 p_filesz = 0x400 p_memsz = 0x400
vmcoreinfo header: p_type = 4, p_offset = 0x407190 p_paddr = 0x407190 p_vaddr = 0x0 p_filesz = 0x1000 p_memsz = 0x1000
Elf header: p_type = 1, p_offset = 0x2422000 p_paddr = 0x0 p_vaddr = 0xc0000000 p_filesz = 0x10000 p_memsz = 0x10000
Elf header: p_type = 1, p_offset = 0x10000 p_paddr = 0x10000 p_vaddr = 0xc0010000 p_filesz = 0x1ff0000 p_memsz = 0x1ff0000
Elf header: p_type = 1, p_offset = 0x6e00000 p_paddr = 0x6e00000 p_vaddr = 0xc6e00000 p_filesz = 0x9200000 p_memsz = 0x9200000
Command line after adding elfcorehdr:  elfcorehdr=37064K
sym: sha256_starts info: 12 other: 00 shndx: 1 value: 9a4 size: b8
sym: sha256_starts value: 24339a4 addr: 2433018
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 2438a78 addr: 243301e
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 2438a78 addr: 2433022
sym: sha256_update info: 12 other: 00 shndx: 1 value: 53dc size: 188
sym: sha256_update value: 24383dc addr: 243303c
sym: sha256_finish info: 12 other: 00 shndx: 1 value: 5564 size: 4a0
sym: sha256_finish value: 2438564 addr: 2433054
sym:     memcmp info: 12 other: 00 shndx: 1 value: 66c size: 40
sym: memcmp value: 243366c addr: 2433064
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a04 addr: 2433076
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a04 addr: 243307e
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 2433514 addr: 2433084
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a24 addr: 243308a
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a24 addr: 243308e
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 2433514 addr: 2433094
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a34 addr: 243309a
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a34 addr: 243309e
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 2433514 addr: 24330b0
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a3c addr: 24330c2
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a3c addr: 24330c6
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 2433514 addr: 24330cc
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a40 addr: 24330d2
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a40 addr: 24330d6
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 2433514 addr: 24330dc
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 2438a78 addr: 24330e2
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 2438a78 addr: 24330e6
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 2433514 addr: 2433100
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a3c addr: 243310e
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a3c addr: 2433112
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 2433514 addr: 2433118
sym: _rest32gpr_29_x info: 12 other: 00 shndx: 1 value: 904 size: 0
sym: _rest32gpr_29_x value: 2433904 addr: 2433124
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a50 addr: 243312e
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a50 addr: 2433136
sym:     printf info: 12 other: 00 shndx: 1 value: 514 size: 68
sym: printf value: 2433514 addr: 2433140
sym: setup_arch info: 12 other: 00 shndx: 1 value: 994 size: 4
sym: setup_arch value: 2433994 addr: 2433144
sym: verify_sha256_digest info: 12 other: 00 shndx: 1 value: 0 size: 128
sym: verify_sha256_digest value: 2433000 addr: 2433148
sym: post_verification_setup_arch info: 12 other: 00 shndx: 1 value: 998 size: 4
sym: post_verification_setup_arch value: 2433998 addr: 2433158
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a64 addr: 2433176
sym: .rodata.str1.4 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.4 value: 2438a64 addr: 243318e
sym:    putchar info: 12 other: 00 shndx: 1 value: 9a0 size: 4
sym: putchar value: 24339a0 addr: 24331c0
sym:    putchar info: 12 other: 00 shndx: 1 value: 9a0 size: 4
sym: putchar value: 24339a0 addr: 243321c
sym:  __lshrdi3 info: 10 other: 00 shndx: 1 value: 970 size: 0
sym: __lshrdi3 value: 2433970 addr: 2433344
sym:    putchar info: 12 other: 00 shndx: 1 value: 9a0 size: 4
sym: putchar value: 24339a0 addr: 24334dc
sym: _rest32gpr_19_x info: 12 other: 00 shndx: 1 value: 8dc size: 0
sym: _rest32gpr_19_x value: 24338dc addr: 2433510
sym:   vsprintf info: 12 other: 00 shndx: 1 value: 16c size: 3a8
sym: vsprintf value: 243316c addr: 2433568
sym:   vsprintf info: 12 other: 00 shndx: 1 value: 16c size: 3a8
sym: vsprintf value: 243316c addr: 24335c4
sym: my_thread_ptr info: 11 other: 00 shndx: 5 value: 10 size: 4
sym: my_thread_ptr value: 2438be8 addr: 24337be
sym: my_thread_ptr info: 11 other: 00 shndx: 5 value: 10 size: 4
sym: my_thread_ptr value: 2438be8 addr: 24337c2
sym:      stack info: 11 other: 00 shndx: 5 value: 8 size: 4
sym: stack value: 2438be0 addr: 24337ca
sym:      stack info: 11 other: 00 shndx: 5 value: 8 size: 4
sym: stack value: 2438be0 addr: 24337ce
sym:  purgatory info: 12 other: 00 shndx: 1 value: 128 size: 44
sym: purgatory value: 2433128 addr: 24337d8
sym:  dt_offset info: 11 other: 00 shndx: 5 value: c size: 4
sym: dt_offset value: 2438be4 addr: 24337f2
sym:  dt_offset info: 11 other: 00 shndx: 5 value: c size: 4
sym: dt_offset value: 2438be4 addr: 24337f6
sym:     kernel info: 11 other: 00 shndx: 5 value: 14 size: 4
sym: kernel value: 2438bec addr: 243380e
sym:     kernel info: 11 other: 00 shndx: 5 value: 14 size: 4
sym: kernel value: 2438bec addr: 2433812
sym:     memcpy info: 12 other: 00 shndx: 1 value: 63c size: 30
sym: memcpy value: 243363c addr: 24384ac
sym: sha256_process info: 12 other: 00 shndx: 1 value: a5c size: 4980
sym: sha256_process value: 2433a5c addr: 24384c0
sym: sha256_process info: 12 other: 00 shndx: 1 value: a5c size: 4980
sym: sha256_process value: 2433a5c addr: 24384f8
sym:     memcpy info: 12 other: 00 shndx: 1 value: 63c size: 30
sym: memcpy value: 243363c addr: 2438548
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 2438b98 addr: 243866e
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 2438b98 addr: 2438672
sym: sha256_update info: 12 other: 00 shndx: 1 value: 53dc size: 188
sym: sha256_update value: 24383dc addr: 2438678
sym: sha256_update info: 12 other: 00 shndx: 1 value: 53dc size: 188
sym: sha256_update value: 24383dc addr: 243868c
Modified cmdline:root=/dev/ram1 rw console=ttyS0,115200 1 maxcpus=1 noirqdistrib reset_devices elfcorehdr=37064K maxcpus=1 
reserve regions: 3
0: offset: 37fc000, size: 4000
1: offset: 2000000, size: 439000
2: offset: 6c64000, size: 19c000
debug.dtb written
kexec_load: entry = 0x24336ac flags = 0x1
nr_segments = 6
segment[0].buf   = 0x4803f008
segment[0].bufsz = 0x3fd220
segment[0].mem   = 0x2000000
segment[0].memsz = 0x422000
segment[1].buf   = 0x1007b488
segment[1].bufsz = 0x10000
segment[1].mem   = 0x2422000
segment[1].memsz = 0x10000
segment[2].buf   = 0x1007a468
segment[2].bufsz = 0x400
segment[2].mem   = 0x2432000
segment[2].memsz = 0x1000
segment[3].buf   = 0x1008ba90
segment[3].bufsz = 0x5bf0
segment[3].mem   = 0x2433000
segment[3].memsz = 0x6000
segment[4].buf   = 0x10091688
segment[4].bufsz = 0x33b9
segment[4].mem   = 0x37fc000
segment[4].memsz = 0x4000
segment[5].buf   = 0x48830008
segment[5].bufsz = 0x19b903
segment[5].mem   = 0x6c64000
segment[5].memsz = 0x19c000

default_machine_kexec: Bye!
rnk: 0xc2439000
page_list: 0x00000004
reboot_code_buffer_phys: 0x02439000
image->start: 0x024336ac


More information about the kexec mailing list