(Courriels de diversion: <affreter@nicherai-spolierais.com> <assignerions@sablier-surexcitant.com> <rassoyant@mobiliserai-espacerons.com> <croquee@dedommagees-boutonnerez.com> <decante@desertaient-grippent.com> <devront@enclume-reconcilierez.com> <inserent@gares-egrenerais.com> <infiltree@inattentive-falsification.com> <fertilisant@linos-types.com> <cousais@repentes-traduisibles.com> )


salut

On Sun, 27 Aug 2006 17:28:28 +0200
Yves Jean Marie Lambert <leiota@bidart.net> wrote:
> apparemment c'est accessible en  module du noyau donc pas besoin de le
> recompiler juste faire un modprobe... c'est sûr que c'est mieux de le
> recompiler...

Cela n'est pas possible que cela soit en module, car c'est au démarage du noyau
que le patch agit. (Il existe un paquet debian, mais il faut quand meme
recompiler à la sauce debian)
Cela fonctionne en déclarant les trous comme des plages de mémoire affecté au
noyau, la mémoire du noyau étant non paginable, donc jamais touché.
D'ailleurs après le démarrage, le code qui a servit à faire le travail est purgé
pour liberer de la mémoire. (si j'ai bien compris).

Mise en oeuvre:

- Configurer memtest pour afficher les "badram patern":
Avec memtest on récupère les motifs d'adresse défectueuses (il faut changer la
config de memtest pour ne plus afficher la liste des adresses défectueuses mais
plutot, les "motifs" défectueux (badram patern).

- Laisser tourner memtest un certain moment pour que cela s'affiche.

- récuperer la derniere ligne qui doit être sous cette forme:
	0x10001010,0x0111000, ...... (données fantaisistes, je suis loin de ma machine
pour donner la valeur qui correspond à ma barette)

- préparer un noyau patché et au démarage passer en paramètre:
 "badram=0x10001010,0x0111000, ......"
 Soit à la main au démarage de linux, soit dans la config de lilo ou de grub.

Afin de pouvoir compiler le joli noyau paché, il faut déterminer la(les)
barrette(s) deffectueuse(s), les enlever, compiler avec un bonne barette, (ou
placer la bonne barette en premier et limiter la taille de la memoire utilisé
avec le paramètre "mem=xxxMo" au démarage).

> Ben oui : je ne demande pas mieux. Les erreurs ne sont pas vraiment
> aléatoires mais apparamment memtest86(+) ne les détecte qu'avec le test
> moveblock ou un truc comme ça. Je me retrouve avec 4000 erreurs environ

memtest teste de façon cyclique la mémoire, c'est à dire qu'il fait tout ses
tests en boucle et qu'il recommence au debut de la mémoire quand il est arrivé
à la fin. Donc 4000 erreurs, c'est qu'il est passé plusieurs fois sur la (les)
même(s) zone(s) deffecteuse(s) avec différents tests, le compteur d'erreur
n'est pas remis à zero.

> (sur 512M...) mais pas de tag bad ram générés.

C'est une option de configuration:
	6) Error Report Mode
	   badram patern

Remmarquez que si la barrette à des défauts aléatoires, la poubelle est ouverte.

> >
> >PS1 Je fait aussi une collection de barrettes défectueuses que j'utilise, ou
qui
> >attendent d'etre testé (merci yoda et Pierre E.),
> >
> ça dépend ce que tu me donnes en échange :-$

J'ai une collection de lecteur CD, des tout petit disque dur (dont un 80 Mo
qu'on m'as donné il y a 10 ans, qui avais déja des secteurs déffectueux mais
qui fonctionne toujours), d'autres qui fonctionnent encore très bien, des
cartes diverses et variées, enfin 20 à 50 Kg de trésors :-)

Bon gcc !

Xavier

--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>