101 lines
3.3 KiB
Plaintext
101 lines
3.3 KiB
Plaintext
Firstly, let me say that UMSDOS is going through some major code changes,
|
|
and has some KNOWN BUGS (and quite a few unknown :-). Please read
|
|
fs/umsdos/README-WIP.txt for more information on current status. Thanks.
|
|
|
|
----------------------------------------------------------------------------
|
|
Very short explanation for the impatient!
|
|
|
|
Umsdos is a file system driver that run on top the MSDOS fs driver.
|
|
It is written by Jacques Gelinas (jacques@solucorp.qc.ca)
|
|
and is currently maintained by Matija Nalis (mnalis@jagor.srce.hr)
|
|
|
|
Umsdos is not a file system per se, but a twist to make a boring
|
|
one into a useful one.
|
|
|
|
It gives you:
|
|
|
|
long file names
|
|
Permissions and owners
|
|
Links
|
|
Special files (devices, pipes...)
|
|
All that is needed to be a linux root fs.
|
|
|
|
There is plenty of documentation on it in the source. A formatted document
|
|
made from those comments is available from
|
|
sunsite.unc.edu:/pub/Linux/system/Filesystems/umsdos.
|
|
|
|
You mount a DOS partition like this:
|
|
|
|
mount -t umsdos /dev/hda3 /mnt
|
|
^
|
|
---------|
|
|
|
|
All options are passed to the msdos drivers. Option like uid,gid etc are
|
|
given to msdos.
|
|
|
|
The default behavior of Umsdos is to do the same thing as the msdos driver
|
|
mostly passing commands to it without much processing. Again, this is
|
|
the default. After doing the mount on a DOS partition, nothing special
|
|
happens. This is why all mount options are passed to the msdos fs driver.
|
|
|
|
Umsdos uses a special DOS file --linux-.--- to store the information
|
|
which can't be handled by the normal MS-DOS filesystem. This is the trick.
|
|
|
|
--linux-.--- is optional. There is one per directory.
|
|
|
|
**** If --linux-.--- is missing, then Umsdos process the directory the
|
|
same way the msdos driver does. Short file names, no goodies, default
|
|
owner and permissions. So each directory may have or not this
|
|
--linux-.---
|
|
|
|
Now, how to get those --linux-.---.
|
|
|
|
\begin joke_section
|
|
|
|
Well send me a directory content
|
|
and I will send you one customised for you.
|
|
$5 per directory. Add any applicable taxes.
|
|
\end joke_section
|
|
|
|
A utility umssync creates those. The kernel maintains them. It is available
|
|
from the same directory above (sunsite) in the file umsdos_progs-0.7.tar.gz.
|
|
A compiled version is available in umsdos_progs-0.7.bin.tar.gz.
|
|
|
|
So in our example, after mounting mnt, we do
|
|
|
|
umssync .
|
|
|
|
This will promote this directory (a recursive option is available) to full
|
|
umsdos capabilities (long name, etc.). However, an "ls -l" before and after
|
|
won't show much difference. The files which were there are still there, but
|
|
now you can do all this:
|
|
|
|
chmod 644 *
|
|
chown you.your_group *
|
|
ls >THIS_IS.A.VERY.LONG.NAME
|
|
ln -s toto tata
|
|
ls -l
|
|
|
|
Once a directory is promoted, all subdirectories created will inherit that
|
|
promotion.
|
|
|
|
What happens if you boot DOS and create files in those promoted directories ?
|
|
Umsdos won't notice new files, but will signal removed files (it won't crash).
|
|
Using umssync in /etc/rc will make sure the DOS directory is in sync with
|
|
the --linux-.---.
|
|
|
|
It is a good idea to put the following command in your RC file just
|
|
after the "mount -a":
|
|
|
|
mount -a
|
|
/sbin/umssync -i+ -c+ -r99 /umsdos_mount_point
|
|
|
|
(You put one for each umsdos mount point in the fstab)
|
|
|
|
This will ensure nice operation. A umsdos.fsck is in the making,
|
|
so you will be allowed to manage umsdos partitions in the same way
|
|
other filesystems are, using the generic fsck front end.
|
|
|
|
Hope this helps!
|
|
|