FreeDOS Networking with VirtualBox 4.x

Running a FreeDOS guest in VirtualBox is a bit complicated. Especially exchanging files with the host is tricky. A networked FreeDOS guest would solve the problem, as it could exchange the files over the network. To make things a bit easier I have built a FreeDOS Virtual Machine with an already activated network.

I updated this FreeDOS image to the new FreeDOS 1.1 Beta version.

If you prefer to work with the stable FreeDOS 1.0 FullCD image, you can still find it here.


Warning: High CPU usage of DOS installations in VirtualBox

You may note increased fan activity when running a DOS / FreeDOS installation in VirtualBox. Please read http://lazybrowndog.net/freedos/virtualbox/heat to learn more about the problem and to prevent possible damage to your real computer.


Ulrich Hansen, October 11th, 2011



Installation

  • Run VirtualBox 4.0.0 or higher on the platform of your choice (Mac, GNU/Linux, Windows).
  • Choose "New".
  • Give the VM a name. Choose "Operating System: Other", "Version: DOS"

    Virtualbox - New VM

  • Choose 32 MB RAM

    Virtualbox Memory VM

  • Choose "Use Harddisk" and navigate to the downloaded VDI file.

    Virtualbox Use Harddisk

  • Choose "Finish"
  • After the installation choose the new VM on the left side of the VirtualBox window. On the right side scroll down to the "Network" section and click on "Network".
  • Enable the network adapter. Choose "Bridged Adapter". In the section "name" choose your hosts connection to the network (WLAN or Ethernet/eth0).

    Virtualbox Network Bridge

  • Start the FreeDOS VM.





Startup

VBox Bootmenu

The bootmenu options are:

  • 1. FreeDOS (minimal, without most drivers and memory management)
  • 2. FreeDOS (minimal, with CD drive support)
  • 3. FreeDOS 1.1 with a loaded packet driver and the network available.
  • 4. FreeDOS with MS-Client and TCP/IP drivers
  • 5. FreeDOS with MS-Client and NetBEUI drivers
  • 6. FreeDOS with MS-Client and IPX drivers

The last two options (NetBEUI and IPX) are only useful, if you have another client in the network that is still running these protocols.

After FreeDOS started, you can use the shortcut "mc" or "nc" to start up the Norton Commander clone Doszip and get an overview over the FreeDOS system.

Vbox Norton Commander





Networking with the FreeDOS virtual machine

Boot with option 3 activated (or 4,5 or 6 if you need MS-Client).

Networking applications preinstalled are:

  • mTCP - a collection of TCP/IP programs including a new FTP server
  • Arachne - a web browser
  • wget - command line file retriever
  • Sioux - a webserver
  • ftpsrv32 - another FTP server
  • SSH2DOS - a SSH client

and basic networking applications like ping, ftp, etc. that come as part of these TCP/IP software packages:

  • WATTCP
  • WATT32
  • and mTCP.



Configuration

DHCP

Some apps like Arachne, mTCP and wget are configured automatically with DHCP. So if you have a router with DHCP activated (default) and broadband internet, you just can start to surf the web by typing "Arachne" or download files with wget.

VBox Arachne

DHCP is configured for Arachne, mTCP and wget in C:\FDOS\WATTCP.CFG

The only thing you have to correct manually is the IP of your router. Preconfigured is the IP 192.168.1.1.




mTCP

The mTCP apps are configured by running "DHCP.EXE" from the directory C:\NETWORK\APPS\MTCP.

I already added the command DHCP.EXE to the AUTOEXEC.BAT as you may have noted. Change it, if you don't find it useful.


Fixed IPs

In some configurations you need to use fixed IP adresses. The programs in C:\NETWORK\WATTCP and C:\NETWORK\WATT32 need fixed IPs. And also NTCPDRV (the Sioux webserver) needs fixed IPs

You can set fixed IP in these configuration files:

  • C:\FDOS\WATTCP.CFG
  • C:\NETWORK\DRIVERS\NTCPDRV\NTCPCFG.BAT

Preconfigured in NTCPCFG.BAT is the IP "192.168.1.80" and the Router/Gateway/DNS server as "192.168.1.1". In most cases you want to change these settings.

In AUTOEXEC.BAT the mTCP DHCP client is automatically started. Please deactivate the line, if you like to work with fixed IPs in mTCP and configure C:\FDOS\MTCP.CFG manually instead.




MS-Client

Please set the name of your workgroup in the following lines of C:\NETWORK\MSCLIENT\SYSTEM.INI:

workgroup=

logondomain=

By default MS Client works with DHCP. If you need fixed IPs, set them in the section [TCPIP] of the file C:\NETWORK\MSCLIENT\PROTOCOL.INI.




How to exchange files between your host and your FreeDOS client.

FTP

The easiest way to exchange files between host and FreeDOS guest is FTP.

Start the mTCP FTP-Server in the FreeDOS client:

ftpsrv

This shortcut starts the server C:\FDOS\BIN\ftpsrv.exe. Then login from the host with a graphical FTP client like Filezilla or Cyberduck (Mac).

VBox Filezilla

To connect with Filezilla open the Site Manager and add a new site. Enter the IP address of the server into the line "Host:". Normally mTCP ftpsrv should have retrieved an IP automatically by your DHCP server. It is shown at boot. Or look into C:\FDOS\MTCP.CFG to see the IP.

The preconfigured username is "freedos" and the password is "freedos". Please change this in the mTCP password file C:\FDOS\FTPPASS.TXT as soon as possible.

After your FTP session stop the server by typing CTRL-C in the FreeDOS guest.

FTP with WATT32 ftpsrv32

mTCP ftpsrv is still in development. If you prefer the older FTP-server ftpsrv32 of the WATT32 applications, please start the server by entering

ftpd

Please be sure you have configured the configuration file C:\FDOS\WATTCP.CFG manually to use fixed IPs. The server doesn't seem to run with DHCP.

WATT32 ftpsrv32 doesn't need a password. So use "Anonymous" as Logon Type in Filezila.

Settings for Filezilla

After your FTP session stop the server by typing ESC in the FreeDOS guest.

Warning: The ftpsrv32.exe FTP Server accepts anonymous login only. So be careful to have a firewall or a router between the machine and the internet!


MS Client

VBox MS Client

  • Set up a shared folder on your Host. Allow read and write access.
  • Boot the FreeDOS VM with MS Client TCP/IP support.
  • Type

    net view

    in your FreeDOS client. The name of your host should show up.

  • Type

    net view \\hostname

    to show the shared folders of your host.

  • Now map a drive to that share by the following command in the FreeDOS client:

    net use E: \\hostname\share

That's it. Change to E: in the FreeDOS client to work with the shared folder of your host.

Have fun !


CHANGELOG: Changes to FreeDOS 1.1 Beta:

I did some changes to the original Beta: