www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/02/23/18:39:00

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.


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019