[Résolu] "Kernel panic" suivant la taille de la ram

Post Reply
Message
Author
User avatar
ASRI éducation
Posts: 3197
Joined: Sat 09 May 2009, 12:10
Location: France
Contact:

[Résolu] "Kernel panic" suivant la taille de la ram

#1 Post by ASRI éducation »

Là, j'avoue que cela me dépasse et que j'ai vraiment besoin de conseils.

Je résume la situation
Notre association bosse sur un "fork" ludo-éducatif basé sur la Toutou Linux 4.1.2 de JJ Moulinier et destiné à des enfants de 3 à 10 ans (environ). ==> Plus d'infos sur l'iso ludo-éducative "beta" http://asri.edu.free.fr/articles.php?lng=fr&pg=610

L'iso que nous testons actuellement comporte des bugs et n'est donc pas encore pas diffusable dans les écoles. Test et rapports de bugs disponibles sur http://asri.edu.free.fr/thread.php?lng= ... id=1&cat=1

La rentrée scolaire nous obligeant à accélérer le rythme, je me permets de vous soumettre un problème que je viens de rencontrer.

Le problème
Lors du boot du live-cd, il arrive que j'obtienne le message suivant (cf. copie d'écran) ==> Performing a 'switch_root' to the layered filesystem...Kernel panic - not syncin g: Out of memory and no killable processes...

Image

Cette semaine, j'ai tenté trois installations
- Sur des PIII 450/500 mhz (128 à 160 mo de ram), tout c'est bien passé et le live-cd boot parfaitement.
- Sur un Duron 1000mhz (256mo de ram), j'ai eu un "kernel panic" dès le début du lancement du live-cd.

Pourquoi cela a-t-il fonctionné sur des pc moins puissants, alors que cela plante sur un plus véloce ?

Aujourd'hui, sur une machine virtuelle VMware (vierge)
Je lance la machine virtuelle sur l'iso TL4.12-asri.edu-FULLversion_beta-1.5.4.iso (380mo).
Je n'indique aucune commande de boot particulière (pfix=...) et j'attends que la distribution me demande quel type de souris j'utilise.
Les résultats alors obtenus dépendent de la ram allouée à la machine virtuelle...

- Si je lui alloue 80mo de ram, le live-cd se lance normalement
- Si je lui alloue 256mo de ram, le boot plante avant même de choisir le type de souris ==> kernel panic (idem si je lui indique puppy pfix=ram, ou encore puppy pfix=noram)
- Si je lui alloue 512mo de ram, le live-cd se lance normalement
- Si je lui alloue 1024mo de ram, le live-cd se lance normalement
- Si je lui alloue 2048mo de ram, le live-cd se lance normalement



Quelqu'un a-t-il une idée sur la raison de ces Kernel panic ?

Cordialement :)
-
Last edited by ASRI éducation on Sat 19 Sep 2009, 12:00, edited 1 time in total.

ljfr
Posts: 176
Joined: Thu 23 Apr 2009, 08:35

#2 Post by ljfr »

bonsoir,
ca ressemble au probleme cite dans ce post:
http://www.murga-linux.com/puppy/viewtopic.php?t=23381
cordialement,

User avatar
ASRI éducation
Posts: 3197
Joined: Sat 09 May 2009, 12:10
Location: France
Contact:

#3 Post by ASRI éducation »

@ ljfr
Merci pour le lien, j'ai commencé à étudier le post et je vais tester quelques modifications dans les jours qui viennent.

:)

User avatar
vezuve
Posts: 1291
Joined: Thu 24 Jan 2008, 15:09

#4 Post by vezuve »

Hello,
HOUUUUUUUUUU laaaaaaaaaaaa j sens venir une très très TRES grosse cata de chez cata ....................
Jespere que tu a un génie de linuxxxxxxxxxxxxxxx.

@+
Recherche
[url=http://wellminded.com/puppy/pupsearch.html]sur PUPPY[/url] anglai + souven
[url=http://puppylinux.org/wikka/PageIndex]PUPPY wikka tou sur tou[/url] anglai

ljfr
Posts: 176
Joined: Thu 23 Apr 2009, 08:35

editer initrd.gz

#5 Post by ljfr »

je viens d'editer initrd.gz sans probleme en suivant le code de Bruce B dans ce post:
http://www.murga-linux.com/puppy/viewtopic.php?t=42854

J'ai l'impression que dans le fichier init, autour de la ligne 990, il faudrait faire un dernier test du type:

Code: Select all

  #if there's heaps of ram, copy pup_xxx.sfs to a tmpfs...
 [ "$PUPSFSDEVMNTPT" = "" ] && COPY2RAM="yes"
 #v405 fast media plus more than 256MB ram then definitely worth copying to ram...
 [ "`echo -n "$FASTPARTS0" | grep "$PUPSFSDEV"`" != "" ] && [ $RAMSIZE -gt 280000 ] && COPY2RAM="yes"
 if [ "$COPY2RAM" = "yes" ];then
   SIZESFSK=`du -k ${PUPSFSDEVMNTPT}${PUPSFSFILE} | cut -f 1`
   SIZESFSK=`expr $SIZESFSK + 1000` #some slack.
  [ $RAMSIZE -gt $SIZESFSK ] && COPY2RAM="no"
 fi
 
 if [ "$COPY2RAM" = "yes" ];then
  mount -t tmpfs -o size=${SIZESFSK}k tmpfs /mnt/tmpfs

User avatar
ASRI éducation
Posts: 3197
Joined: Sat 09 May 2009, 12:10
Location: France
Contact:

#6 Post by ASRI éducation »

@ ljfr
il faudrait faire un dernier test du type...
Un "autre", pas un "dernier". Ce n'est tout de même pas un petit bug qui va nous faire plier.

En suivant le code de Bruce B, l'édition du fichier initrd.gz se fait sans problème, cela permet d'avoir accès à de nombreux paramètres et à la condition d'être prudent (copie de sauvegarde), on peut essayer de les modifier.

Hélas, le code proposé par ljfr n'a pas suffit, j'ai toujours un "kernel panic" avec 256mo de ram (cf. copie d'écran ci-dessus).

A chaque problème, sa solution, il ne reste plus qu'à la trouver...

Cordialement

ljfr
Posts: 176
Joined: Thu 23 Apr 2009, 08:35

inverser le test

#7 Post by ljfr »

bonjour,
je me suis trompe sur le sens du test a realiser, utiliser:

Code: Select all

  #if there's heaps of ram, copy pup_xxx.sfs to a tmpfs...
 [ "$PUPSFSDEVMNTPT" = "" ] && COPY2RAM="yes"
 #v405 fast media plus more than 256MB ram then definitely worth copying to ram...
 [ "`echo -n "$FASTPARTS0" | grep "$PUPSFSDEV"`" != "" ] && [ $RAMSIZE -gt 280000 ] && COPY2RAM="yes"
 if [ "$COPY2RAM" = "yes" ];then
   SIZESFSK=`du -k ${PUPSFSDEVMNTPT}${PUPSFSFILE} | cut -f 1`
   SIZESFSK=`expr $SIZESFSK + 1000` #some slack.
  [ $SIZESFSK -gt $RAMSIZE] && COPY2RAM="no"
 fi
 
 if [ "$COPY2RAM" = "yes" ];then
  mount -t tmpfs -o size=${SIZESFSK}k tmpfs /mnt/tmpfs
et tout devrait rentrer dans l'ordre.

User avatar
ASRI éducation
Posts: 3197
Joined: Sat 09 May 2009, 12:10
Location: France
Contact:

#8 Post by ASRI éducation »

J'ai testé le second code proposé par ljfr et cela ne fonctionnait toujours pas, normal car mon iso fait plus de 256mo (presque 400mo). J'ai donc essayé d'ajuster la valeur de RAMSIZE pour indiquer au système de ne charger en ram qu'à partir de 512mo de ram.

Ainsi, j’ai modifié quelques valeurs du fichier initrd.gz contenu dans l'iso (cf. texte en rouge) (j'ai utilisé la méthode indiquée par Bruce B
http://www.murga-linux.com/puppy/viewtopic.php?t=42854).

Autour de la ligne 990

#if there's heaps of ram, copy pup_xxx.sfs to a tmpfs...
[ "$PUPSFSDEVMNTPT" = "" ] && COPY2RAM="yes"
#v405 fast media plus more than 512MB ram then definitely worth copying to ram...
[ "`echo -n "$FASTPARTS0" | grep "$PUPSFSDEV"`" != "" ] && [ $RAMSIZE -gt 512000 ] && COPY2RAM="yes"
if [ "$COPY2RAM" = "yes" ];then
SIZESFSK=`du -k ${PUPSFSDEVMNTPT}${PUPSFSFILE} | cut -f 1`
SIZESFSK=`expr $SIZESFSK + 1000` #some slack.
[ $SIZESFSK -gt $RAMSIZE] && COPY2RAM="no"
fi

if [ "$COPY2RAM" = "yes" ];then
mount -t tmpfs -o size=${SIZESFSK}k tmpfs /mnt/tmpfs


Egalement une modification ligne 939 :
[ $RAMSIZE -gt 512000 -a "$PCOPY" = "yes" ] && COPY2RAM="yes" #512MB system. note, only checking physical ram.


Désormais, le boot du live-cd est ok pour toutes les configurations ! (j'ai testé de 80mo à 650mo de ram)

Je laisse le soin à ljfr de vérifier si les modifs peuvent être optimisées.

Encore merci, car c'était probablement le plus gros bug que j'avais avec cette iso.

Je ne suis pas le seul à remasteriser la Toutou, j'imagine que cette solution intéressera d'autres que moi.

Cordialement,

User avatar
ASRI éducation
Posts: 3197
Joined: Sat 09 May 2009, 12:10
Location: France
Contact:

#9 Post by ASRI éducation »

doublon supprimé

Post Reply