mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@in.ibm.com>
To: Dan Aloni <da-x@monatomic.org>
Cc: kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
	Neil Horman <nhorman@redhat.com>, Bernhard Walle <bwalle@suse.de>
Subject: Re: Determine version of kernel that produced vmcore
Date: Tue, 10 Jul 2007 20:30:37 +0530	[thread overview]
Message-ID: <20070710150037.GB10216@in.ibm.com> (raw)
In-Reply-To: <20070709114131.GA18750@localdomain>

On Mon, Jul 09, 2007 at 02:41:31PM +0300, Dan Aloni wrote:
> 
> I don't think it would add much complexity to build process as it 
> is now, just like the other tools that transparently do post-linking 
> modifications. As far as the developer is concerned, there's just
> the vmlinux and/or bzImage files that get emitted at the end.
> 
> > > Then inside initramfs of the first kernel, a small 
> > > util will modify the vmlinux file of the kdump kernel before it
> > > gets loaded so that another special file appearing as 
> > > /proc/vmcore.info under the kdump kernel will present the same
> > > info. 
> > 
> > Where do you get the info from? If you're in the kdump initrd,
> > then the kdump kernel is already loaded. Do you want to attach the
> > info from the crashed kernel to the initrd of the kdump kernel?
> 
> Not exactly. Let me describe the procedure in greater detail.
> Basically, it would go like this:
> 
> 1. <normal bootloader boot>
> 2. <normal initramfs>
> 3. embed_configfile /proc/kcore.info /vmlinux-kdump
> 4. kexec -l vmlinux-kdump <....>
> 5. <boot continues>
> 6. <crash>
> 7. <kdump kernel boot>
> 8. <kdump initramfs runs>
> 9. makedumpfile -i /proc/vmcore.info <....>
> 
> NOTES:
> ** in step 3 embed_configfile modifies vmlinux-kdump in place, 
>    copying /proc/kcore.info into the data section of the vmlinux-kdump 
>    at certain symbol (e.g. 'char core_info[0x1000]').
> ** in step 9 that data section variable (e.g. core_info) which was 
>    originally holds the content of /proc/kcore.info is being presented 
>    as /proc/vmcore.info for the util to use.
> 
> To complete the picture, at the final build stage of vmlinux we 
> would have this:
> 
> makedumpfile -g vmlinux.configfile -x vmlinuxx
> embed_configfile vmlinux.configfile vmlinux
> rm vmlinux.configfile
> 

Are you planning to move makedumpfile utility in kernel source three then
for this command to run? Output of "makedumpfile -g" is pretty non-standard
and very customized for filtering. At the same time, this will only work
if first kernel was compiled with debug info. (I think makedumpfile
retrieves all the structure member offset info from .debuginfo seciton).

I am still thinking that why can't we change initrd building process
(Be it mkinitrd or mkdumprd depending on distriution). Whole idea is
that while building an initrd/initramfs for the first kernel, one will
ask user for kdump kernel (if user wishes to load kdump kenrel through
initrd) and then it will generate kdump kenrel's initrd and pack into
first kernel's initrd.

So steps would look something like this.

- mkinitrd takes second kernel's vmlinux as argument
- mkinitrd runs "makedumpfile -g" on debug version of first kernel's vmlinux.
- mkinitrd generates the initramfs for kdump kernel and packs output
  of "makedumpfile -g" into that.
- mkinitrd packs statically linked kexec, kdump kernel vmlinux/bzImage,
  and kdump kernel initramfs into first kernel's initramfs.

This will save us from doing any changes to kernel build process and
also avoid any run time updation of vmlinux code. Exporting a particular
non-standard output through proc interfaces does not seem to be a very good
idea (/proc/kcore.info or /proc/vmcore.info)

Thanks
Vivek

  parent reply	other threads:[~2007-07-10 15:00 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-06 13:28 Bernhard Walle
2007-07-06 14:58 ` Dan Aloni
2007-07-09  9:21   ` Bernhard Walle
2007-07-09 11:41     ` Dan Aloni
2007-07-09 20:49       ` Bernhard Walle
2007-07-10  4:45         ` Dan Aloni
2007-07-10 13:20           ` Bernhard Walle
2007-07-10 15:00       ` Vivek Goyal [this message]
2007-07-10 17:17         ` Neil Horman
2007-07-10 17:35           ` Dan Aloni
2007-07-10 18:26             ` Dan Aloni
2007-07-10 19:00             ` Neil Horman
2007-07-10 20:36               ` Dan Aloni
2007-07-11 11:57                 ` Neil Horman
2007-07-10  6:48   ` Vivek Goyal
2007-07-10  8:14     ` Dan Aloni
2007-07-10 12:12       ` Neil Horman
2007-07-10 13:05         ` Bernhard Walle
2007-07-10 12:09     ` Neil Horman
2007-07-10 16:52       ` Dan Aloni
2007-07-11  6:07         ` Vivek Goyal
2007-07-11  7:32           ` Dan Aloni
2007-07-11 13:43             ` Ken'ichi Ohmichi
2007-07-13  3:58               ` Vivek Goyal
2007-07-13  7:49                 ` Bernhard Walle
2007-07-13  3:43             ` Vivek Goyal
2007-07-11  8:58           ` Bernhard Walle
2007-07-10  3:13 ` Ken'ichi Ohmichi
2007-07-10 12:02   ` Neil Horman
2007-07-13 11:05     ` Ken'ichi Ohmichi
2007-07-13 13:15       ` Bernhard Walle
2007-07-16  4:19         ` Vivek Goyal
2007-07-16 11:57           ` Bernhard Walle
2007-07-16 12:25             ` Vivek Goyal
2007-07-16 12:27               ` Bernhard Walle
2007-07-16 12:28               ` Bernhard Walle
2007-07-16 12:36                 ` Vivek Goyal
2007-07-18 14:07                   ` Ken'ichi Ohmichi
2007-07-18 23:10                     ` Bernhard Walle
2007-07-24  6:49                       ` Ken'ichi Ohmichi
2007-07-19 14:12                     ` Vivek Goyal
2007-07-19 16:39                     ` Don Zickus
2007-07-19 16:49                       ` Bernhard Walle
2007-07-19 16:59                         ` Don Zickus
2007-07-23  5:01                       ` Vivek Goyal
2007-07-23 11:47                         ` Ken'ichi Ohmichi
2007-07-23 13:02                           ` Dan Aloni
2007-07-23 15:58                             ` Vivek Goyal
2007-07-24  6:40                             ` Ken'ichi Ohmichi
2007-07-17  3:50             ` Vivek Goyal
2007-07-17  8:17               ` Bernhard Walle
2007-07-10 12:52   ` Bernhard Walle
2007-07-10  6:36 ` Vivek Goyal
2007-07-10 12:59   ` Bernhard Walle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070710150037.GB10216@in.ibm.com \
    --to=vgoyal@in.ibm.com \
    --cc=bwalle@suse.de \
    --cc=da-x@monatomic.org \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nhorman@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®