umsdos.txt
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:3k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

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