Date: Wed, 23 Feb 1994 17:54:14 -0400 (EDT) From: JMILLER AT CHESS DOT EISC DOT UTOLEDO DOT EDU Subject: umsdos version .2 is now available from sunsite.unc.edu To: djgpp AT sun DOT soe DOT clarkson DOT edu Organization: Edison Industrial Systems Center Here is UMSDOS alpha 0.2. UMSDOS is a new filesystem for LINUX. It is a full feature unix-like filesystem running on top of a normal MsDOS FAT filesystem. It has been written by Jacques Gelinas jacques AT solucorp DOT qc DOT ca Before getting into a description, here are the main difference from 0.1 to 0.2. All bug reported have been fixed including the one with hard links. The --linux-.--- files ARE compatible with 0.1. Patch over standard 99.15 kernel. The binary distribution include: Latest zip unzip gzip More man page (catable) Net utilties and NFS (client and server) Basic X setup (VGA 16 colors). (You should only check the mouse setting in /usr/X386/lib/X11/Xconfig and this should run out of the box on all VGA color monitors. This is why I have included this server. The Xconfig contain allready the two standard VESA frequencies for 640x480x16. If you think it is untrue, please tell me. Once you have this running, you may look to get a server specific to your hardware from the XFree 2.0 distribution. To get higher resolution, you will need to read the doc) libc.so.4.4.4 ld.so.3.0 The pseudo root mode. See below. Flexible mode, msdos -> umsdos on the fly. See below. Umsdos has now all the features and fontionnalities and reliability it needs. Next releases will be called BETA. See below for the L.A.D.R preview. So Umsdos is a full-feature Unix like FS on top of a FAT MsDOS fs ? Full-feature ??? Long file name -Case sensitive -This.Is.An...Exemple -220 char max. Links (both hard and symbolics) Now I know why they are called "hard" links :-) Pipes and special device file. Permissions, owner, group Atime,Ctime and Mtime with full Unix semantics. Powerful enough to be a root fs for Linux. Yet CHKDSK won't see anything wrong with all this. tester of the 0.1 have installed any kind of standard stuff. To name a few (Andrew, X, GCC, News). A new feature: The pseudo root. When booting, umsdos probe the partition for a /linux/etc subdirectory. If it exists, it does a fancy chroot("/linux"). When you install linux in a DOS partition, everything goes into c:\linux. It does not create directory everywhere in c:\. The chroot() is fancy because a normal one would make c:\ hidden. So umsdos virtualize a /DOS directory pointing to the real root of the partition. Here is a table showing the transformation. What DOS show you What linux show you C:\LINUX / C:\LINUX\BIN /bin C:\AUTOEXEC.BAT /DOS/autoexec.bat With this feature, no one should resist installing Linux on his machine. (see the installation procedure of the test kit below). A new feature: The flexible mode Umsdos rely on special files in each directory (--linux.---). This file act as an alternative directory. It is lookup first. For umsdos 0.1, if the file --linux-.--- was missing in a directory, it simply assume the directory was empty. You had to use umssync (the synchroniser) to scan the "real" DOS directory and fill --linux-.---. This was quite annoying to spread --linux-.--- files all around, just to be able to "see" files. Umsdos 0.2 add a twist. If --linux-.--- is missing then it process the directory as a normal DOS directory with all its limitation (no long name, no permissions, no links ...). Using umssync on a DOS directory simply promote the directory to full Unix semantics, on the fly. This means that you will be able to organise your partition logically in Umsdos and Dos directories, as needed. Dos directory may even contains Umsdos sub-directories. This means there is no need for a c:\--linux-.---. Is Umsdos useful ? UMSDOS is perfect to test drive linux without trouble. No reformat, no new partition. It is also a good idea for those who need DOS and don't want to split the disk in two "too small" parts. Perfect also for those who need to share data with DOS on an ongoing basis. It is also a good idea for those who already splits the disk and need more space for Linux. It allows linux to slowly eat the DOS partition. UMSDOS will be an important part of the "LINUX invasion" :-) Because reformatting is a major concern to many, especially when you are unsure if you need linux, I believe Umsdos will be the most use FS for linux (not the best though). Current status: The file system is fully implemented and quite reliable. I have made extensive automated tests (see umsdos_progs/tests/utstgen). I have test both basic operations and special semantics such as update strategy for atime,ctime,mtime. utstgen is a very modular C++ program allowing one to add new test cases. I have made it very easy for anybody to try this out. I supply both sources and a binary distribution. It runs on top of the proven Linux MSDOS fs driver. It should not destroy anything. No tester has reported any bad experience. With 0.2, I expecte more people to test it. Someone is working on DOS utilities such as ls.exe. Will be available shortly. There are still missing pieces: A utility (linux.exe) to boot linux from DOS. Currently you have to boot from a disquette using a normal zImage with UMSDOS enable in it. Some tester reports success using bootlin (available from tsx-11 ...) Some performance enhancement of UMSDOS directory manipulation (A small directory cache). Some performance enhancement of the Linux MSDOS drivers. (not obvious but I have some idea...) As it is, the performance is below EXT2 or any other UNIX filesystem. It is certainly usable and many are already using it on a permanent basis. Umsdos is certainly no toy. The trick: UMSDOS place a --linux-.--- in each directory. It is a complement to the normal DOS directory. UMSDOS has been design to be somewhat fault tolerant. --linux-.--- do not need to be in sync with the DOS directory. --linux-.--- are created on the fly. Other goodies: Along with UMSDOS, I have made some essential changes to the LINUX MSDOS drivers. I have implemented a basic mmap. This allows demand loading of executables and shared libs. Also I have made a very small modification to allow swap file to work. This could allows sharing of the Windows Swap file with Linux. I don't run Windows but I don't see why it could not work. The key here is to preserve some Windows signature at the beginning of the swap file and to restore it before Windows start. Where's the ... You will find it at sunsite.unc.edu:/pub/linux/ALPHA/umsdos The distribution consist of many files. readme this file umsdos-0.2.diff.gz the source patch against 99.15 umsdos-0.2.doc.gz Design documentation umsdos_progs.0.2.tar.gz test and utilities see umsdos_progs/utstgen unzip.exe Portable unzip compiled by me zimage a mimimally configured kernel with umsdos Currently setup to boot on /dev/hda1 (C:) rdev.exe To set the root partition in zimage rawrite.exe To write zimage to a floppy (taken from tsx-11.mit.edu, pub/linux/dos_utils) a1.zip Some parts of SLS + tinyX + Net + NFS. a2.zip a3.zip How to install ? To help you test this, I have setup a very simple binary distribution. I have install a running setup into a UMSDOS partition, and then I have zip that (from DOS) and produces a1.zip a2.zip and a3.zip. To install, use the supply unzip.exe and do C:\>unzip a1.zip C:\>unzip a2.zip C:\>unzip a3.zip rdev zimage major minor (type rdev without argument to see more info) (currently, it is set to 3 1, which is my C: drive) rawrite Enter source file name: zimage Enter destination drive: a Depending of your boot partition you will have to change /etc/fstab to reflect what is the current boot drive. You can do this after booting linux. reboot your computer using the rawrited diskette, and enjoy. Having install this, you should have enough utilities to install any other linux packages. How to use it without the binary distribution ? First, you must apply the patch to a 99.15 kernel. Reboot it and pick a DOS partition (/dev/hda1 for exemple). mount -t umsdos /dev/hda1 /mnt ls /mnt # This shows DOS files. Since the --linux-.--- is missing # this directory behave like a Dos directory. umssync /mnt # This will promote the directory to full Umsdos capabilities. # All subdirectory create will inherit this capabilities. umssync -r99 /mnt # This will recurse and promote all subdirectories. You may not # want this. tester welcome :-) At this point, umsdos is already useful. With this release it should be reliable and efficient enough to be use by many. If you install it and use it, email just to say hello. If you find a bug, here are your alternatives: -Try to reproduce it and add a test case in umsdos_progs/tests (of course this test must fail). -try to reproduce it with a script. -Try to fix it -Email me Of course, if you just know what's going on but can't fix it and add a test case, email me. I would more than happy to hear from you. Idea, bug fixe and enhancement are all welcome. L.A.D.R : Linux Advanced Desktop Release Given the success testers have reported using and installing umsdos I was convinced that a special distribution of Linux was needed for DOS, Windows and OS/2 users. These are the assumptions: -There are already many good "all you can eat" distribution (Slackware, Tamu, ...). For many newbies, they are just too big. In fact this carry the too widespread idea that Unix is fat and slow. Unix has always been scalable and its wealth of Utilities is sometime playing against it. This is not to say that full distribution are a mistake, just that many potential linux users just backup because it take too much disk space and they simply don't know what is useful or not. They end up installing 40 or 60 megs just because they want X. -DOS users do want a GUI and don't care about a lots of Unix utilities. -It will be a 5 or 6 disks distributions. Currently the test kit is less than 3 full diskettes. There is some extra stuff which can be removed. I intend to add more stuff to it. -Some parts of Andrew multimedia system, especially to create a fancy help system. -DOSEMU. -More network goodies such as the automounter. -Wine when available. -The LSM database (Linux software map) to show what is available. I do believe that the 5-6 floppies is achievable. It would give DOS,Windows and OS/2 users quite a show. Currently I have a pretty good idea about how this will be setup. If you have experience with DOSEMU or Andrew, and are interested in this project, I would like to hear from you. LADR will be upload to sunsite when available.