On Wed, Mar 18, 2026 at 09:55:29PM -0500, Bjorn Andersson wrote:
> On Mon, Mar 16, 2026 at 11:46:47PM +0530, Mukesh Ojha wrote:
> > On Sun, Mar 15, 2026 at 09:24:39PM -0500, Bjorn Andersson wrote:
> > > On Wed, Mar 11, 2026 at 01:45:44AM +0530, Mukesh Ojha wrote:
> [..]
> > > >, to get all the regions as
> > > > separate files.  The tool from the host computer will list the regions
> > > > in the order they were downloaded.
> > > > 
> > > > Once you have all the files simply use `cat` to put them all together,
> > > > in the order of the indexes.  For my kernel config and setup, here is my
> > > > cat command : (you can use a script or something, I haven't done that so
> > > > far):
> > > 
> > > So these need to be sorted in numerical order, by that number at the end
> > > of the file name?
> > > 
> > > Do you manually punch these in? How do we make this user friendly?
> > 
> > Yes, manually.. but I think we can do better. We could make
> > this more user‑friendly by using the section header and string table in
> > the md_KELF binary both of which existed in the earlier implementation.
> > Then, we can write an upstream‑friendly script that reads this KELF
> > metadata file, checks whether a binary with the registered name is
> > present, and stitches everything together to form a complete ELF that
> > the crash tool can consume.  Let me know if you have any suggestion..
> > 
> 
> Can we somehow identify that these regions belong to the minidump and
> teach QDL to build the ELF for us?

Raised PR for the QDL https://github.com/linux-msm/qdl/pull/243 which
does not use numerating order and we can completely drop.

With that PR, QDL will be generating minidump.elf .

And I checked the latest crash tool with no extra patching and just the
--minimal option (as we do not have everything in the minidump) and just
dmesg.


$ ./crash  --minimal minidump/vmlinux ./minidump/minidump.elf

crash 9.0.2++
Copyright (C) 2002-2026  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, 2020-2024  NEC Corporation
Copyright (C) 1999, 2002, 2007  Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, Inc.
Copyright (C) 2015, 2021  VMware, 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) 16.2
Copyright (C) 2024 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 "--host=x86_64-pc-linux-gnu 
--target=aarch64-elf-linux".
Type "show configuration" for configuration details.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...

NOTE: minimal mode commands: log, dis, rd, sym, eval, set, extend and exit

crash> log
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x512f0030]
[    0.000000] Linux version 7.1.0-rc2-next-20260504-00228-g2595b97d6061 
(@f134cd6ce783) (aarch64-linux-gnu-gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, 
GNU ld (GNU Binutils for Ubuntu) 2.42) #11 SMP PREEMPT Fri May 15 09:34:41 UTC 
2026
[    0.000000] KASLR disabled on command line
[    0.000000] random: crng init done
[    0.000000] Machine model: Qualcomm Technologies, Inc. XXXX
[    0.000000] earlycon: qcom_geni0 at MMIO 0x0000000000a9c000 (options '')
[    0.000000] printk: legacy bootconsole [qcom_geni0] enabled
[    0.000000] efi: UEFI not found.
...
..


[   48.488296] sysrq: Trigger a crash
[   48.492004] Kernel panic - not syncing: sysrq triggered crash
[   48.497944] CPU: 3 UID: 0 PID: 363 Comm: sh Tainted: G        W           
7.1.0-rc2-next-20260504-00228-g2595b97d6061 #11 PREEMPT
[   48.510055] Tainted: [W]=WARN
[   48.513140] Hardware name: Qualcomm Technologies, Inc. XXXX
[   48.519699] Call trace:
[   48.522276]  show_stack+0x18/0x24 (C)
[   48.526089]  dump_stack_lvl+0x34/0x8c
[   48.529903]  dump_stack+0x18/0x24
[   48.533366]  vpanic+0x47c/0x4dc
[   48.536646]  do_panic_on_target_cpu+0x0/0x1c
[   48.541078]  sysrq_reset_seq_param_set+0x0/0x94
[   48.545788]  __handle_sysrq+0xd4/0x1b8
[   48.549679]  write_sysrq_trigger+0xc0/0xd0
[   48.553930]  proc_reg_write+0x9c/0xf0
[   48.557737]  vfs_write+0xd4/0x358
[   48.561187]  ksys_write+0x6c/0x104
[   48.564724]  __arm64_sys_write+0x1c/0x28
[   48.568809]  invoke_syscall+0x54/0x10c
[   48.572704]  el0_svc_common.constprop.0+0xc0/0xe0
[   48.577578]  do_el0_svc+0x1c/0x28
[   48.581025]  el0_svc+0x38/0x138
[   48.584317]  el0t_64_sync_handler+0xa0/0xe4
[   48.588660]  el0t_64_sync+0x198/0x19c
[   48.592474] SMP: stopping secondary CPUs
[   48.796761] Kernel Offset: disabled
[   48.806510] Memory Limit: none
crash>

-- 
-Mukesh Ojha

Reply via email to