qemu + freedos + novnc

Back to DOS!

Introduction

Did you know that:
  • qemu [1] can use vnc as display output?
  • FreeDOS [2] can replace MSDOS?
  • novnc [3] is a vnc client which only need HTML5 and WebSocket?

Let's mix everything together~

Setup

Install qemu:

apt install qemu
[...]
qemu-img create -f raw freedos.img 100M

Download FreeDOS:

wget http://www.freedos.org/download/download/FD12CD.iso

Start qemu with vnc (inspired from [4]):

qemu-system-i386 -vnc :1 -m 32M -drive file=freedos.img,media=disk,format=raw -drive file=FD12CD.iso,media=cdrom -boot order=d

Download novnc:

wget http://github.com/kanaka/noVNC/tarball/master
tar xf master
cd novnc-noVNC-55b459b/utils

Start websockify:

./launch.sh --vnc 127.0.0.1:5901

Note: The base port of vnc is 5900. Each display has its port: display 0 is 5900, display 1 is 5901, ...

Screenshots

Good old MSDOS

Even has mouse support out of the box!