Dave, my apologies for being ambiguous, I forgot to mention how I installed xen-3.3.0;
since an upgrade of the xen kernel, which came with the CentOS 5.2 DVD, to xen-3.3.0 would
fail the xen python scripts, a workaround was employed.
So we first install CentOS w/o Xen and then bring in the xen-3.3.0 sources and install it
on top of this. In this procedure the crash.ko driver doesn't seem to be getting
installed.
Now I'm facing two issues: -
1] I believe I will need the crash.ko driver to run the crash on a live kernel but I'm
not able to find its source file in the linux sources that come with 3.3.0
2] I believe we have to build a debug kernel for crash to work with it. However when I
enable the compile kernel with debug info in "make menuconfig", and make in the
/xen-3.3.0/linux-2.6.18-xen.hg directory and do a make on /xen-3.3.0 directory, I keep
getting an error which says: -
make -C /home/user/xen-3.3.0/linux-2.6.18-xen.hg
O=/home/user/xen-3.3.0/build-linux-2.6.18-xen_x86_64 modules
Using /home/user/xen-3.3.0/linux-2.6.18-xen.hg as source for kernel
/home/user/xen-3.3.0/linux-2.6.18-xen.hg is not clean, please run 'make
mrproper'
in the '/home/user/xen-3.3.0/linux-2.6.18-xen.hg' directory.
make[5]: *** [prepare3] Error 1
make[4]: *** [modules] Error 2
make[3]: *** [modules] Error 2
make[3]: Leaving directory `/home/user/xen-3.3.0/build-linux-2.6.18-xen_x86_64'
make[2]: *** [build] Error 1
make[2]: Leaving directory `/home/user/xen-3.3.0'
make[1]: *** [linux-2.6-xen-install] Error 2
make[1]: Leaving directory `/home/user/xen-3.3.0'
make: *** [install-kernels] Error 1
Bhaskar.
-----Original Message-----
From: crash-utility-bounces(a)redhat.com [mailto:crash-utility-bounces@redhat.com] On Behalf
Of Dave Anderson
Sent: Wednesday, October 08, 2008 7:13 PM
To: Discussion list for crash utility usage, maintenance and development
Subject: Re: [Crash-utility] Crash setup!
----- "Bhaskar Jayaraman" <Bhaskar.Jayaraman(a)lsi.com> wrote:
Dave, I somehow didn't receive your previous thread and had to
look it
up on the mailing list website. I'm using the following configuration:
-
Dell T7400 with VT and VT-d enabled.
CentOS 5.2 with 2.6.18 kernel
OK, I see that the CentOS 5.2 kernel-2.6.18-92.el5.src.rpm package contains
contains the crash driver, and in that package both kernel-2.6.18-x86_64.config
and kernel-2.6.18-x86_64-xen.config still have CONFIG_CRASH=m set.
But that's not surprising given that CentOS 5 is supposed to be identical
to RHEL5.
I guess the default kernel doesn't build with crash and other
debugging options. However when I do a "make menuconfig" I didn't see
any option specific to crash in it.
When you say "default kernel", what kernel are you referring to?
If you're still talking about Centos kernel-2.6.18-92.el5.src.rpm, all you
have to do is install the kernel-2.6.18-92.el5.src.rpm, go the relevant
SPECS directory, and enter "rpmbuild -ba --target x86_64 kernel-2.6.spec".
It's built with debugging enabled, and creates a set of kernel debuginfo
packages that can be installed.
So I applied the patch from
sourcefourge but it is for 2.6.10 kernel. I am somehow trying to
compile the code with my own hacks but if you have a better idea let
me know.
Sorry, I have *no* idea what you're talking about w/respect to the
"patch from sourceforge"...
I still haven't started compiling the crash utils.
Well, at least that's trivial. The simplest way to do that
is to just download the latest tar.gz file from my web site.
$ tar xzf crash-4.0-7.2.tar.gz
...
$ cd crash-4.0-7.2
$ make
Since 2.6.18-92-el5 contains crash in it I was wondering if I simply
get its sources from the CD and try and compile with my kernel but I
got involved in trying to fix the 2.6.10 kernel so I have left it for
later. I specifically need to compile crash with 2.6.18 right now and
maybe later on for different versions of the kernel. Let me know what
are your thoughts on it and if there's a place where I can find crash
sources for all kernel flavors.
Now I'm getting more confused. When you say "compile crash with 2.6.18",
are you talking about the crash utility? The crash utility is designed
to be run on any kernel "flavor". You just have to compile it on the
host machine where you want to run it. It has no kernel version dependencies
because it is designed to maintain backwards compatibility while being
updated regularly to "keep up" with upstream kernel changes.
If you're still referring to the /dev/crash kernel driver, and given
that you are capable of rebuilding whatever kernel you're going to run
to run with, then I strongly suggest just using the /dev/mem driver.
I'm presuming that you're running the 64-bit x86_64 kernel given the
hardware you're running on. With a 64-bit kernel, there's no benefit
in trying to backport the Red Hat /dev/crash driver into your kernel.
Dave
Thanks,
Bhaskar.
________________________________________
From: crash-utility-bounces(a)redhat.com
[crash-utility-bounces(a)redhat.com] On Behalf Of Dave Anderson
[anderson(a)redhat.com]
Sent: Tuesday, October 07, 2008 11:43 AM
To: Discussion list for crash utility usage, maintenance and
development
Subject: Re: [Crash-utility] Crash setup!
> But the /dev/crash driver does require small modifications to the
kernel source,
> primarily to EXPORT_SYMBOL_GPL() the page_is_ram() function.
Interesting -- FWIW, the EXPORT_SYMBOL_GPL() requirement for
page_is_ram()
may no longer be required if an analogous, static, version of
page_is_ram()
were to be written into the crash driver itself -- and that static
version
could use the e820_any_mapped() function, which is EXPORT_SYMBOL_GPL()
in
the upstream kernel:
/*
* This function checks if any part of the range <start,end> is
mapped
* with type.
*/
int
e820_any_mapped(u64 start, u64 end, unsigned type)
{
int i;
for (i = 0; i < e820.nr_map; i++) {
const struct e820entry *ei = &e820.map[i];
if (type && ei->type != type)
continue;
if (ei->addr >= end || ei->addr + ei->size <=
start)
continue;
return 1;
}
return 0;
}
EXPORT_SYMBOL_GPL(e820_any_mapped);
For that matter, e820_any_mapped() is also in RHEL5. But it was not
in the 2.6.9-based RHEL4 kernel, which was what the RHEL5 version of
the
crash driver was based upon.
But RHEL5 also has modified the x86-only page_is_ram() to check for
efi_enabled,
and if it's set, to use the "memmap" efi_memory_map instead of the
e820 map.
Although, that's not done upstream.
Anyway, just another data point...
Dave
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility