----- "Bhaskar Jayaraman" <Bhaskar.Jayaraman@xxxxxxx> 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@xxxxxxxxxx > [crash-utility-bounces@xxxxxxxxxx] On Behalf Of Dave Anderson > [anderson@xxxxxxxxxx] > Sent: Tuesday, October 07, 2008 11:43 AM > To: Discussion list for crash utility usage, maintenance and > development > Subject: Re: 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@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/crash-utility > > -- > Crash-utility mailing list > Crash-utility@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/crash-utility -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility