Estoy desarrollando un sistema integrado que actualmente arranca Linux con salida de consola en el puerto serial 1 (usando el parámetro de arranque de la consola desde el gestor de arranque). Sin embargo, eventualmente usaremos este puerto serie. ¿Cuál es la mejor solución para la salida de la consola del kernel?/dev/null? ¿Se puede poner de alguna manera para que potencialmente tengamos acceso a ella?¿Dónde envía la consola del kernel en un sistema integrado?
Respuesta
Si solo desea leer los mensajes kernel printk desde la consola, y no ejecutar realmente getty o shell, puede usar netconsole. Usted puede proporcionar la siguiente opción de cargador de arranque del kernel (o modprobe netconsole):
[email protected]/eth1,[email protected]/12:34:56:78:9a:bc
donde 4444 es el puerto local, 10.0.0.1 es la IP local, eth1 es la interfaz local para enviar los mensajes de . 9353 es el puerto remoto, 10.0.0.2 es la dirección IP remota para enviar los mensajes a, y el último argumento es su dirección MAC del sistema remoto (por ejemplo: su escritorio).
A continuación, para ver los mensajes corren:
netcat -u -l -p 9353
Usted puede leer más sobre esto en Documentation/networking/netconsole.txt
Puede acceder a la memoria intermedia de mensajes printk desde un shell mediante dmesg. El buffer del kernel es de tamaño finito y sobrescribirá las entradas más antiguas con las más recientes, por lo que necesitaría verificar dmesg periódicamente o conectar netconsole como lo sugiere @bmdhacks.
Si no hay consola, perderá toda información grabada por un fallo del kernel. Incluso el uso de netconsole puede no ser de ayuda, si el núcleo se muere y comienza a reiniciarse antes de que TCP logre entregar la salida al socket remoto. En general, modificamos kernel/panic.c: panic() para guardar el contenido del registro y otro estado en un área de flash NOR, por lo que habrá al menos cierta información disponible para la depuración post mortem.
- 1. Cómo depurar kernel oops en el sistema integrado
- 2. malloc en un sistema integrado sin un sistema operativo
- 3. Sqlite en un sistema integrado
- 4. Portando Python a un sistema integrado
- 5. Ocultar la consola en la función del sistema C(), Win
- 6. Base de datos para un sistema integrado
- 7. Dónde agrego una llamada al sistema en Linux fuente del kernel
- 8. Implementación del agente SNMP en el sistema integrado
- 9. ¿Puede un ingeniero de software crear un sistema integrado?
- 10. . Consola .Net Aplicación en la bandeja del sistema
- 11. STL dentro del sistema integrado con memoria muy limitada
- 12. ¿Hackear kernel de aprendizaje y desarrollo integrado en casa?
- 13. ¿Cómo sabe Linux Kernel dónde buscar el firmware del controlador?
- 14. Tomcat 7 - ¿Dónde configuro 'propiedades del sistema'?
- 15. Erlang como un sistema integrado dentro de una aplicación?
- 16. Establecer el usuario del sistema hadoop para el cliente integrado en la aplicación Java
- 17. ¿Cómo obtener acceso a (integrado) consola Maven en Eclipse?
- 18. ¿Dónde puedo encontrar la primera versión del sistema operativo Linux?
- 19. ¿Se puede anular un subproceso en medio de una llamada al kernel del sistema?
- 20. windows form .. console.writeline() ¿dónde está la consola?
- 21. ¿Cuál es la relación entre un sistema operativo Linux y un kernel?
- 22. Recomendación para Java VM ejecutándose en el sistema integrado
- 23. ¿Tiene sentido ejecutar cálculos del nivel de kernel del sistema operativo en una GPU?
- 24. NInject: ¿Dónde guarda su referencia al Kernel?
- 25. Llamar a un subproceso sin tener la consola del sistema abierta
- 26. Initramfs integrado en kernel de Linux personalizado no se está ejecutando
- 27. Uso del refuerzo en el sistema integrado con limitación de memoria
- 28. Suprimir la consola al llamar "sistema" en C++
- 29. kernel de Linux: agregue la llamada al sistema de forma dinámica a través del módulo
- 30. ¿Dónde está el punto de inicio de la fuente del kernel de Linux?
gracias por la respuesta. En el producto final, supongo que podría enviar netconsole a 127.0.0.1 y luego leer desde el puerto en un shell si era necesario – MattSmith