Mail Archives: djgpp/1994/02/23/18:39:00
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 -