]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | |
2 | Macintosh HFS Filesystem for Linux | |
3 | ================================== | |
4 | ||
5 | HFS stands for ``Hierarchical File System'' and is the filesystem used | |
6 | by the Mac Plus and all later Macintosh models. Earlier Macintosh | |
7 | models used MFS (``Macintosh File System''), which is not supported, | |
8 | MacOS 8.1 and newer support a filesystem called HFS+ that's similar to | |
9 | HFS but is extended in various areas. Use the hfsplus filesystem driver | |
10 | to access such filesystems from Linux. | |
11 | ||
12 | ||
13 | Mount options | |
14 | ============= | |
15 | ||
16 | When mounting an HFS filesystem, the following options are accepted: | |
17 | ||
18 | creator=cccc, type=cccc | |
19 | Specifies the creator/type values as shown by the MacOS finder | |
20 | used for creating new files. Default values: '????'. | |
21 | ||
22 | uid=n, gid=n | |
23 | Specifies the user/group that owns all files on the filesystems. | |
24 | Default: user/group id of the mounting process. | |
25 | ||
26 | dir_umask=n, file_umask=n, umask=n | |
27 | Specifies the umask used for all files , all directories or all | |
28 | files and directories. Defaults to the umask of the mounting process. | |
29 | ||
30 | session=n | |
31 | Select the CDROM session to mount as HFS filesystem. Defaults to | |
32 | leaving that decision to the CDROM driver. This option will fail | |
33 | with anything but a CDROM as underlying devices. | |
34 | ||
35 | part=n | |
36 | Select partition number n from the devices. Does only makes | |
37 | sense for CDROMS because they can't be partitioned under Linux. | |
38 | For disk devices the generic partition parsing code does this | |
39 | for us. Defaults to not parsing the partition table at all. | |
40 | ||
41 | quiet | |
42 | Ignore invalid mount options instead of complaining. | |
43 | ||
44 | ||
45 | Writing to HFS Filesystems | |
46 | ========================== | |
47 | ||
48 | HFS is not a UNIX filesystem, thus it does not have the usual features you'd | |
49 | expect: | |
50 | ||
51 | o You can't modify the set-uid, set-gid, sticky or executable bits or the uid | |
52 | and gid of files. | |
53 | o You can't create hard- or symlinks, device files, sockets or FIFOs. | |
54 | ||
55 | HFS does on the other have the concepts of multiple forks per file. These | |
56 | non-standard forks are represented as hidden additional files in the normal | |
57 | filesystems namespace which is kind of a cludge and makes the semantics for | |
58 | the a little strange: | |
59 | ||
60 | o You can't create, delete or rename resource forks of files or the | |
61 | Finder's metadata. | |
62 | o They are however created (with default values), deleted and renamed | |
63 | along with the corresponding data fork or directory. | |
64 | o Copying files to a different filesystem will loose those attributes | |
65 | that are essential for MacOS to work. | |
66 | ||
67 | ||
68 | Creating HFS filesystems | |
69 | =================================== | |
70 | ||
71 | The hfsutils package from Robert Leslie contains a program called | |
72 | hformat that can be used to create HFS filesystem. See | |
73 | <http://www.mars.org/home/rob/proj/hfs/> for details. | |
74 | ||
75 | ||
76 | Credits | |
77 | ======= | |
78 | ||
79 | The HFS drivers was written by Paul H. Hargrovea (hargrove@sccm.Stanford.EDU) | |
80 | and is now maintained by Roman Zippel (roman@ardistech.com) at Ardis | |
81 | Technologies. | |
82 | Roman rewrote large parts of the code and brought in btree routines derived | |
83 | from Brad Boyer's hfsplus driver (also maintained by Roman now). |