Bota
La forma más rápida de aprender sobre los mensajes del núcleo es examinar las primeras líneas del proceso de arranque. Para ver la primera página de salida, utilice el siguiente comando:
dmesg | less
Las primeras tres líneas se refieren probablemente a la inicialización de los «Grupos de control» para el procesador. Esto no es tan interesante a menos que seas un hacker de kernels. Sin embargo, la siguiente línea es muy importante. Le dirá qué versión del núcleo de Linux está ejecutando.
La salida de mi máquina de pruebas dice:
Linux versión 3.13.0-24-generic (buildd@roseapple) (gcc versión 4.8.2 (Ubuntu 4.8.2-19ubuntu1)) #46-Ubuntu SMP Thu Apr 10 19:08:14 UTC 2014 (Ubuntu 3.13.0-24.46-generic 3.13.9)
Lo que esto me dice es que mi máquina de prueba está ejecutando el kernel 3.13 de Linux que fue compilado por Ubuntu el 10 de abril de 2014.
Las siguientes 80 a 100 líneas son detalles de bajo nivel sobre el BIOS, la CPU y la memoria. La siguiente línea importante es el resumen de la memoria del sistema. Siempre comienza con «Memory:». En mi máquina de prueba, la salida es:
>.
El número después de la barra oblicua es la cantidad total de memoria del sistema accesible al núcleo de Linux, en este caso 1,5 GB. En este punto, Linux casi ha terminado de mirar el procesador y la memoria, y pronto dirigirá su atención al resto de la máquina incluyendo el vídeo, los puertos USB, los discos duros y así sucesivamente.
Detección de hardware
La salida del kernel es también una gran manera de descubrir cómo Linux está interactuando con el hardware de su PC. Por ejemplo, para descubrir qué discos duros reconoce el núcleo, puede buscar en los mensajes la palabra clave «sda». Para hacer esto, use «grep» de esta manera:
dmesg | grep sda
«sda» es el nombre dado al primer disco duro SATA, «sdb» es el segundo disco duro SATA y así sucesivamente. Si no encuentra sus discos en «sda», «sdb», etc., pruebe «hda», «hdb» y así sucesivamente.
Para obtener información sobre la tarjeta de red, busque «eth0», por ejemplo:
dmesg | grep eth0
En mi máquina de prueba, aparece una de las líneas de salida relacionadas con «eth0»:
e1000 0000:00:03.0 eth0: Conexión de red Intel(R) PRO/1000
Esto me dice que mi tarjeta Ethernet es una Intel PRO/1000 (conocida como e1000).
Si inserta una unidad flash USB y desea comprobar si ha sido reconocida por el núcleo y el nombre del dispositivo al que ha sido asignada, puede ver los últimos mensajes del núcleo utilizando la cola:
dmesg | cola -20
El -20 le dice a la cola que muestre las últimas 20 líneas de salida de dmesg. La salida de ejemplo muestra que una unidad flash fabricada por ADATA se insertó en el puerto USB, tiene una capacidad de 8 GB y que se le ha asignado el nombre de dispositivo sdd.
dmesg puede ser una herramienta muy útil para los administradores de sistemas. Inténtelo y vea lo que puede aprender sobre su sistema. Si tiene alguna pregunta, por favor hágala en la sección de comentarios, y veremos si podemos ayudarle.