eListas Logo
   El sistema de Listas de correo, Boletines y Newsletters más completo de la Red Inicio | Servicios | Publicidad | Compañía 
Inicio > Mis eListas > glisc > Mensajes


 Índice de Mensajes 
 Mensajes 1 al 20 
AsuntoAutor
ENCUESTA: Distribu Lista gl
Winux, primer viru Jimmy
Un nuevo gusano am Jimmy
Chiste Jimmy
Adore: el tercer v Jimmy
Aplicaciones para Alfonso
Linux se lanza com Alfonso
Problemas con el S Alfonso
Lo nuevo de RedHat Jimmy
Primer evento Linu glisc
Fonts del Netscape Paolo Ma
problemas con el m Frank Or
RE: problemas con Alfonso
Softhard Linux SOFTHARD
M$ a la carga y co Oxiel
LINUX LA GRAN ESTR Oxiel
Re: problemas con grupo li
Ex-ejecutivo de Mi grupo li
Microsoft pasa la Oxiel
cuando son las reu frank or
 << -- ---- | 20 sig. >>
 
GLISC
Página principal    Mensajes | Enviar Mensaje | Ficheros | Datos | Encuestas | Eventos | Mis Preferencias

Mostrando mensaje 9     < Anterior | Siguiente >
Responder a este mensaje
Asunto:[glisc] Problemas con el System.map del RedHat Linux???
Fecha:Miercoles, 11 de Abril, 2001  17:35:45 (-0400)
Autor:Alfonso Fernandez <afernandez @......net>

ayuda!!!

What is the System.map file?

Every time you compile a kernel, a file is created which maps the kernel address locations of important variables and functions to symbolic names. Think of this file as the way the kernel links symbolic names to addresses in the same way you would link a .o file to an executable with gcc. Every time you compile the kernel, the address of the variables and functions changes, so this look-up file needs to be rewritten. This file is called System.map, and appears at the top of the kernel directory source tree, usually /usr/src/linux. We call this information the `kernel symbol table'.

What is System.map used for in kernel space?

When a protection fault occurs, the klogd daemon translates important addresses (meaningless to us) in the kernel to thier symbolic equivalents (meaningful to us). This translated kernel message is then forwarded through whatever reporting mechanism klogd is using. The fact that the addresses get translated makes it easier for us to decipher what went wrong during the fault. A kernel developer can determine exactly what the kernel was doing when the error condition occurred.

To this end, upon daemon initialization during bootup, klogd will look for a system map in 3 places, in the following order:

  • /boot/System.map
  • /System.map
  • /usr/src/linux/System.map
A few drivers will need System.map to resolve symbols (since they're linked against the kernel headers instead of, say, glibc). They will not work correctly without the System.map created for the particular kernel you're currently running.

Note, there are actually two types of address resolution are performed by klogd. The first is static translation, which uses the System.map file. The second is dynamic translation which is used with some loadable modules and is not relevant here.

What else uses the System.map

Don't think that System.map is only useful for kernel oopses. Although the kernel itself doesn't really use System.map, other programs such as lsof and dosemu rely on an up to date kernel symbol table.

What happens if I don't have a healthy System.map?

Suppose you have 4 kernels. You need 4 separate System.map files, one for each kernel! Now if you see an error upon boot:
System.map does not match actual kernel
This error might appear together with a few other messages that say:
module XXXX could not be loaded because some versions do not match.

How do I remedy the above situation?

The solution is to copy the file /usr/src/linux/System.map to /boot/System.map. Here's what I do. Suppose I have multiple kernels like:
  • vmlinuz-2.2.14
  • vmlinuz-2.2.13
  • vmlinux-2.2.13.sound
all located in /boot. Then I also have the following kernel symbol tables, also located in /boot:
  • System.map-vmlinuz-2.2.14
  • System.map-vmlinuz-2.2.13
  • System.map-vmlinux-2.2.13.sound
And make a symlink of the one I use most (System.map-vmlinuz-2.2.14) to /boot/Symbol.map.
% ls -l /boot/ 
total 2170 
-rw-r--r--   1 root     root       221778 Nov  3  1999 System.map-2.2.13 
-rw-r--r--   1 root     root       232313 Jan 20  1999 System.map-2.2.13.sound 
-rw-r--r--   1 root     root       232426 Jan 29  1999 System.map-2.2.14 
-rw-r--r--   1 root     root           12 Jan 29  1999 System.map -> System.map-2.2.14 
-rw-r--r--   1 root     root          512 Jul  6  1999 boot.0300 
-rw-r--r--   1 root     root         4540 Jul 22  1999 boot.b 
-rw-r--r--   1 root     root          612 Jul 22  1999 chain.b 
-rw-------   1 root     root         7168 Jan 29 21:28 map 
-rw-r--r--   1 root     root       649591 Jan 20 23:54 vmlinux-2.2.13.sound 
-rw-r--r--   1 root     root       649590 Nov  3 10:45 vmlinuz-2.2.13 
-rw-r--r--   1 root     root       659572 Jan 29 21:22 vmlinuz-2.2.14 

Did you think this article was informative? As a way to say thanks, why don't you make some suggestions on my html to make this page more attractive. I'm also looking for people to help me design a consistant and pleasant look throughout my linux pages. Please email me. I'm also looking for technical corrections, constructive criticism, etc.



---
Slds,
Alfonso

UNIBOL
Av. Santa Cruz #1200
Tel +591 3 33-5717
Fax +591 3 36-5542
Santa Cruz - Bolivia

http://www.unibol.net

 

eListas.net:  Página principalÍndice de listasCrear listaListas Destacadas
Tu Cuenta:  Mis eListasMi Información y PreferenciasApuntateAyuda
Servicios:  ServiciosProductosSoluciones ComercialesPublicidad
General:  AyudaNovedadesPrivacidad de datosNo spamEscríbenos

eListas

eListas.net es un servicio de AR Networks
Copyright © 1999-2012 AR Networks, Todos los derechos reservados
Términos del Servicio | Privacidad de datos