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
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. 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. I still haven't started compiling the crash utils.
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.
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