Hi Bhupesh,
-----Original Message-----
> Just FYI, with respect to the System.map file, the following
Dave's post
> would be helpful:
>
https://www.redhat.com/archives/crash-utility/2018-June/msg00002.html
>
> If you have the vmlinux corresponding to a running kernel, you don't need
> the System.map file.
Indeed, I remember discussing this with Dave A. some months back.
Infact with newer KASLR enabled kernels it makes little sense to use
System.map file as it contains the non-relocated symbol values that
were compiled into the vmlinux file - that's why I suggested just to
use to the vmlinux and vmcore file as an arguments while invoking the
crash tool to Patrick.
However, going back to the discussion I had with Dave A., I think the
main point of confusion was the 'crash_whitepaper' which is still
located at [1], and which provides the following example to invoke the
crash utility with the System.map file, vmlinux and vmcore
combination:
Examples when running on a dumpfile:
$ crash /boot/System.map vmlinux.dbg vmcore
I think while this was ok for older kernels which did not support
KASLR, for newer kernels this needs an update.
I am trying to see if I can modify the 'crash_whitepaper' and push the
same to github, so that users are not confused with the System.map
option.
What's your views on the same? Please let me know.
[1].
https://crash-utility.github.io/crash_whitepaper.html
There are several command lines with System.map in "4. Invocation" chapter and
I think that the ones in "RHEL2.1 Kernels (or kernels built without -g flag)"
section are no problem because the reason why it's needed is explained well.
The others in the "crash -h" output in "Invocation output" section
might be
a little confusing as you say if they see only the -S option's explanation..
I think it would be fine to omit the part of the output below the [mapfile]
argument and itself because the output looks to be intended almost only to
introduce the "crash -h" option. Then users see the current crash -h output
which doesn't have command lines with System.map. So, for instance:
diff --git a/crash_whitepaper.html b/crash_whitepaper.html
index 9b2e88c8acb4..7cb2608e6062 100644
--- a/crash_whitepaper.html
+++ b/crash_whitepaper.html
@@ -1166,7 +1166,8 @@ Usage:
file. If the [dumpfile] argument is not entered, the session will be
invoked on the live system using /dev/mem, which usually requires root
privileges.
-
+...
+<!-- Omit this part so that users don't use System.map needlessly.
[mapfile]
If the live system kernel, or the kernel from which the [dumpfile]
was derived, was not compiled with the -g switch, then the additional
@@ -1215,7 +1216,7 @@ Usage:
[-d num]
Set crash debug level [num]. The higher the number, the more debug data
will be printed during crash runtime.
-
+-->
</pre>
</td>
</tr>
How about this?
Thanks,
Kazu