1 |
1625 |
jcastillo |
Very short explanation for the impatient!!!
|
2 |
|
|
|
3 |
|
|
Umsdos is a file system driver that run on top the MSDOS fs driver.
|
4 |
|
|
It is written by Jacques Gelinas (jacques@solucorp.qc.ca)
|
5 |
|
|
|
6 |
|
|
Umsdos is not a file system per se, but a twist to make a boring
|
7 |
|
|
one into a useful one.
|
8 |
|
|
|
9 |
|
|
It gives you:
|
10 |
|
|
|
11 |
|
|
long file name
|
12 |
|
|
Permissions and owner
|
13 |
|
|
Links
|
14 |
|
|
Special files (devices, pipe...)
|
15 |
|
|
All is need to be a linux root fs.
|
16 |
|
|
|
17 |
|
|
There is plenty of documentation on it in the source. A formated document
|
18 |
|
|
made from those comments is available from
|
19 |
|
|
sunsite.unc.edu:/pub/Linux/system/Filesystems/umsdos.
|
20 |
|
|
|
21 |
|
|
Mostly...
|
22 |
|
|
|
23 |
|
|
You mount a DOS partition like this
|
24 |
|
|
|
25 |
|
|
mount -t umsdos /dev/hda3 /mnt
|
26 |
|
|
^
|
27 |
|
|
---------|
|
28 |
|
|
|
29 |
|
|
All option are passed to the msdos drivers. Option like uid,gid etc are
|
30 |
|
|
given to msdos.
|
31 |
|
|
|
32 |
|
|
The default behavior of Umsdos is to do the same thing as the msdos driver
|
33 |
|
|
mostly passing commands to it without much processing. Again, this is
|
34 |
|
|
the default. After doing the mount on a DOS partition, nothing special
|
35 |
|
|
happen. This is why all mount options are passed to the Msdos fs driver.
|
36 |
|
|
|
37 |
|
|
Umsdos use a special DOS file --linux-.--- to store the information
|
38 |
|
|
which can't be handle by the normal MsDOS file system. This is the trick.
|
39 |
|
|
|
40 |
|
|
--linux-.--- is optional. There is one per directory.
|
41 |
|
|
|
42 |
|
|
**** If --linux-.--- is missing, then Umsdos process the directory the
|
43 |
|
|
same way the msdos driver do. Short file name, no goodies, default
|
44 |
|
|
owner and permissions. So each directory may have or not this
|
45 |
|
|
--linux-.---
|
46 |
|
|
|
47 |
|
|
Now, how to get those --linux-.---.
|
48 |
|
|
|
49 |
|
|
\begin joke_section
|
50 |
|
|
|
51 |
|
|
Well send me a directory content
|
52 |
|
|
and I will send you one customised for you.
|
53 |
|
|
$5 per directory. Add any applicable taxes.
|
54 |
|
|
\end joke_section
|
55 |
|
|
|
56 |
|
|
A utility umssync creates those. The kernel maintain them. It is available
|
57 |
|
|
from the same directory above (sunsite) in the file umsdos_progs-0.7.tar.gz.
|
58 |
|
|
A compiled version is available in umsdos_progs-0.7.bin.tar.gz.
|
59 |
|
|
|
60 |
|
|
So in our example, after mounting mnt, we do
|
61 |
|
|
|
62 |
|
|
umssync .
|
63 |
|
|
|
64 |
|
|
This will promote this directory (a recursive option is available) to full
|
65 |
|
|
umsdos capabilities (long name ...). A ls -l before and after won't show
|
66 |
|
|
much difference however. The file which were there are still there. But now
|
67 |
|
|
you can do all this:
|
68 |
|
|
|
69 |
|
|
chmod 644 *
|
70 |
|
|
chown you.your_groupe *
|
71 |
|
|
ls >THIS_IS.A.VERY.LONG.NAME
|
72 |
|
|
ln -s toto tata
|
73 |
|
|
ls -l
|
74 |
|
|
|
75 |
|
|
Once a directory is promoted, all subdirectory created will inherit that
|
76 |
|
|
promotion.
|
77 |
|
|
|
78 |
|
|
What happen if you boot DOS and create files in those promoted directories ?
|
79 |
|
|
Umsdos won't notice new files, but will signal removed file (it won't crash).
|
80 |
|
|
Using umssync in /etc/rc will make sure the DOS directory is in sync with
|
81 |
|
|
the --linux-.---.
|
82 |
|
|
|
83 |
|
|
It is a good idea to put the following command in your RC file just
|
84 |
|
|
after the "mount -a":
|
85 |
|
|
|
86 |
|
|
mount -a
|
87 |
|
|
/sbin/umssync -i+ -c+ -r99 /umsdos_mount_point
|
88 |
|
|
|
89 |
|
|
(You put one for each umsdos mount point in the fstab)
|
90 |
|
|
|
91 |
|
|
This will insure nice operation. A umsdos.fsck is in the making,
|
92 |
|
|
so you will be allowed to managed umsdos partition in the same way
|
93 |
|
|
other filesystem are, using the generic fsck front end.
|
94 |
|
|
|
95 |
|
|
Hope this helps!
|
96 |
|
|
|