The time now is Fri 24 Nov 2017, 11:04
All times are UTC - 4
Joined: 10 Jul 2008
Location: Lake Charles, LA
|Posted: Wed 13 Jan 2010, 17:11 Post subject:
Run DOS/WFW in VirtualBox
Subject description: Setting up a VirtualBox client with COM1 serial and Shared Folders
Fortunately there are some key how-to's others have done to get this accomplished. I'm using a puppy flash drive, and installed everything on a 1GB flash drive. I'm using it to boot a simple PC with a physical serial port used to communicate and program a PLC (industrial controller used to control valves, pumps, etc.) A number of these PLC's have been around a long time, and many engineers still have legacy software used to maintain them. Of course this client should also be perfectly happy providing a platform for DOS, or Win311 games as well.
The steps, and references to do this:
1. Create a Puppy bootable flash drive, and boot from it.
2. Install VirtualBox. I followed all of gray's excellent reference using his pet:
3. Prepare to load DOS, and Windows for Workgroups. I made this a lot easier on myself by creating image files of the actual installation disks. In my case I used an XP machine with WinImage software to create .ima files of the DOS and WFW installation diskettes. Note that when opening floppy image files on the VirtualBox floppy drive, you may have to change the selection for "File of type" to "All Files" dependent on your image file extension as VirtualBox defaults to display only ".img" extensions.
4. Create a virtual machine in VirtualBox, and load the DOS, and WFW software. The reference I used in doing so was this good How-To:
My application software only required DOS, but I wanted to easily move files between it, and the puppy host. To accomplish this I installed WFW to have networking available (easier to setup and use than straight DOS networking); networking is required to setup a network drive which in turn can use Samba which points to a share folder.
Specific settings of note on the VirtualBox Client:
| General - Basic
Operating System: Other
Network - Adapter 1
Enable Network Adapter (checked)
Attached to: Host-only Adapter
Advanced - Adapter Type
Pcnet-PCI II (Am79C970A)
Cable connected (checked)
Serial Ports - Port 1
Enable Serial Port (checked)
Port Number: COM1 (IRQ 4 and IO Port 0x3F8)
Port Mode: Host Device
Port/File Path: /dev/ttyS0
Folder Path: /root/my-documents
Folder Name: CI4268
You will also need to download a WFW driver for the network adapter, and another one for the TCP/IP protocol to associate with it.
The network adpater driver is NDIS2 driver for IBMADOS and is at
The TCP/IP protocol download link is at
5. Complete installing all the DOS/WFW software, and drivers. For reference my autoexec.bat file looks like this:
C:\WINDOWS\MSCDEX.EXE /S /D:CD001
and my config.sys file looks like this:
6. Install and setup Samba. Again fortunately a great how-to using vtpup's PET is here:
Do create the directory etc/samba and in it create a symlink to the actual location of the Samba configuration file.
|ln -s /etc/opt/samba/smb.conf /etc/samba/smb.conf |
My smb.conf file is very simple, and looks as follows:
|# Global parameters
workgroup = Workgroup
server string = Samba Server %v
log file = /var/log/samba/log.%m
max log size = 50
security = USER
comment = my-documents folder on host
path = /root/my-documents/
public = yes
guest ok = yes
writable = yes
printable = no
Note that with the Share defined here, and the Shared Folder settings in the VirtualBox client that the client can "see" everything under /root/my-documents, but can only write to locations under /root/my-documents/CI4268
7. Now to make the network share function, make sure Samba is running which if you created rc.samba as directed in the post I referenced can be done manually by
|/etc/rc.d/rc.samba start |
Next make sure you add a user to puppy, and to the samba user list. I used the same user, and password for these as I did for the WFW login.
|add user <username>
smbpasswd -a <username>
I'm still working on automating step 7 so it happens every boot. Didn't seem to want to work in rc.local, or rc.services but I've only tried once so far.
8. In order to make the serial port work from the client you MUST execute the following command in puppy which I appended to rc.local so it executes on every bootup.
|setserial /dev/ttyS0 |
9. Startup your client, and WFW. Add a network drive, and you should be able to browse to \\puppypc\ with MyDocs as a Shared Folder (the name comes from the smb.conf file).
10. Have fun!
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Powered by phpBB © 2001, 2005 phpBB Group