Interview: Learn About the FreeDOS Project
This week's interview guest is Jim Hall, founder of the FreeDOS project. Jim isn't rich or famous, just an old-fashioned open source contributor who helped start a humble but useful project back in 1994 and still works on it as much as he can. FreeDOS is the DOS behind DOSEmu, so if you've used any DOS programs (like games) under Linux, you've benefited from Jim's work. One question per post, please. Moderators do the question selection, with editorial help only if there are duplicate or overlapping questions. Cutoff for questions and moderation is Tuesday noon, U.S. EST. Jim's answers will appear Friday.
So where are we going - and how far will it take FreeDOS?
Matt Thompson - Actuality - Insert product here.
Seriously, whatever happened to the Larry Augustin interview? I had a really good question pending but for some reason the interview answers never got posted. I don't mind if I don't get an answer to my question, but it's kind of insulting for YOU not to explain why we didn't get a promised story.
---
This comment powered by Mozilla!
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
What is the single most important task you have ever accomplished using FreeDOS?
Marjo Wycam, Master of the Programming Arts
I found out about this a while ago, when I first heard about Litestep, but I've always wondered one thing...
Could you rewrite a version of DOS that'll work with Windows 9x and have the correct slashes ( / ) in the filesystem instead of those bass-ackward ones ( \ ) that are always in the wrong spot to type quickly?
- 8Complex
While it is very nice to have some sort of non-MS DOS available (at least for us gamers), it still basically 15-20 year old technology. How much longer do you think DOS, or DOS emulation, will be necessary?
The cake is a pie
... it will work with most other versions of dos, including DRDOS 7.x, MSDOS 6.x and (i believe) Windows 95 DOS. Of course, these aren't free software. freedos is a bit different in design from msdos/drdos, for example it has a \bin directory which contains dos programs, and other unix-like directories. Also, you don't need dosemu to use freedos! It might seem obvious, but if you have an old 386 with msdos 3.3, and you want to be able to have partitions > 32 mb, then freedos could be a good bet. (For the price of msdos you could buy a new (second-hand) computer).
perl -e 'fork||print for split//,"hahahaha"'
I was once an enthuastic supporter of dos back when it was a viable os. When I saw the freedos project I was quite interested in getting it to work for me in some way. However what turned me off fight from the start was that development seemed a bit; how shall I put this: slow. I have since moved to linux and still run a partition that relies on MSDOS for some things.
Will development increase in capacity, and have you met your goals? I have also read your documentation and you implied that a 32 bit extension to the dos package was at some future time going to be implimented at some future date; you also said that if people didn't like what you had they could move to linux. My related question is when will you be able to impliment these features (32 bit) to your dos project.
Slashdot social engineering at it's finest
Since you must be very well acquainted with the internals of DOS, are there any parts of it that have struck you either as being very clever in a hackerish sort of way, or very clumsy and kludgy (in an equally hackerish sort of way)?
Whilst we all loathed DOS when it was around, there was no debating that it was danged fast for some things, and its complete lack of abstraction was fun for games programmers and the like who got to cut through to the hardware when it suited them (and when it didn't!). Do you miss this rawness and freedom in more protective environments like Unix and Win32?
-----
Do you think this sort of project is only suitable for dead or dying software? By this I mean, DOS hasn't been in significant development for a while now, so making a clone is like reconstructing a static subject. Do you think your project could have been successful during the time of MS-DOS 6.0, or instead do you think commercial developers would have torpedoed your efforts by redesigning their next release to be less cloneable?
Certified Microsoft Notworking Specialist
Where do you see the future of OS/hardware emulation and binary compatibility going, with more new architectures coming out (Crusoe, Merced, etc.)? Do stand-alone legacy OS clones like Free-DOS have a place in this evolving landscape or will backwards compatibility eventually become entirely modularized within compatibility layers in next generation OSes?
I've played a bit with FreeDOS (Beta3) on a spare 386 some. I will likely be trying Beta4 (or later, depending on my time..) in the foreseeable future. I'm reasonably impressed with the "lite" setup version. (Though warning a third disk, blank, may be needed would be a Good Idea, IMO.)
What do you feel are the remaining steps that must be taken to move from beta to the first non-beta version? No, I am NOT asking time to that release, that is always 'longer than desired.' And thank you for your time.
I don't subscribe to RMS's GNUtopian vision.
There are a lot of pseudo embedded DOS based systems out there. My previous employer had a remote access concentrator product in this category, and paid a non-trivial sum per box to Microsoft for DOS 5.0, a product that Microsoft refused to support. Unfortunately, I was unable to convince management to give Free DOS a try.
Has Free DOS made any progress in these types of markets? Are people using Free DOS to replace MS-DOS in these pseudo embedded systems?
The world will not get better through technology. We must seek to be better people.
You obviously havn't checked Wine out lately. It runs 32bit apps better than 16bit apps in the majority of cases. I've even heard from somebody who has had IE5 running on it.
-- Hulver's site
I used to program dos back when it payed the bills and used undocumented dos a lot. What was harder? replicating the undocumented by MS but very well documented by third parties code or the bog standard should have been documented better calls? Sparkes
blog and junk
I have recently setup a client with a Linux server running DOSEMU and one of the requirements was to access network shares from within the DOSEMU session using LREDIR or emufs.sys.
:) )
We had to deploy the system with MS-DOS 6.22 (in other words we could not deply the system using Free DOS) because FAQ 6.1 of the DOSEMU FAQ says "First make sure you aren't using DosC (the FreeDos kernel), because unfortunately this can't yet cope with the redirector stuff. " (I know it doesn't work - I tried anyway
Anyway, my question is, when will FreeDOS work with redirection?
The DVD CCA's argument has essentially become, had MS thought in advance to include but a single sentence in a license agreement, FreeDOS could have been supressed.
How do you feel about this, and what advantages do you feel society has a whole has received from the fruits of your reverse engineered labors? Similarly, what harms would we have as a society if you could never have rewritten DOS?
Yours Truly,
Dan Kaminsky
DoxPara Research
http://www.doxpara.com
A previous Slashdot article included reactions to the settling of Caldera's lawsuit regarding DR-DOS, their non-free DOS clone. What are your feelings on the lawsuit and its settlement? Even though your development isn't focused upon running Windows, have you ever run into any similar "forced incompatibility" issues (Microsoft-related or otherwise)?
What is FreeDOS' take on such quirks? In other words, where the system call specification is more general than what was actually implemented, are you referring back to the specification or what Microsoft actually coded?
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
This might have more to do with the usefulness of freedos beyond being able to run legacy programs or mind bogging fast DOS games :)
Would it be possible at some point to install FreeDOS without using floppies? Or more precisely, would it be possible to install FreeDOS using an El Torito CD-ROM or a ZIP disc? I've got a Linux-only box where I simply refuse to put a floppy disk drive (IMO the floppy is dead), but I have a little problem: I can't flash the BIOS (neither the motherboard nor the graphics card BIOS) from Linux (there was a project to do that, but it got assassinated). Since I don't want to install Windows (and pay US$120) to flash a BIOS, my next option is to use DOS. MS-DOS is not an option (it's hard to find someone who has it, and the installation media is floppy disks, so it's back to square one). FreeDOS seems like an option, except that I haven't been able to install it using neither a CD-ROM nor a ZIP disc (which is the only removable media my box has)
So, I think there must be hundreds of similar uses for FreeDOS, and I was wondering if it's planned to take it just a bit further than its predecessor. Bring DOS into this millenium, so to speak.
AFAIK there is no 'NETWORK REDIRECTOR' or equivalent for FreeDOS at all.
Please comment on what effort(s) you see as needed to NFS network a FreeDOS machine. (I'd be happy to give whatever help I can to get this done.)
BTW- I am doing this with M$DOS and XFS, but AFAIK there is NO WAY to network FreeDOS and get a 'drive letter' which connects to a networked machine or to send LPT1: stuff to a remote printer.
AFAIK, the only major changes between DOS 6.22 and DOS 7.0 (MS flavours) would be the altering of IO.SYS (the kernel and semi-bootstrap code) to parse msdos.sys as a text file (rather than the separate machine code half it was before, ala ibmbio.sys and ibmio.sys), and force the loading of a few extra .sys files from the windows dir.. Not to mention the "lovely" new boot logo..
.sys files needed before win.com swapped the machine to protected mode, and loaded the various Windows components.
Windows "milennium" claims to do away with it, but I think they just tuned io.sys a bit more to not allow a command.com any more. Otherwise, Windows 95 (all revs) and Windows 98 (all revs) would work just fine on any recent DOS kernel (FreeDOS, PCDOS, etc) that supported whatever features the
---
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
Some of us developed Open-Source UNIX console apps that are strict ANSI-C. Without leaving the comfort of our UNIX machines, we can use dos-gcc to make .exe files to distribute along with our tar.gz's and rpm's.
My question to you is, how do you get the rest of the "culture" right for the DOS distro, if you're unwilling to immerse yourself in DOS by using it? I'm basically talking about doing all the stuff that "rpm -i" does automatically on a Linux box, along with issues like portable uses of the ANSI system() and getenv() to do things like find a local C compiler and execute it from your C program. Is there a HOW-TO or FAQ about making your UNIX console program fit (as opposed to work) in a DOS world? Thanks in advance!
P.S. To put the question in perspective, the app I actually maintain is a program that generates C files, thus the compilation issue.
I recall early in the beta 1 days of freedos, reading about LBA support and possibly VFAT and Fat32 support. How has the freedos project considered these goals in recent times, and are these goals attainable?
Desperation is a stinky cologne
I was wondering, since there are still some bugs to work out in the kernel, what is stopping you from doing some good, clean room, reverse engineering (ala the original Compaq BIOS) with the DR-DOS source code. What I mean is; gather up three teams, completely unknown to each other. Team One reads the DR-DOS source, and compiles a very detailed functional spec, and leaves it under a trash can. Team Two "finds" it under the trash can, and creates a very detailed software design, then leaves the software design under a rock. Team Three "finds" the design under the rock and "discovers" what it is for and writes the code.
The only question i want to have answered is: When will FreeDOS acheive the level of compatibility that MS-DOS and PC-DOS acheived in the early nineties?
Recently I had a problem. I had an IBM Thinkpad 500 (486slc2-50, 12 megs ram, 540 meg hd) that had a few bad sectors on the hard disk.
I didn't have any Linux floppies with mkdosfs, and MS-DOS format was bailing when it hit them.
Too cheap to buy a new hard drive, and with lots of time on my hands (down with the flu), I decided that this was unacceptable, and that there must be some way to format around them.
Obviously, the first option is to try one of the free (or free-ish) DOSes.
I downloaded both FreeDOS and DR-DOS, made floppies.
Now, what was disappointing was that the TP500, an admittedly weak notebook, can run MS-DOS, PC-DOS (obviously, shipped with it), any version of OS/2, Win95, Win98 (slowly), and Linux without any problems (other than crappy APM support in Win32) - both FreeDOS and DR-DOS completely refused to boot on it.
I ended up digging out my old OS/2 Warp 4 maintenence disks and using OS/2's format -l2, which worked fine.
I later read that FreeDOS will choke and die on hard drives larger than 528 megs. Also possibly (or maybe quite likely) corrupt the partition table as it dies.
And that this has been a known problem for quite some time now.
I don't think DR-DOS suffers from the same problem, since I've used it on systems with hard drives larger than 528 megs. Obviously there's some sort of deeper weirdness going on, but i can't imagine what.
Granted, my specific problem may be related to the Thinkpad being oddly constructed. Some of these have BIOSs that don't report hard drive geometry, etc, tho this isn't one of them.
But the hard drive limitation sticks out like a sore thumb.
All I can say is, What's the deal?? Aren't there technical docs, even magazine articles about 10 years old that detail how Microsoft and IBM got around those sorts of limitations? I remember lengthy discussions about int13h, etc, adnausium in Byte, PC Mag, etc.
Is it a lack of time? developer apathy? What's the excuse? It seems like these are problems that have been overcome before, that are probably documented somewhere.
I guess I've said what i had to say. Please don't think I'm trying to be a jerk about this.
This is just like television, only you can see much further.
And, relatedly, do you see places where MS seemed to plan to make DOS better, but instead let it languish while they worked towards Windows?
I find DOS to be an extremely useful system, and a necessary one if you're running old hardware. I personally know know several students who contentedly write their essays on 286 machines using DOS WordPerfect or WordStar. I myself have an old PC XT, running DR DOS, networked to my Linux router using a DOS plip packet driver and wattcp. There's a lot of old hardware around, and I think that tcp/ip network connectivity is one of the most useful ways of breathing added vitality into old boxes. The problem with it now is that it can be a bear to setup (especially dialup ppp connections), and most of the people I know who would make use of it are not exactly computer enthusiasts.
Looking through the FreeDOS software lists I don't see any mention of packet drivers, tcp/ip stacks, or pppd implementations. Are there any plans of integrating some form of tcp/ip network connectivity in future versions of FreeDOS? If so, would it be easier to setup then what is presently available?
Keep up the good work, I've been watching FreeDOS for a while, and I'm looking forward to it's final release.
Matthew Adie
Hyperbolic Tangent
The best-known alternative DOS to Microsoft's is DR-DOS, from Digital Research and later Caldera. Lineo (Caldera's thin clients division) recently released DR GEM as GNU open source, and as it is changing its efforts over to embedded Linux ("Embedix" - the first version has just been released) it's possible it may release DR-DOS as open source too.
As DR-DOS is a complete, finished, and very polished system, what would happen to the FreeDOS project if this happened? Keep going, try to merge the FreeDOS tree into DR-DOS, vice versa, or what?
GEM is going strong (see www.deltasoft.com) and I like to think there's life in DOS yet. With a GUI like GEM, a multitasker (such as DesqView) and maybe even an X server (like DesqView/X) it makes a good thin client OS.
Liam P. ~ "Intelligence is a lethal mutation." (me)
"Windows is not DOS, Windows does not run 'on top' of DOS."
True. But just like Linux, Windows needs a bootloader, ergo: Without DOS, there is no Windows.
All they did was alter MSDOS 7.0 so you couldn't use an alternative DOS (well, they tried to). Win95 and Win98 don't need a specific MS DOS any more than Win 3.1 did, which is one of the reasons why Caldera is suing them. They locked them out of the DOS business by partially melding it into Win9x.
As for your "slow" loading -- remember, DOS is a very simple OS. You need to load a cache like Norton Cache or one of the MSDOS cache programs, like smartdrive (MSDOS 6.0 and up included a lot of external Norton Utilities functionality, like defrag and scandisk -- they were sued over this too, as they ripped off stacker's doublespace technology).
---
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.