[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Question sur le System.map



On Thu, 22 Feb 2001 09:18:23 +0100, 
EXT / GREEN MEI Sébastien <ext.green.mei@sncf.fr> wrote :

> Je sais que si j'appelle mon noyo vmlinuz-2.4 et le System.map 
> System.map-2.4, ca marche mais comment, il fait pour s'y
> retrouver ??? Je ne suis pas obligé d'appeler mon noyo
> vmlinuz..., je peux l'appeler noyotoutneuf. A ce moment,
> comment il fait pour retrouver le System.map qui va bien ?
> Ca marche car j'ai testé.

Le noyau connait sa version. C'est la moindre des choses...

Par exemple : 

1044 $ cat /proc/version
Linux version 2.4.1-ac13 [...]

Le numéro de version étant 2.4.1-ac13, le noyau va d'abord essayer de
lire System.map-2.4.1-ac13, puis si le fichier n'existe pas,
System.map (si ma mémoire est bonne). 

Le nom qui est donné au noyau sur le système de fichiers n'a bien sûr
aucune signification, puisqu'avant que le noyau boote [1], il n'y a pas de
système de fichiers.

Sinon,
1045 $ head /boot/System.map
c0100000 A _text
c0100000 T _stext
c0100000 T stext
c0100000 t startup_32
c010011d t is486

Il s'agit des adresses des points d'entrée des différentes routines
des noyaux, ce qui permet ainsi de savoir dans quelle routine se
trouve une instruction dont on connaît l'adresse. C'est utile par
exemple pour : 

1) savoir dans quelle routine un oops (incident sérieux) a eu lieu
   d'après les indications de /var/log/messages.
2) savoir dans quel appel système un processus est endormi (pour la
   commande ps).

Marc

[1] ou boute ? :-) Tout d'un coup, cela me fait penser au mot
« bouture », dont on pourrait croire qu'il a une étymologie proche.
Une bouture n'est-elle pas une sorte de secteur d'amorçage ? :-)



Reply to: