running linux on bad ram - Hardware

This is a discussion on running linux on bad ram - Hardware ; Hello, maybe this regards the kernel issue, but haven't anywhere to post it. Recently, after having a lots of system crash i discovered, that ram in my computer has flaws(I mean some of the cells are broken, and can't access ...

+ Reply to Thread
Results 1 to 9 of 9

Thread: running linux on bad ram

  1. running linux on bad ram

    Hello, maybe this regards the kernel issue, but haven't anywhere to post it.
    Recently, after having a lots of system crash i discovered, that ram in my
    computer has flaws(I mean some of the cells are broken, and can't access
    them, sorry for my english). The thing is I don't wanna to buy a new one. I
    thougt it might be possible to install a kernel module which would use my
    memory, in such a way that it would ommit the bad storege places, if he
    knows them them. Is it possible, or it is rather science fiction ?



  2. Re: running linux on bad ram

    "Thomas" wrote in message :
    > Hello, maybe this regards the kernel issue, but haven't anywhere to post it.
    > Recently, after having a lots of system crash i discovered, that ram in my
    > computer has flaws(I mean some of the cells are broken, and can't access
    > them, sorry for my english). The thing is I don't wanna to buy a new one. I
    > thougt it might be possible to install a kernel module which would use my
    > memory, in such a way that it would ommit the bad storege places, if he
    > knows them them. Is it possible, or it is rather science fiction ?


    That is possible. I wrote some five years ago a HOWTO in French to explain
    how to use it. I will try to translate and update it right now. It was
    written with a 2.4 kernel in mind. Later, I used the method on a 2.6, with
    small changes. It was a long time ago, some things may have changed.


    Here is the way to work around broken RAM problems on a Linux running on a
    PC.

    First step: determine the responsible addresse(s). To do that, memtest86 is
    a solution. As a side note, this program is quite practical in that it is
    enough to have memtest86.bin somewhere, a bootloader can boot it just as a
    Linux kernel. With Grub, kernel (hdX,Y)/path/to/memtest86.bin, boot is
    enough, for example.

    Once started, it must be left running for some tine. If it finds errors, it
    prints them. One must note the address column (beware to the number of
    zeros). If there are a lot of errors, it can be tedious, because of the fast
    scrolling and the unpractical interface. The point is to finally have them.

    Another solution is to use a program that I wrote, urumt http://www.eleves.ens.fr/home/george/info/prg/rumt.html > (this URL will
    soon change, but there will be a redirect).

    On a PC under Linux, the memory is handled through blocks of 4096 octets. If
    memtest86 tells that the address 0x000110F8784 is rotten, it is necessary to
    avoid using the whole range 0x110F8000-0x110F8FFF. If there are several
    rotten ranges near each other, it may be necessary to group them to avoid a
    giant command line. Well, it is up to you to chose which ranges to
    invalidate or not.

    Now, the next step is to determine the kernel parameters. What follows have
    been tested with a 2.4, and adapted to a 2.6 from memory. At the very
    beginning of the boot, the kernel tells something like:

    BIOS-provided physical RAM map:
    BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
    BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
    BIOS-e820: 0000000000100000 - 0000000014000000 (usable)
    BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)

    There may be more, especially with AGP video cards. What is interesting is
    the range flagged usable beyond 1000000: that is the main part of the
    memory. In fact, if you have something rotten below, I believe you are very
    unfortunate, because the kernel is likely to be already corrupted before it
    reads the boot parameters. Well, this area must be parted. For example:

    user: 0000000000100000 - 0000000004042000
    user: 0000000004043000 - 0000000012715000
    user: 0000000012718000 - 0000000014000000

    Note that everything ends in "000" since one only use multiples of 4096.

    For the first line, it is simple: take the second number, convert it to
    decimal, divide by 1024, and it gives mem=xxxk. For the next lines, take the
    difference between the two numbers, divide by 1024, to get , and take
    the first one, divided by 1024, to get , and write in decimal
    mem=k@k for a 2.4 kernel, and memmap=k@k for a 2.6
    kernel. For example:

    user: 0000000000100000 - 0000000004042000 -> mem=65800k
    user: 0000000004043000 - 0000000012715000 -> memmap=236360k@65804k
    user: 0000000012718000 - 0000000014000000 -> memmap=25504k@302176k

    Small consistency check: 65804=65800+4, 302176=(236360+65804)+12, it seems
    to fit.

    Then, the kernel parameters must be:

    mem=65800k memmap=236360k@65804k memmap=25504k@302176k

    On a 2.2 kernel, the kernel message looks like:

    BIOS-provided physical RAM map:
    BIOS-e820: 0009f000 @ 00000000 (usable)
    BIOS-e820: 03f00000 @ 00100000 (usable)

    After reading the sources, it appears that to write the interval
    [start, end[, the 2.2 writes:

    BIOS-e820: start @ (end-start)

    while the 2.4 writes:

    BIOS-e820: start - end

    Converting is therefore quite easy.

    Well, I hope it can be of some use. In fact, I do not hope too much, because
    that means someone has rotten RAM, which is never agreeable.

  3. Re: running linux on bad ram

    On Sun, 12 Aug 2007 15:44:25 +0200, Thomas wrote:

    > Hello, maybe this regards the kernel issue, but haven't anywhere to post
    > it. Recently, after having a lots of system crash i discovered, that ram
    > in my computer has flaws(I mean some of the cells are broken, and can't
    > access them, sorry for my english). The thing is I don't wanna to buy a
    > new one. I thougt it might be possible to install a kernel module which
    > would use my memory, in such a way that it would ommit the bad storege
    > places, if he knows them them. Is it possible, or it is rather science
    > fiction ?


    Try setting the RAM clock speed down in the BIOS, it might be a speed
    problem rather than bad cells. The run sys_basher to see if you still
    have problems. If changing the clock speed doesn't help then remove the
    bad DIMM.

    http://www.polybus.com/sys_basher_web/

  4. Re: running linux on bad ram


    Użytkownik "General Schvantzkoph" napisał w
    wiadomości newsan.2007.08.12.14.40.59@yahoo.com...
    > On Sun, 12 Aug 2007 15:44:25 +0200, Thomas wrote:
    >

    Ok thx a lot, to GS : already tried, but still it detects crashes.

    > > Hello, maybe this regards the kernel issue, but haven't anywhere to post
    > > it. Recently, after having a lots of system crash i discovered, that ram
    > > in my computer has flaws(I mean some of the cells are broken, and can't
    > > access them, sorry for my english). The thing is I don't wanna to buy a
    > > new one. I thougt it might be possible to install a kernel module which
    > > would use my memory, in such a way that it would ommit the bad storege
    > > places, if he knows them them. Is it possible, or it is rather science
    > > fiction ?

    >
    > Try setting the RAM clock speed down in the BIOS, it might be a speed
    > problem rather than bad cells. The run sys_basher to see if you still
    > have problems. If changing the clock speed doesn't help then remove the
    > bad DIMM.
    >
    > http://www.polybus.com/sys_basher_web/




  5. Re: running linux on bad ram

    On Sun, 12 Aug 2007 18:23:41 +0200, Thomas wrote:

    > UÂżytkownik "General Schvantzkoph" napisaÂł w
    > wiadomoÂści newsan.2007.08.12.14.40.59@yahoo.com...
    >> On Sun, 12 Aug 2007 15:44:25 +0200, Thomas wrote:
    >>

    > Ok thx a lot, to GS : already tried, but still it detects crashes.
    >
    >> > Hello, maybe this regards the kernel issue, but haven't anywhere to
    >> > post it. Recently, after having a lots of system crash i discovered,
    >> > that ram in my computer has flaws(I mean some of the cells are
    >> > broken, and can't access them, sorry for my english). The thing is I
    >> > don't wanna to buy a new one. I thougt it might be possible to
    >> > install a kernel module which would use my memory, in such a way that
    >> > it would ommit the bad storege places, if he knows them them. Is it
    >> > possible, or it is rather science fiction ?

    >>
    >> Try setting the RAM clock speed down in the BIOS, it might be a speed
    >> problem rather than bad cells. The run sys_basher to see if you still
    >> have problems. If changing the clock speed doesn't help then remove the
    >> bad DIMM.
    >>
    >> http://www.polybus.com/sys_basher_web/



    You need to replace the bad DIMM, trying to map around the bad bits is a
    lousy idea. If you have a bad RAM it's really unlikely it's only one bit
    location that's broken. Just because it fails a memory test at location X
    on one run doesn't mean it's not going to fail at location Y then next
    time. Even if it seems to fail consistently it doesn't mean that the
    symptoms won't change if the room temperature changes or that it won;t
    get worse over time.



  6. Re: running linux on bad ram

    On Sun, 12 Aug 2007 15:44:25 +0200, Thomas wrote:
    > Hello, maybe this regards the kernel issue, but haven't anywhere to post it.
    > Recently, after having a lots of system crash i discovered, that ram in my
    > computer has flaws(I mean some of the cells are broken, and can't access
    > them, sorry for my english). The thing is I don't wanna to buy a new one. I
    > thougt it might be possible to install a kernel module which would use my
    > memory, in such a way that it would ommit the bad storege places, if he
    > knows them them. Is it possible, or it is rather science fiction ?


    If you know where the bad ram is (MemTest-86) _and_ if it is in the
    upper bank(s) of one DIMM stick, you could put _that_ stick into the
    upper memory range and then boot with limited ram specifications.

    Here are the grub menu.lst entries from a MDK 10.2 box where I once had
    2 256MB DIMM sticks with one stick having many bad locations in the
    upper 64MB (lucky me.)

    :
    |title MDK 10.2 2.6.11-13
    |kernel (hd0,4)/vmlinuz-2.6.11-13mdk root=/dev/hda6 devfs=nomount \
    | resume=/dev/hda7 splash=silent vga=788
    |initrd (hd0,4)/initrd-2.6.11-13mdk.img
    |
    |title MDK 10.2 2.6.11-13 Bad Memory Stick "mem=448m"
    |kernel (hd0,4)/vmlinuz-2.6.11-13mdk root=/dev/hda6 devfs=nomount \
    | resume=/dev/hda7 splash=silent vga=788 mem=448M
    |initrd (hd0,4)/initrd-2.6.11-13mdk.img
    :

    I have since replaced the memory in that box with 2 512MB DIMM's.

    (I spent FAR too much time trying to get around the problem with the
    kernel option ala: badram=0x1c23f5cc,0xfffffffc. The documentation on
    that option is WRETCHED, and to this day I firmly believe the optionis
    totally bogus. Don't go there.)

    HTH
    Jonesy
    --
    Marvin L Jones | jonz | W3DHJ | linux
    38.24N 104.55W | @ config.com | Jonesy | OS/2
    *** Killfiling google posts:

  7. Re: running linux on bad ram

    Allodoxaphobia wrote:

    > (I spent FAR too much time trying to get around the problem with the
    > kernel option ala: *badram=0x1c23f5cc,0xfffffffc. *The documentation on
    > that option is WRETCHED, and to this day I firmly believe the optionis
    > totally bogus. *Don't go there.)


    I don't find it at all in the kernel parameter list of 2.6.21-gentoo-r4.
    Maybe you are right, the parameter is bogus.

    --
    Regards,

    Gregory.
    Gentoo Linux - Penguin Power

  8. Re: running linux on bad ram


    Uzytkownik "Gregory Shearman" napisal w
    wiadomosci news:2441943.DfuUPs4p3m@netscape.net...

    Ok , after finding 40 000 errors with memtest at about 51 % progress I
    decided to buy a new module.

    > Allodoxaphobia wrote:
    >
    > > (I spent FAR too much time trying to get around the problem with the
    > > kernel option ala: badram=0x1c23f5cc,0xfffffffc. The documentation on
    > > that option is WRETCHED, and to this day I firmly believe the optionis
    > > totally bogus. Don't go there.)

    >
    > I don't find it at all in the kernel parameter list of 2.6.21-gentoo-r4.
    > Maybe you are right, the parameter is bogus.
    >
    > --
    > Regards,
    >
    > Gregory.
    > Gentoo Linux - Penguin Power




  9. Re: running linux on bad ram

    On Wed, 15 Aug 2007 15:15:00 +0200, Thomas wrote:

    > Uzytkownik "Gregory Shearman" napisal w
    > wiadomosci news:2441943.DfuUPs4p3m@netscape.net...
    >
    > Ok , after finding 40 000 errors with memtest at about 51 % progress I
    > decided to buy a new module.
    >
    >> Allodoxaphobia wrote:
    >>
    >> > (I spent FAR too much time trying to get around the problem with the
    >> > kernel option ala: badram=0x1c23f5cc,0xfffffffc. The documentation on
    >> > that option is WRETCHED, and to this day I firmly believe the optionis
    >> > totally bogus. Don't go there.)

    >>
    >> I don't find it at all in the kernel parameter list of 2.6.21-gentoo-r4.
    >> Maybe you are right, the parameter is bogus.
    >>
    >> --
    >> Regards,
    >>
    >> Gregory.
    >> Gentoo Linux - Penguin Power


    My experiance excactely,
    sometimes its better just to give up and spent some mony on good hardware.

    dag,

    angela@gw7.3feet.com

+ Reply to Thread