I downloaded QEMU 2.2.0, and built a qemu-system-arm from there. I loaded a versatile kernel 2.6.32.5 and my own file system.
#qemu-system-arm -pidfile /tmp/qemu_0_pids/0.pid -M versatilepb -option-rom efi-rtl8139.rom -initrd newinitrd -kernel vmlinuz-2.6.32-5-versatile -append "root=/dev/sda1 console=ttyAMA0" -hda new.qcow2 -drive file=fat:rw:./data -nographic -no-reboot I see following message while the kernel is booting: [ 3.873429] dev:f1: ttyAMA0 at MMIO 0x101f1000 (irq = 12) is a AMBA/PL011 [ 3.884631] console [ttyAMA0] enabled [ 3.889783] dev:f2: ttyAMA1 at MMIO 0x101f2000 (irq = 13) is a AMBA/PL011 [ 3.890646] dev:f3: ttyAMA2 at MMIO 0x101f3000 (irq = 14) is a AMBA/PL011 I think the serial ports of ttyAMA[0-2] are enabled. Then I try to do serial redirection: #qemu-system-arm -pidfile /tmp/qemu_0_pids/0.pid -M versatilepb -option-rom efi-rtl8139.rom -initrd newinitrd -kernel vmlinuz-2.6.32-5-versatile -append "root=/dev/sda1 console=ttyAMA0" -hda new.qcow2 -drive file=fat:rw:./data -nographic -no-reboot *-serial stdio -serial pty* However, I get error message: QEMU 2.2.0 monitor - type 'help' for more information *(qemu) qemu-system-arm: -serial stdio: cannot use stdio by multiple character devices* It's weired to me. I don't think there is another one other than qemu itself holding the stdio. Then I try to do redirect serial to both pty: #qemu-system-arm -pidfile /tmp/qemu_0_pids/0.pid -M versatilepb -option-rom efi-rtl8139.rom -initrd newinitrd -kernel vmlinuz-2.6.32-5-versatile -append "root=/dev/sda1 console=ttyAMA0" -hda new.qcow2 -drive file=fat:rw:./data -nographic -no-reboot -redir tcp:5000::22 *-serial pty -serial pty* It works fine this time. I got following output: vvfat ./data chs 1024,16,63 QEMU 2.2.0 monitor - type 'help' for more information (qemu) char device redirected to /dev/pts/87 (label serial0) char device redirected to /dev/pts/88 (label serial1) Then I do `cat /dev/pts/86` I see the kernel boot progress messages. When the guest has booted, I ssh to guest and do following experiment: (1) on host: #cat /dev/pts88 on guest: #echo "alex" > /dev/ttyAMA1 I see "alex" on host. (2) on guest: #cat /dev/ttyAMA1 on host: #echo "alex" > /dev/pts88 I see nothing on guest... Why the serial connection is one-way (e.x. guest to host)? How to configure it as dual-way? Any advise on this is highly appreciated!! Thanks! Alex