Subject: Filesystem Umsdos alpha 0.1 available
From: [email-masked] (Jacques Gelinas)
Date: 28 Dec 1993 00:51:16 +0200
Newsgroups: comp.os.linux.announce

This is the second Alpha release of UMSDOS.
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 [email-masked]

Before getting into a description, here are the main
difference from 0.0 to 0.1.

    All bug reported have been fixed.

    The --linux-.--- file use a different format as expected :-(
    The mangling strategy is different. This means you MUST
    reinstall.

    Directory processing is about 2.5 times faster.
    There is still room for better performance.

    Patch over standard 99.14 kernel.

    The binary distribution include:
        libc.so.4.4.4
        ld.so.3.0
        zip and unzip

    The synchroniser is done. DOS files, here you are :-). See
    the man page umssync.8.

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
        -232 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.0 version have reported no problem when
    installing different packages. One user reported installing
    X applications.

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" :-)

Current status:

    The file system is fully implemented and quite reliable.

    I have made extensive automated tests (see umsdos_progs/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 case.

    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 MSDOS fs driver. It should
    not destroy anything. No tester has reported any bad experience.
    Caution is still a good idea :-)
    Backup, even a better one!

    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.
        A ls.exe that list file with long name side by side with
            short name.
        Some performance enhancement of UMSDOS directory
            manipulation (A small directory cache).
        Some performance enhancement of the Linux MSDOS drivers.
            (not obvious)

    As it is, the performance is below EXT2 or any other UNIX
    filesystem. It is certainly usable.

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.

Still missing:

    Many tester have asked for a mean to install Linux in its
    own directory (c:\linux). They did not want linux to spread
    its /bin /etc /mnt /proc ... directories in their DOS C: root.

    I agree with this. One simple way to do this would be to chroot()
    in init. Doing this would prevent access to your DOS file.
    I have ideas about how it should be done. Any idea are
    welcome.

Where's the ...

    You will find it at sunsite.unc.edu:/pub/linux/ALPHA/umsdos-0.1
    The distribution consist of many files.

    readme              this file
    umsdos-diff.0.1.gz  the source patch against 99.14
    umsdos.doc.gz       Design documentation
    umsdos_progs.0.1.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 a2,a3 and a4 disk
    a2.zip              Enough to have a good feeling and enough
                        to install the rest of SLS or anything else.

How to install ?

    To help you test this, I have setup a very simple binary
    distribution. I have install SLS a2,a3 and a4 disk (most of it)
    into a UMSDOS partition, and then I have zip that (from DOS)
    and produces a1.zip and a2.zip. To install, use the supply
    unzip.exe and do

    C:\>unzip a1.zip
    C:\>unzip a2.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 (including
    SLS sysinstall) to install any other linux packages.

How to use it without the binary distribution ?

    First, you must apply the patch to a 99.14 kernel. Reboot it
    and pick a DOS partition (/dev/hda1).

    mount -t umsdos /dev/hda1 /mnt
    ls /mnt
    # This shows nothing.
    # You have to use umssync to synchronise the DOS
    # directories with the corresponding --linux-.--- files.
    umssync -r99 /mnt
    ls -l /mnt
    # Now you should see your DOS file, own by root. Use chown
    # and chmod to change it to your taste. Or read umssync.8
    # and apply it using option -u -g -d ang -f
    # Once umssync has performed its job, it won't redo it
    # the next time, because --linux-.--- is in sync with
    # the DOS directory.

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
         (of course this test must fail).
        -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.

--------------------------------------------------------
Jacques Gelinas ([email-masked])
Maintainer of US4BINR [email-masked]
FTP wuarchive.wustl.edu, cd /systems/svr4-pc

--
Mail submissions for comp.os.linux.announce to: [email-masked]
PLEASE remember Keywords: and a short description of the software.