If you want to build a working FreeDOS 1.2 with MS Client in VirtualBox from scratch, you need:
Prerequisites:
- The
FD12CD.ISO
FreeDOS 1.2 install CD, - the NDIS driver
PCNTND
for the Am79C973 network card , DIS_PKT9
, a “shim”, that makes the NDIS driver act as packet driver.
And three files from Microsoft:
- MS Client
DSK3-1.EXE
, - MS Client
DSK3-2.EXE
, - The MS Client patch
WG1049.EXE.
Sometimes “ftp.microsoft.com” is hard to reach. An image of the site with all its files can found in archive.org.
If you own the Windows NT 4.0 CD, create the Network Client disks with “Network Client Administrator” – “Make Installation Disk Set“.
Store the files
Insert the FreeDOS CD and install FreeDOS in VirtualBox. Choose VHD as image type. Read the freedos wiki for details.
Afterwards it is important to Power the virtual machine OFF.
(Do not choose the option: “Save the machine state”).
- Mount the VHD according to the wiki.
- Make an install directory „
C:\SOFTWARE
“
Now make subdirectories and copy the drivers into them:
- Unpack
PCNTND.CAB
toC:\SOFTWARE\PCNTND
- Unpack
DIS_PKT9.ZIP
toC:\SOFTWARE\DIS_PKT9
- Put
WG1049.EXE
inC:\SOFTWARE\WG1049
- Put
DSK3-1.EXE
andDSK3-2.EXE
inC:\SOFTWARE\MSC
.
Now it is important again to unmount (eject) the VHD!
The host should not access the image, while it is live in VirtualBox. Otherwise the image might get corrupted.
MS Client Setup
- Boot FreeDOS and do:
cd
C:\SOFTWARE\MSC
- Run both
*.EXE
files. Let the second one overwrite the two files which were double on the floppies. - Run
SETUP.EXE
from the same directory. - Let it install itself into
C:\NET
. - For now choose the „Advanced Micro Devices AM2100/AM1500T“ driver.
- Let setup change the buffers
- Choose a username, f.i. „freedos“
Do NOT confirm your settings with „The listed options are correct“. Instead: Choose „Change Network Configuration“ and remove the „NW Link IPX Compatible Transport“.
Replace it with „Microsoft TCP/IP“.
You can confirm the rest with „Network configuration is correct“ and „The listed options are correct“.
Please do NOT reboot your FreeDOS machine. Press F3 instead. We have to copy the other drivers to C:\NET and change a few configuration files.
Now we install Microsofts MS Client patch. It enables MS Client to provide network shares. Most people will want this. Command:
cd C:\NET
.move net.exe net.old
move net.msg netmsg.old
move neth.msg neth.old
cd C:\SOFTWARE\WG1049
- Run:
WG1049.EXE
copy NET*.* C:\NET
We need the NDIS driver for our network card:
cd C:\SOFTWARE\PCNTND
copy *.* C:\NET
And the packet driver converter:
cd
C:\SOFTWARE\DIS_PKT9
copy *.* C:\NET
Configuration:
Make a copy of the old configuration files:
copy C:\AUTOEXEC.BAT C:\AUTOEXEC.OLD
copy C:\AUTOEXEC.BAT C:\AUTOEXEC.OLD
copy C:\FDCONFIG.SYS C:\FDCONFIG.OLD
move C:\CONFIG.SYS C:\CONFIG.OLD
copy C:\NET\PROTOCOL.INI C:\NET\PROTOCOL.OLD
copy C:\NET\SYSTEM.INI C:\NET\SYSTEM.OLD
- Shutdown the FreeDOS machine.
- Mount the VHD file.
- Replace the configuration with these files:
C:\AUTOEXEC.BAT
@ECHO OFF SET DOSDIR=C:\FDOS SET LANG=EN SET TZ=UTC SET PATH=%dosdir%\BIN if exist %dosdir%\LINKS\NUL SET PATH=%path%;%dosdir%\LINKS SET NLSPATH=%dosdir%\NLS SET HELPPATH=%dosdir%\HELP SET TEMP=%dosdir%\TEMP SET TMP=%TEMP% SET BLASTER=A220 I5 D1 H5 P330 SET DIRCMD=/P /OGN /Y SET COPYCMD=/-Y IF "%config%"=="4" GOTO END LH FDAPM APMDOS IF "%config%"=="2" LH SHARE rem IF EXIST %DOSDIR%\BIN\DOSLFN.COM LH DOSLFN REM NLSFUNC %dosdir%\BIN\COUNTRY.SYS REM DISPLAY CON=(EGA),858,2) REM MODE CON CP PREP=((858) %dosdir%\CPI\EGA.CPX) REM KEYB US,858,%dosdir%\bin\keyboard.sys REM CHCP 858 REM MKEYB UK IF "%config%"=="5" GOTO NET DEVLOAD /H /Q %dosdir%\BIN\UDVD2.SYS /D:FDCD0001 REM MOUSE CTMOUSE SHSUCDX /QQ /D3 REM LH SHSUCDHD /QQ /F:FDBOOTCD.ISO REM DEVLOAD /H /Q %dosdir%\BIN\UIDE.SYS /H /D:FDCD0001 /S5 SHSUCDX /QQ /~ /D:?SHSU-CDR,D /D:?SHSU-CDH,D /D:?FDCD0001,D /D:?FDCD0002,D /D:?FDCD0003,D MEM /C /N SHSUCDX /D GOTO END :NET SET PATH=%PATH%;C:\NET LH SHARE LH C:\NET\net initialize C:\NET\netbind.com rem LH C:\NET\umb.com C:\NET\tcptsr.exe C:\NET\tinyrfc.exe LH C:\NET\nmtsr.exe rem C:\NET\emsbfr.exe C:\NET\DNR.EXE LH C:\NET\net start :END SET AUTOFILE=%0 SET CFGFILE=C:\FDCONFIG.SYS alias reboot=fdapm warmboot alias reset=fdisk /reboot alias halt=fdapm poweroff alias shutdown=fdapm poweroff alias cfg=edit %cfgfile% alias auto=edit %0 set OS_NAME=FreeDOS set OS_VERSION=1.2 if exist %dosdir%\bin\fdnet.bat call %dosdir%\bin\fdnet.bat start if exist %dosdir%\bin\welcome.bat call %dosdir%\bin\welcome.bat
C:\FDCONFIG.SYS
SET DOSDIR=C:\FDOS !COUNTRY=001,858,C:\FDOS\BIN\COUNTRY.SYS !LASTDRIVE=Z !BUFFERS=20 !FILES=40 !MENUCOLOR=7,0 MENUDEFAULT=5,5 MENU 1 - Load FreeDOS with JEMMEX, no EMS (most UMBs), max RAM free MENU 2 - Load FreeDOS with EMM386 (Expanded Memory) and SHARE loaded MENU 3 - Load FreeDOS without drivers (Emergency Mode) MENU 4 - Load FreeDOS low with some drivers (Safe Mode) MENU 5 - Load FreeDOS with MS Client 124?DOS=HIGH 12?DOS=UMB 124?DOSDATA=UMB 1?DEVICE=C:\FDOS\BIN\JEMMEX.EXE NOEMS X=TEST I=TEST NOVME NOINVLPG 234?DEVICE=C:\FDOS\BIN\HIMEMX.EXE 2?DEVICE=C:\FDOS\BIN\JEMM386.EXE X=TEST I=TEST I=B000-B7FF NOVME NOINVLPG 34?SHELL=C:\FDOS\BIN\COMMAND.COM C:\FDOS\BIN /E:1024 /P=C:\AUTOEXEC.BAT 12?SHELLHIGH=C:\FDOS\BIN\COMMAND.COM C:\FDOS\BIN /E:1024 /P=C:\AUTOEXEC.BAT ; These are the lines for MS Client 5?DOS=HIGH 5?DOS=UMB 5?DOSDATA=UMB 5?DEVICE=C:\FDOS\BIN\JEMMEX.EXE NOEMS X=TEST I=B000-B7FF I=C800-EFFF NOVME NOINVLPG 5?VERSION=6.22 5?STACKS=9,256 5?FILES=20 5?device=C:\NET\ifshlp.sys 5?LASTDRIVE=Z 5?SHELLHIGH=C:\FDOS\BIN\COMMAND.COM C:\FDOS\BIN /E:1024 /P=C:\AUTOEXEC.BAT
C:\NET\PROTOCOL.INI
[network.setup] version=0x3110 netcard=PC_CARD,1,PC_CARD,1 transport=tcpip,TCPIP lana0=PC_CARD,1,tcpip [TCPIP] NBSessions=6 ; SubNetMask0=255 0 0 0 ; IPAddress0=0 0 0 0 DisableDHCP=0 DriverName=TCPIP$ BINDINGS=PC_CARD LANABASE=0 [PC_CARD] DriverName=PCNTND$ [protman] DriverName=PROTMAN$ PRIORITY=MS$NDISHLP ; [MS$NDISHLP] ; DriverName=ndishlp$ ; BINDINGS=PC_CARD [PKTDRV] drivername=PKTDRV$ bindings=PC_CARD intvec=0x60 chainvec=0x66
C:\NET\SYSTEM.INI
[network] sizworkbuf=1498 filesharing=yes printsharing=yes autologon=no computername=FREEDOS lanroot=C:\NET username=FREEDOS workgroup=WORKGROUP reconnect=no dospophotkey=N lmlogon=0 logondomain=WORKGROUP preferredredir=full autostart=full maxconnections=8 [network drivers] netcard=pcntnd.dos transport=tcpdrv.dos,nemm.dos,dis_pkt9.dos devdir=C:\NET LoadRMDrivers=yes [386enh] TimerCriticalSection=5000 UniqueDosPSP=TRUE PSPIncrement=2 [Password Lists] *Shares=C:\NET\Shares.PWL FREEDOS=C:\NET\FREEDOS.PWL
C:\NET\TCPUTILS.INI
[tcpglobal] drivername=GLOBAL$ hostname=username [sockets] drivername=SOCKETS$ bindings=TCPIP numsockets=4 numthreads=32 poolsize=3200 maxsendsize=1024 [telnet] drivername=TELNET$ bindings=TCPIP nsessions=0 max_out_sends=0 [dnr] drivername=DNR$ bindings=TCPIP
Learn more about configuring MS Client and NDIS drivers.
After changing the configuration files above:
- Reboot.
Clean up
If everything works:
- Remove the old configuration files.
- Delete the
C:\SOFTWARE
directory.
Two more things
If you just want to use MS Client with FreeDOS 1.2, you are good to go with the configuration above.
But I suggest two more small changes:
- A DHCP client (freeware) that updates the configuration files for other DOS networking programs at startup.
- The old memory manager (Open Source) from FreeDOS 1.0. (Some users say it’s still running more stable in VirtualBox).
For making these changes, please:
- Download the freeware DDHCP from Dave Dunfield’s website.
- Download EMM386.EXE and HIMEM.EXE
- Shut down the virtual machine.
- Mount the VHD image file.
- Unpack
DDHCP.ZIP
intoC:\UTIL\DDHCP
. - Copy the two files
EMM386.EXE
andHIMEM.EXE
from the\BIN
directory ofEMMX226.ZIP
intoC:\UTIL\EMM386
.
Unmount the VHD and boot the FreeDOS virtual machine.
DHCP
To enable DHCP:
- At the DOS prompt, command:
SET WATTCP.CFG=%dosdir%
SET MTCPCFG=%dosdir%\MTCP.CFG
- Create a file
C:\FDOS\MTCP.CFG
with a line:
packetint 0x60
- Create an empty file
C:\FDOS\WATTCP.CFG
. - Run:
C:\UTIL\DDHCP\DDHCP.COM /M /W /F /R
DDHCP retrieves the network configuration and writes it into MTCP.CFG
and WATTCP.CFG
.
- To repeat this at every startup, add the following lines to the end of the section
:NET
inAUTOEXEC.BAT
:SET WATTCP.CFG=%dosdir%
SET MTCPCFG=%dosdir%\MTCP.CFG
C:\UTIL\DDHCP\DDHCP.COM /M /W /F
Note: Your FreeDOS machine will get two IP-addresses: One for Microsofts TCP/IP, one for other DOS networking programs.
EMM386
If you prefer to use the old memory manager of FreeDOS 1.0 instead of “JEMMEX”, the default in FreeDOS 1.2, edit FDCONFIG.SYS.
Replace the line:
5?DEVICE=C:\FDOS\BIN\JEMMEX.EXE NOEMS X=TEST I=B000-B7FF I=C800-EFFF NOVME NOINVLPG
with these two:
5?DEVICE=C:\UTIL\EMM386\HIMEM.EXE
5?DEVICE=C:\UTIL\EMM386\EMM386.EXE NOEMS X=EF00-EFFF
And reboot.