significa script salida redirigir redireccionamiento que por mensajes los log guardar generados fichero error envían ejemplos dónde defecto comandos comando canal archivo linux debugging linux-kernel qemu

script - redireccionamiento linux ejemplos



redirigir la salida de la ventana QEMU al terminal que ejecuta qemu (4)

Estoy tratando de depurar la secuencia de arranque de un kernel de Linux con qemu, el comando que estoy ejecutando es:

qemu -serial stdio -kernel <path to kernel> -hda <path to rootfs> -append "root=/dev/sda terminal = ttyS0"

Durante el arranque, todos los mensajes del kernel se imprimen en la ventana de QEMU. Solo cuando el arranque ha finalizado, recibo mi aviso de vuelta al terminal en el que ejecuté QEMU.

Ahora puedo comenzar a usar el terminal del kernel. Estoy ejecutando y viendo la salida en el terminal y no en la ventana de QEMU.

¿Cómo obtengo todos los mensajes, incluidos los mensajes de arranque en mi terminal y no en la ventana de QEMU (porque no puedo desplazarme hacia arriba en esa ventana ...)?


  1. quitar -serial stdio parámetro
  2. añadir -nographic parámetro
  3. y cambie el parámetro del kernel terminal = ttyS0 a console=ttyS0 . Esto debería funcionar.

qemu -nographic -kernel ./bzImage -hda ./image.hda -append root=/dev/sda console=ttyS0

Es posible que desee consultar el script que uso para el desarrollo del kernel: https://github.com/arapov/wrap-qemukvm (no es muy "productivo", pero puede encontrar parámetros qemu cli útiles allí)


¡En Windows, iniciar qemu con la opción -nográfica no funciona! Tuve el mismo problema con la consola de pantalla negra después de arrancar un debian (arquitectura sparc)

La solución es instalar un cliente VNC y agregar el parámetro "-vnc 127.0.0.1:20" a qemu-system-xyz. Después de iniciar la máquina virtual, desde el Cliente VNC se conecta a 127.0.0.1:20, presione ctrl-alt-3 y espere el mensaje de inicio de sesión.



Redirigir la salida de Qemu a la terminal puede causar algún problema (personalmente no me gusta). Puede usar opciones como -noframe (esto creará una nueva ventana pero no un marco de ventana) o -curses para experimentar la salida de qemu en el terminal.