On Wed, May 20, 2020 at 10:19 PM Siamak Nazari <siamaknazari(a)yahoo.com> wrote:
Apologies if this the wrong place to ask this question. If in fact this is the wrong
alias to post this question, appreciate a pointer in the right direction. We have been
trying to get crash working on a live kernel (aarch64) but have not been able to.
Based on the crash help text:
--machdep option=value
Pass an option and value pair to machine-dependent code. These
architecture-specific option/pairs should only be required in
very rare circumstances:
ARM64:
phys_offset=<physical-address>
kimage_voffset=<kimage_voffset-value>
max_physmem_bits=<value>
vabits_actual=<value>
We probably need to specify the proper values for phys_offset and kimage_voffset.
kimage_offset is in /proc/kallsyms, but not phys_offset. It is just not clear where the
values should come from. I did try using the value of kimage_offset found in
/proc/kallsyms but that did not help. It is not clear where one needs to get the values
from (and in fact a casual reading of the crash source seems to try to compute the values
automatically)
Here is some additional information:
# uname -a
Linux bringup 5.1.0 #1 SMP Fri Oct 11 17:01:55 UTC 2019 aarch64 GNU/Linux
# crash -s
crash: /proc/kcore: No such file or directory
Seem like your kernel is not configured with CONFIG_PROC_KCORE
(/proc/kcore support).
With /proc/kcore you don't need to supply any additional options &
values to crash.
WARNING: could not find MAGIC_START!
WARNING: cannot read linux_banner string
crash: /boot/vmlinux-5.1.0 and /dev/mem do not match!
This is with additional debugging turned on:
# ./crash --version
crash 7.2.8++
Copyright (C) 2002-2020 Red Hat, Inc.
Copyright (C) 2004, 2005, 2006, 2010 IBM Corporation
Copyright (C) 1999-2006 Hewlett-Packard Co
Copyright (C) 2005, 2006, 2011, 2012 Fujitsu Limited
Copyright (C) 2006, 2007 VA Linux Systems Japan K.K.
Copyright (C) 2005, 2011 NEC Corporation
Copyright (C) 1999, 2002, 2007 Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. Enter "help copying" to see the conditions.
This program has absolutely no warranty. Enter "help warranty" for details.
GNU gdb (GDB) 7.6
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <
http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-unknown-linux-gnu".
Here is crash running with -d flag:
find_booted_kernel: check: /boot/vmlinux-5.1.0
find_booted_kernel: found: /boot/vmlinux-5.1.0
get_live_memory_source: /dev/mem
/proc/version:
Linux version 5.1.0 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP Fri Oct 11
17:01:55 UTC 2019
/boot/vmlinux-5.1.0:
Linux version 5.1.0 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP Fri Oct 11
17:01:55 UTC 2019
crash: /proc/kcore: No such file or directory
readmem: read_dev_mem() -> /dev/mem
VA_BITS: 48
kimage_voffset: fffeffff88000000
phys_offset: 0
physvirt_offset: 800000000000
gdb --quiet /boot/vmlinux-5.1.0
GETBUF(328 -> 0)
GETBUF(1500 -> 1)
FREEBUF(1)
FREEBUF(0)
<readmem: ffff0000109c63b8, KVADDR, "kernel_config_data", 32768, (ROE),
aaaad82d4630>
<read_dev_mem: addr: ffff0000109c63b8 paddr: 889c63b8 cnt: 3144>
<read_dev_mem: addr: ffff0000109c7000 paddr: 889c7000 cnt: 4096>
<read_dev_mem: addr: ffff0000109c8000 paddr: 889c8000 cnt: 4096>
<read_dev_mem: addr: ffff0000109c9000 paddr: 889c9000 cnt: 4096>
<read_dev_mem: addr: ffff0000109ca000 paddr: 889ca000 cnt: 4096>
<read_dev_mem: addr: ffff0000109cb000 paddr: 889cb000 cnt: 4096>
<read_dev_mem: addr: ffff0000109cc000 paddr: 889cc000 cnt: 4096>
<read_dev_mem: addr: ffff0000109cd000 paddr: 889cd000 cnt: 4096>
<read_dev_mem: addr: ffff0000109ce000 paddr: 889ce000 cnt: 952>
<readmem: ffff0000109c63b0, KVADDR, "kernel_config_data MAGIC_START", 8,
(ROE), ffffe6a6d5a0>
<read_dev_mem: addr: ffff0000109c63b0 paddr: 889c63b0 cnt: 8>
WARNING: could not find MAGIC_START!
GETBUF(328 -> 0)
FREEBUF(0)
GETBUF(8 -> 0)
<readmem: ffff000010e1c6d8, KVADDR, "possible", 8, (ROE|Q),
aaaacd15f258>
<read_dev_mem: addr: ffff000010e1c6d8 paddr: 88e1c6d8 cnt: 8>
cpu_possible_mask: cpus: (none)
<readmem: ffff000010e1c6d0, KVADDR, "present", 8, (ROE|Q), aaaacd15f258>
<read_dev_mem: addr: ffff000010e1c6d0 paddr: 88e1c6d0 cnt: 8>
cpu_present_mask: cpus: (none)
<readmem: ffff000010e1c6c8, KVADDR, "online", 8, (ROE|Q), aaaacd15f258>
<read_dev_mem: addr: ffff000010e1c6c8 paddr: 88e1c6c8 cnt: 8>
cpu_online_mask: cpus: (none)
<readmem: ffff000010e1c6e0, KVADDR, "active", 8, (ROE|Q), aaaacd15f258>
<read_dev_mem: addr: ffff000010e1c6e0 paddr: 88e1c6e0 cnt: 8>
cpu_active_mask: cpus: (none)
FREEBUF(0)
GETBUF(328 -> 0)
FREEBUF(0)
GETBUF(328 -> 0)
FREEBUF(0)
GETBUF(328 -> 0)
FREEBUF(0)
<readmem: ffff000010ef8150, KVADDR, "shadow_timekeeper xtime_sec", 8, (ROE),
ffffe6a650b8>
<read_dev_mem: addr: ffff000010ef8150 paddr: 88ef8150 cnt: 8>
xtime timespec.tv_sec: 0: Wed Dec 31 16:00:00 1969
<readmem: ffff000010e2533c, KVADDR, "init_uts_ns", 390, (ROE),
aaaacd0fd194>
<read_dev_mem: addr: ffff000010e2533c paddr: 88e2533c cnt: 390>
utsname:
sysname:
nodename:
release:
version:
machine:
domainname:
base kernel version: 0.0.0
<readmem: ffff0000109b0098, KVADDR, "accessible check", 8, (ROE|Q),
ffffe6a64770>
<read_dev_mem: addr: ffff0000109b0098 paddr: 889b0098 cnt: 8>
<readmem: ffff0000109b0098, KVADDR, "read_string characters", 1499, (ROE|Q),
ffffe6a64ae8>
<read_dev_mem: addr: ffff0000109b0098 paddr: 889b0098 cnt: 1499>
WARNING: cannot read linux_banner string
/proc/version:
Linux version 5.1.0 (oe-user@oe-host) (gcc version 7.3.0 (GCC)) #1 SMP Fri Oct 11
17:01:55 UTC 2019
linux_banner:
crash: /boot/vmlinux-5.1.0 and /dev/mem do not match!
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility