Skip to contentSkip to conversation

Controlling (WinXP-Guest)- Textmode via chardev pipe broken?

DISCUSSION Oliver Rath 2 participants 3 messages Dec 20, 2011 – Dec 22, 2011 KVM

lore
Share & tools
lore
#0 lore raw

Hi List,

Im trying to control a winxp installation process (esp. the text-mode part) via pipe through kvm. Im using the git-version of kvm from yesterday (2011-12-19), build with these parameters:

~/qemu-kvm$ ./configure --enable-sdl
~/qemu-kvm$ make
~/qemu-kvm$ sudo make install

What works:

1. Generating ~/.winpipe/path.{in,out}via mkdir .winpipe; mkfifo .winpipe/path.in; mkfifo .winpipe/path.out
2. Creating emty image via qemu-img create win.img 20G
3. Starting kvm via: qemu-system-x86_64 -m 1G -hda win.img -cdrom winxpsp3.iso -chardev pipe,id=mywinpipe,path=.winpipe/path

What doesn't:

1. Piping some text via echo "R" > .winpipe/path.in (i.e. for starting repair console in winxp-textmode) doesnt have any effect
2. Reading from path.out via cat ~/.winpipe/path.out (nothing happens except the vm ends, then the command "cat .winpipe/path.out" ends, too) has no result, only waiting
3. There is no .pipe/ directory inside winxp, wether on C: nor on D:
(looked in via starting repair-console with "R")

Whats wrong?

Tfh!

Oliver

#1 lore raw
Quoted 29 lines · Oliver Rath

Hi List,

Im trying to control a winxp installation process (esp. the text-mode part) via pipe through kvm. Im using the git-version of kvm from yesterday (2011-12-19), build with these parameters:

~/qemu-kvm$ ./configure --enable-sdl
~/qemu-kvm$ make
~/qemu-kvm$ sudo make install

What works:

1. Generating ~/.winpipe/path.{in,out}via mkdir .winpipe; mkfifo .winpipe/path.in; mkfifo .winpipe/path.out
2. Creating emty image via qemu-img create win.img 20G
3. Starting kvm via: qemu-system-x86_64 -m 1G -hda win.img -cdrom winxpsp3.iso -chardev pipe,id=mywinpipe,path=.winpipe/path

What doesn't:

1. Piping some text via echo "R" > .winpipe/path.in (i.e. for starting repair console in winxp-textmode) doesnt have any effect
2. Reading from path.out via cat ~/.winpipe/path.out (nothing happens except the vm ends, then the command "cat .winpipe/path.out" ends, too) has no result, only waiting
3. There is no .pipe/ directory inside winxp, wether on C: nor on D:
(looked in via starting repair-console with "R")

Quoted 1 line

Whats wrong?

Are you sure that windows is using the serial device at all?

You're not emulating a keyboard there, you're emulating input from a serial device.

Signature · 1 line
Sasha.
#2 lore raw

SOLVED [was Re: Controlling (WinXP-Guest)- Textmode via chardev pipe broken?]

Am 20.12.2011 13:08, schrieb Sasha Levin:

Quoted 7 lines

[..]
Whats wrong?
Are you sure that windows is using the serial device at all?

You're not emulating a keyboard there, you're emulating input from a serial device.

HI Sasha,

Ive found a better solution:

It is possible to pipe the qemu-monitor:

qemu ... -monitor pipe:.winpipe/path

so Im able to send commands through the path.in pipe via sendkey-kommand, i.e.

echo "sendkey r" > .winpipe/path.in echo "sendkey d" > .winpipe/path.in echo "sendkey shift-dot" > .winpipe/path.in echo "sendkey ret" > .winpipe/path.in

Its not very komfortable, but does its job :-)

Tfh!

Regards,

Oliver