On Sunday 14 March 2010 16:28:32 Aurelien Jarno wrote: > On Sat, Mar 13, 2010 at 05:11:43PM -0600, Rob Landley wrote: > > I found out that "-serial stdio" is apparently trying to open /dev/stdio, > > which Ubuntu 9.04 hasn't got. If I say -serial /dev/tty it works from > > the command line (but not in scripts). > > This is actually not specific at all to sh4. See this thread: > http://www.mail-archive.com/qemu-devel@nongnu.org/msg20920.html
http://www.mail-archive.com/qemu-devel@nongnu.org/msg22763.html > This is redundant. -nographic implies -serial stdio. Trying with just -nographic and no -serial lines, I get: $ qemu-system-sh4 -M r2d -nographic -no-reboot -kernel zImage-sh4 -hda image- sh4.sqf -append "root=/dev/sda rw init=/usr/sbin/init.sh panic=1 PATH=/usr/bin console=ttySC0 noiotrap HOST=sh4" long read to SH7750_WCR1_A7 (0x000000001f800008) ignored long read to SH7750_WCR2_A7 (0x000000001f80000c) ignored long read to SH7750_WCR3_A7 (0x000000001f800010) ignored long read to SH7750_MCR_A7 (0x000000001f800014) ignored long read to SH7750_MCR_A7 (0x000000001f800014) ignored And it hangs. No output from any of the kernel serial writes. http://www.mail-archive.com/qemu-devel@nongnu.org/msg22775.html > > eg this should work as you'd expect it > > > > qemu -nodefaults -nographic -serial stdio > > -nographic is basically equivalent to -serial mon:stdio,signal=on -vga none > except it operates on defaults. Your invocation actually ends up being very > different as it doesn't multiplex the monitor and it doesn't disable ctrl-c. > Basically, your invocation is equivalent to qemu -vga none -serial stdio http://www.mail-archive.com/qemu-devel@nongnu.org/msg22775.html $ qemu-system-sh4 -M r2d -nographic -no-reboot -kernel zImage-sh4 -hda image- sh4.sqf -append "root=/dev/sda rw init=/usr/sbin/init.sh panic=1 PATH=/usr/bin console=ttySC0 noiotrap HOST=sh4" -vga none -serial stdio chardev: opening backend "stdio" failed qemu: could not open serial device 'stdio': Inappropriate ioctl for device http://www.mail-archive.com/qemu-devel@nongnu.org/msg22777.html $ qemu-system-sh4 -M r2d -nodefaults -nographic -serial stdio -no-reboot - kernel zImage-sh4 -hda image-sh4.sqf -append "root=/dev/sda rw init=/usr/sbin/init.sh panic=1 PATH=/usr/bin console=ttySC0 noiotrap HOST=sh4" long read to SH7750_WCR1_A7 (0x000000001f800008) ignored long read to SH7750_WCR2_A7 (0x000000001f80000c) ignored long read to SH7750_WCR3_A7 (0x000000001f800010) ignored long read to SH7750_MCR_A7 (0x000000001f800014) ignored long read to SH7750_MCR_A7 (0x000000001f800014) ignored And the hang's back, no output... Ok, this seems to work: qemu-system-sh4 -M r2d -nodefaults -nographic -serial null -serial stdio -no- reboot -kernel zImage-sh4 -hda image-sh4.sqf -append "root=/dev/sda rw init=/usr/sbin/init.sh panic=1 PATH=/usr/bin console=ttySC0 noiotrap HOST=sh4" I no longer even pretend to know why... Do I have to say "-nodefaults" on every other target as well to disable the unwanted monitor I never knew was there? Rob -- Latency is more important than throughput. It's that simple. - Linus Torvalds