From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jochen Reinwand Subject: Status report on MS-DOS 7.x extraction Date: Thu, 14 Aug 2003 12:21:33 +0200 Sender: linux-msdos-owner@vger.kernel.org Message-ID: <200308141221.33995.jbr.1@gmx.net> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline List-Id: Content-Type: text/plain; charset="us-ascii" To: linux-msdos@vger.kernel.org Hi, all! Sorry for being so quiet so long. But finally here it is: My first approach to extract an MS-DOS 7.x from a Windows CD. I build a system of shell scripts to automate the process of extracting and using the necessary files for MS-DOS 7.x. It is a lot of hacking and not very comfortable by now. My aim is to build up flexible environment. Before I release something, I wanted to wait until capextract can extract single files from an archive, but till now there's no new version and a few people wanted to get more information. So I decided to release something nevertheless. By now my scripts extract the _all_ files to /tmp/msddb/ and copy them from there. Not really useful, but the only possibility at the moment. I only implemented to functions right now: - Extraction of the files and - building of an EBD (Emergency Boot Disk). These two funtions are essential for the whole project and they work! I tried to make everything as flexible as possible. So there are a lot of things done for only a few important steps. Here you can find the few necessary files (of course no parts of MS-DOS are included! You need a Windows 98SE CD!): http://wwwcip.informatik.uni-erlangen.de/~jnreinwa/msddb.tar.bz2 Please be careful using it. I don't know how sane it is. Best read all the docs and perhaps even the scripts before doing anything else! Comments are welcome are of course welcome. But please nothing like: "Why haven't you wrote a nice GUI for it?" More welcome are person who want to contribute! The architecture is modular and everyone can write modules doing things he likes to have. Here's the README file from the package to give you more infos you may find useful: ########################################################################### Introduction This project is for now called MSDDB (Ms-Dos Distribution Builder). It is not really a useful name and if anyone comes up with a cool idea it will be changed. The purpose of this project is to extract the necessary files for MS-DOS from an original Windows CD. It has some sort of plugin/module architecture to make it flexible enough to support different Windows versions and to use different "output plugins" to make use of the extracted files. During the extraction process not only the normal MS-DOS files are extracted but also additional files that can be found on the CD and could be useful for MS-DOS users. The project is mostly implemented with bash shell scripts. It is only useful on Unix environments especially Linux. Most of the work to be done has something to do with handling files. So bash scripts seem to be the best choice. There are two basic functions that are essential for the whole project. The project wouldn't make sense if these two hadn't been solved: - The necessary files for MS-DOS are only available as packed files on the Windows CD. cabextract (http://www.kyz.uklinux.net/cabextract.php) makes it possible to extract them. - If you want a real DOS you have to be able to create some sort of bootable media. That's no problem if you have access to an installed system, but for this project it was important that such a bootable media could be created from the CD. But it looks like Microsoft somehow likes us. There is a DOS tool on the CD capable of creating a so called EBD (Emergency Boot Disk). You can find it in the directory tools/mtsutil/fat32ebd/ on the CD. But it is only a DOS programm! How can we execute it? dosemu? bochs? Once again we're lucky: > cd tools/mtsutil/fat32ebd/ > file image.dsk image.dsk: x86 boot sector, system (qoo1IHC, FAT (12 bit) Yes! It is a boot sector and FAT filesystem for a disk! Just dd it to a disk device and the disk is bootable and has a filesystem. The other tools of the EBD can be found in the Cabinat archives. With this EBD we can now install a complete MS-DOS Now we have the abilities to do all things we want to. But what do we want to do? There are quite a lot of situtations where you could use MS-DOS: - You want to run it within dosemu? Use the output plugin to get all the necessary files and build up a "bootable" dosemu disk. TODO: Plugin not written yet ;-) - You want to run it on your PC or within bochs without installing the complete Windows? Just create a bootable CD with the corresponding output plugin. Now you can install MS-DOS on a "clean" PC, no matter if real or emulated. TODO: Plugin not written yet ;-) To make MS-DOS more comfortable this project will also include plugins to add more software to your MS-DOS system. E.g. it will be possible to get all necessary files for DJGPP (http://www.delorie.com/djgpp/) and automatically integrate them. Quick Start Guide First you have to modify the files msddb.conf, extractfiles.conf and mkebd.conf in etc/msddb for your needs. Now put the content of the Windows CD (currently only 98SE is supported) at the specified path (normally that means you have to mount it). Now extract the necessary files: > msddb extractfiles Create the EBD: > msddb mkebd Or do it all at once: > msddb extractfiles mkebd Now you should have a bootable EBD on a disk or in the image var/msddb/ebd.img. ########################################################################### regards, Jochen