So, like every other thing that comes to me for fixing, I received this "Sony VAIO T260p" laptop from a friend of a friend, who had tried to get it fixed at all kind of shops in all the worlds (first, third and every other in between).
I was told that all it would display was the "blue screen of death". So, I power it on and find It automatically redirected to system restore utility, which was a windos NT based application, ended up with the blue screen.
Two possibilities at this stage, [a] virus infection [b] bad hardware.
First thing to try was mmtest86+. I stuck in an Ubuntu 6.06 CD just to discover that the DVD drive was doomed.
I tried to boot off a USB flash drive which was not supported by the BIOS.
I configured a PXE boot server to try a network boot, but it was the first boot that was proving to be difficult.
Finally, I managed to kick off RedHat Fedora Core 6 install from bad DVD drive (don't ask me how, it just worked, once in a blue moon). I was breifly excited and started network install, which crashed with kernel panic.
At this stage I realize that I need to run memtest.
Once again, after many retries, the DVD drive started install process and I was able to run memtest. Obviously, I noticed tons and tons of errors (I do mean tons here).
It was evidently clear that Windows will never be able to use this hardware ever again. Linux stood a fair chance due to Rick's excellent development of BadRAM feature of the Linux kernel.
I realized that I needed to create a boot disk of a Linux distrobution (any to be precice, out of despration, I would have sattle for any distrobution at this stage that would support BadRAM patched kernel) with BadRAM feature enabled kernel.
Later during trial and error, I noticed that the laptop would totally fail to start up if I removed 512M module from the only socket under the keyboard. That made me think that the RAM chips soldered to the motherboard must have gone loco.
My afforts to build BadRAM enabled fc6 kernel (I happen to have more exposure to RedHat distrobutions) continued resulting in a few patches. Meanwhile I exparimented with the combination of "mem= " and "noprobe" options of kernel.
To my surprize and joy, I was able to boot successfully with "mem=512M noprobe" options.
Clearly, I was able to claim back half of system RAM, totally unaffected by the failed other half.
But, all my efforts did not go in vain. I learnet a lot and was able to produce these patches that enables one to compile fedora kernels with BadRAM patch from srpm using their spec file.
I would like to share the outcomes of all these adventures. At the same time, I would like to make it very clear that:
All credits goes to Rick van Rein and his fabulous work BadRAM.
I started with downloading BadRAM patch for 2.6.19 kernel from this location on Rick's website(credit goes to Michal Schmidt). It did not work for Fedora Core srpm kernel (kernel-2.6.19-1.2911.6.5.fc6.src.rpm).
I was able to develop this patch BadRAM-2.6.19.1-header-fixup.patch to fix it. It consists of a couple of includes in kernel.h and export of a the same object, which I am not even sure if we need it.
This (BadRAM-2.6.19.1.patch) is a fixed patch that includes fixes above.
With this patch, I was able to compile Fedora Core 6 kernel from kernel-2.6.19-1.2911.6.5.fc6.src.rpm.
I created this (kernel-2.6.19-1.2911.6.5.fc6.src.rpm.BadRAM.patch) patch for the convinence of those who don't want to re-invent the wheel. Just apply it to installed kernel-2.6.19-1.2911.6.5.fc6.src.rpm in rpmbuild dir and it should marrily build BadRAM patched x86 kernels.
Note about BadRAM patched fc6 kernels:
Fedora released 2.6.20-1.2925 right when I was done successfully compiling and running 2.6.19-1.2911.6.5.BadRAM.
I looked for 2.6.20 BadRAM patch on Rick's site. The absence of the same inspired to create BadRAM-2.6.20.patch.
Which I used to compile 2.6.20-1.2925.BadRAM from kernel-2.6.20-1.2925.fc6.src.rpm.
For those who are interested a patch for kernel-2.6.20-1.2925.fc6.src.rpm, it is kernel-2.6.20-1.2925.fc6.src.rpm.BadRAM.patch.
For those who are interested a patch for kernel-2.6.20-1.2933.fc6.src.rpm, it is kernel-2.6.20-1.2933.fc6.src.rpm.BadRAM.patch.
For the peace of mind of those who are paranoid, I have been running these kernels (2.6.19-1.2911.6.5 and 2.6.20-1.2925.BadRAM) for days now.