On 2020-11-19, HAGIO KAZUHITO(萩尾 一仁) <[email protected]> wrote: > From: John Ogness <[email protected]> > > Linux 5.10 introduces a new lockless ringbuffer. The new ringbuffer > is structured completely different to the previous iterations. > Add support for retrieving the ringbuffer from debug information > and/or using vmcoreinfo. The new ringbuffer is detected based on > the availability of the "prb" symbol. > > Signed-off-by: John Ogness <[email protected]> > Signed-off-by: Kazuhito Hagio <[email protected]> > --- > I've updated John's RFC makedumpfile patch to match 5.10-rc4 kernel. > Changes from the RFC patch: > - followed the following kernel commit > cfe2790b163a ("printk: move printk_info into separate array") > - divided members of struct printk_log in offset_table into each structure > for readability > - added some error handlings > - also dump head record that was missed
I confirm that these changes are correct. Thanks for updating this, adding the needed error handling, and catching that the head record was missed! I tested this by: 1. Boot kernel with: crashkernel=512M 2. Setup and trigger crash: kexec -p /boot/bzImage --initrd=/boot/rescue-initrd --append="console=ttyS0,115200" echo c > /proc/sysrq-trigger 3. From rescue environment, copy crashed vmcore to external machine: cp /proc/vmcore /remote/nfs/mount/ 4. From external machine, extract kernel log using vmcoreinfo: makedumpfile -g ./vmcoreinfo -x ./vmlinux makedumpfile --dump-dmesg -i ./vmcoreinfo ./vmcore dmesg1.txt 5. From external machine, extract kernel log using debug symbols: makedumpfile --dump-dmesg -x ./vmlinux ./vmcore dmesg2.txt 6. Compare and inspect the kernel logs: diff dmesg1.txt dmesg2.txt cat dmesg1.txt John Ogness _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
