Closed mcandre closed 5 years ago
In theory a FreeDOS or Windows (with only command line support) is within scope, but I don't have the time create/troubleshoot it, so someone else would need to be responsible for creating/maintaining those configs.
To qualify for Vagrant images though, they need to host an SSH server. I know Windows can, but not sure about FreeDOS?
Feel free to submit a pull request with one of those base boxes added to the pipeline, and/or reopen this issue with any comments/questions/concerns.
To qualify for Vagrant images though, they need to host an SSH server.
For MS-DOS and FreeDOS, it is difficult to setup an SSH server. None appears to have been written for this platform, only SSH clients. Worse, DOS does not emphasize multitasking, so it is problematic to run any second process via SSH. There are some telnet servers available, such as rmenu
and some BBS applications. But as before, these don't support executing external commands remotely.
Perhaps some other DOS variants are better suited to multithreading, which is one reason I started looking into OS/2 Warp. In addition, Warp includes a built-in TCP/IP networking stack, which MS-DOS and FreeDOS lacked without installing separate extensions.
Fortunately, there does seem to be a way to wire up Vagrant (e.g. VirtualBox provider) to a console tty, at which point some rudimentary instructions could be relayed.
A third method would involve sending keyboard scancodes to the DOS guest.
A fourth method would involve wrapping the DOS guest inside another guest, and translating scancodes / TTY console commands on behalf of the outer guest's SSH server.
Hi,
Could we get base boxes published for FreeDOS, MS-DOS, Concurrent DOS XM, DR-DOS, and DOS Plus? This would help to test legacy support for old C and Pascal applications.
Install media:
https://winworldpc.com/home
Note that many Pascal-based DOS applications present a divide by zero error when run on virtual processes at 200 MHz or faster. Fortunately, tppatch can resolve such errors:
http://www.ipnet6.org/tppatch.html
Note that some telnet servers such as rmenu often drop characters when sent too quickly.
Note that most DOS distributions lack preemptive multitasking, making it more difficult to perform typical provisioning steps over a network connection (telnet).
In other words,
wget
,curl
,ftp
,ping
,htget
, etc., must be performed viaboot_command
or similar keyboard action. Hopefully you can find a network stack (mTCP, WATTCP, etc.), telnet server (rmenu, various BBS's, etc.), and/or FOSSIL driver configuration that is able to run network applications within the context of a telnet session.For this reason, it is recommended to select a telnet server and client featuring XMODEM / YMODEM support, so that the host can perform any remote network tasks like retrieving git repositories, and the DOS box can receive these remote files from the host over XMODEM / YMODEM using the DOS telnet server, without conflicting with the one-network-app-at-a-time limitation.
Perhaps a Terminate and Stay Resident (TSR) telnet server would suffice? Or some kind of serial virtual COM setup could send commands and receive stdout/stderr? Again, keyboard provisioning is perhaps the most automation-friendly approach, with
tee
capturing output to a log file and rsync ferrying the output back to the host for displaying. Good luck!