mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
3.0 KiB
87 lines
3.0 KiB
.. SPDX-License-Identifier: GPL-2.0 |
|
|
|
================================== |
|
Macintosh HFS Filesystem for Linux |
|
================================== |
|
|
|
|
|
.. Note:: This filesystem doesn't have a maintainer. |
|
|
|
|
|
HFS stands for ``Hierarchical File System`` and is the filesystem used |
|
by the Mac Plus and all later Macintosh models. Earlier Macintosh |
|
models used MFS (``Macintosh File System``), which is not supported, |
|
MacOS 8.1 and newer support a filesystem called HFS+ that's similar to |
|
HFS but is extended in various areas. Use the hfsplus filesystem driver |
|
to access such filesystems from Linux. |
|
|
|
|
|
Mount options |
|
============= |
|
|
|
When mounting an HFS filesystem, the following options are accepted: |
|
|
|
creator=cccc, type=cccc |
|
Specifies the creator/type values as shown by the MacOS finder |
|
used for creating new files. Default values: '????'. |
|
|
|
uid=n, gid=n |
|
Specifies the user/group that owns all files on the filesystems. |
|
Default: user/group id of the mounting process. |
|
|
|
dir_umask=n, file_umask=n, umask=n |
|
Specifies the umask used for all files , all directories or all |
|
files and directories. Defaults to the umask of the mounting process. |
|
|
|
session=n |
|
Select the CDROM session to mount as HFS filesystem. Defaults to |
|
leaving that decision to the CDROM driver. This option will fail |
|
with anything but a CDROM as underlying devices. |
|
|
|
part=n |
|
Select partition number n from the devices. Does only makes |
|
sense for CDROMS because they can't be partitioned under Linux. |
|
For disk devices the generic partition parsing code does this |
|
for us. Defaults to not parsing the partition table at all. |
|
|
|
quiet |
|
Ignore invalid mount options instead of complaining. |
|
|
|
|
|
Writing to HFS Filesystems |
|
========================== |
|
|
|
HFS is not a UNIX filesystem, thus it does not have the usual features you'd |
|
expect: |
|
|
|
* You can't modify the set-uid, set-gid, sticky or executable bits or the uid |
|
and gid of files. |
|
* You can't create hard- or symlinks, device files, sockets or FIFOs. |
|
|
|
HFS does on the other have the concepts of multiple forks per file. These |
|
non-standard forks are represented as hidden additional files in the normal |
|
filesystems namespace which is kind of a cludge and makes the semantics for |
|
the a little strange: |
|
|
|
* You can't create, delete or rename resource forks of files or the |
|
Finder's metadata. |
|
* They are however created (with default values), deleted and renamed |
|
along with the corresponding data fork or directory. |
|
* Copying files to a different filesystem will loose those attributes |
|
that are essential for MacOS to work. |
|
|
|
|
|
Creating HFS filesystems |
|
======================== |
|
|
|
The hfsutils package from Robert Leslie contains a program called |
|
hformat that can be used to create HFS filesystem. See |
|
<https://www.mars.org/home/rob/proj/hfs/> for details. |
|
|
|
|
|
Credits |
|
======= |
|
|
|
The HFS drivers was written by Paul H. Hargrovea ([email protected]). |
|
Roman Zippel ([email protected]) rewrote large parts of the code and brought |
|
in btree routines derived from Brad Boyer's hfsplus driver.
|
|
|