Frequently Asked Questions about the HFS filesystem for
Linux
Paul H. Hargrove, hargrove@sccm.Stanford.EDU
version 1.0.3, 27 Apr 1997
This document provides answers to some of the most frequently asked
questions about the HFS filesystem for Linux. It is currently pretty
rough and totally unorganized. Corrections, additions and clarifica-
tions are appreciated. The most current version of this document is
kept on The HFS for Linux Page .
______________________________________________________________________
Table of Contents:
1. What is this FAQ about?
2. What is HFS?
3. How I mount AppleShare volumes?
4. What is the current version of the HFS filesystem.
5. How stable is the current version?
6. Is there a mailing list for discussion of the HFS filesystem?
7. What version of Linux do I need to be running?
8. Will it run on my (your processor type here)?
9. Will it run under (your non-Linux operating system here)?
10. Why can I mount some HFS CDROMs but not others?
11. What does ``only 1024-char blocks implemented (512)'' mean?
12. Why do I get a message about a bad or unknown partition table?
13. Can I mount multiple HFS partitions from the same Macintosh
disk?
14. In what ways can I write to HFS filesystems?
15. Does the HFS filesystem work with 400 kB or 800 kB Macintosh
diskettes?
16. How can I format an HFS filesystem?
17. How can I fsck an HFS filesystem?
18. Why do I get ``error -50'' messages from my Mac when using
netatalk?
19. Why does my Macintosh show generic application and document
icons?
20. How owns all the copyrights and trademarks? ;-)
20.1. This Document
20.2. The Software
20.3. Trademarks
______________________________________________________________________
11.. WWhhaatt iiss tthhiiss FFAAQQ aabboouutt??
This FAQ is about the HFS filesystem for Linux, which is available in
two forms. The stand-alone version (called hfs_fs) is a Linux kernel
loadable module implementing the Macintosh HFS filesystem. The HFS
filesystem is also included in some distributions of the Linux kernel
source (in the directory linux/fs/hfs). This version can be compiled
as a loadable module or compiled into the kernel.
Either version allows a machine running Linux to read and write disks
from a Macintosh (almost) as though they were native Linux disks.
22.. WWhhaatt iiss HHFFSS??
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.
33.. HHooww II mmoouunntt AApppplleeSShhaarree vvoolluummeess??
The HFS filesystem is for mounting local filesystems only. There is
an experimental afpfs by Ben Hekster heksterb@acm.org available from
http://www.odyssey.co.il/~heksterb/Software/afpfs/.
44.. WWhhaatt iiss tthhee ccuurrrreenntt vveerrssiioonn ooff tthhee HHFFSS ffiilleessyysstteemm..
As of version 1.0.3 of this FAQ, version 0.95 is the most recent. You
can always find the most recent version on The HFS for Linux Page
. Announcements of new
versions are made to the comp.os.linux.announce newsgroup.
55.. HHooww ssttaabbllee iiss tthhee ccuurrrreenntt vveerrssiioonn??
Version 0.95 is considered to be ``beta'' software, so I recommend
making backups of anything important before you start playing. It is
relatively free of bugs due to lots of testing of the previous
releases.
After a suitable period without new bugs the I will consider the
software to be ``stable'' and the version number will jump to 1.0.
66.. IIss tthheerree aa mmaaiilliinngg lliisstt ffoorr ddiissccuussssiioonn ooff tthhee HHFFSS ffiilleessyysstteemm??
There is no mailing list devoted exclusively to the HFS filesystem.
However, announcements of new versions are posted to the ``linux-
atalk'' and ``hfs-interest'' lists. I will see bug reports sent to
those lists but e-mail is more reliable (hargrove@sccm.Stanford.EDU).
To subscribe to hfs-interest send e-mail with a body of ``subscribe
hfs-interest (your e-mail address)'' to majordomo@ccs.neu.edu.
To subscribe to linux-atalk send e-mail with a body of ``SUBSCRIBE
LINUX-ATALK (Your full name)'' to listserv@netspace.org.
77.. WWhhaatt vveerrssiioonn ooff LLiinnuuxx ddoo II nneeeedd ttoo bbee rruunnnniinngg??
To compile and use the stand-alone distribution of the HFS filesystem
you will need Linux kernel version 2.0.1 or newer compiled with
modules enabled (CONFIG_MODULES). To compile you will need the kernel
headers which match the kernel you are running. This is covered in
more detail in the installation instructions in INSTALL.txt.
If your kernel came with HFS in the kernel source tree then HFS should
work with your Linux version. There may be small problems with a few
of the development kernel releases. For these releases check the HFS
for Linux Page for
patches.
88.. WWiillll iitt rruunn oonn mmyy ((yyoouurr pprroocceessssoorr ttyyppee hheerree))??
The code is carefully written to be independent of your processor's
word size and byte-order, so if your machine runs Linux it can run the
HFS filesystem. However some younger ports don't yet have support for
loadable modules.
Note that HFS is tested most extensively on Intel platforms. So there
could be subtle compilation problems on other platforms. If you
encounter any that are not addressed by the documentation then please
let me know.
99.. WWiillll iitt rruunn uunnddeerr ((yyoouurr nnoonn--LLiinnuuxx ooppeerraattiinngg ssyysstteemm hheerree))??
No. There is a port in progress to NetBSD. I know of no other active
porting attempts. If you are interested in porting the HFS filesystem
to another Unix-like operating system, I am interested in providing
what guidance I can.
1100.. WWhhyy ccaann II mmoouunntt ssoommee HHFFSS CCDDRROOMMss bbuutt nnoott ootthheerrss??
In the past there was a known incompatibility with some ``hybrid''
CDROMs that appear as HFS disks on Macs and as ISO9660 disks on other
systems. I think I have fixed the problem. So, if you encounter this
particular problem or have problems with specific non-hybrid CDROMs
please e-mail me with the title and manufacturer of the CD.
1111.. WWhhaatt ddooeess ````oonnllyy 11002244--cchhaarr bblloocckkss iimmpplleemmeenntteedd ((551122))'''' mmeeaann??
This message comes from the kernel and indicates that an attempt was
made to read a 512-byte block from a device that doesn't support
512-byte blocks. The HFS filesystem only works with 512-byte blocks,
and therefore doesn't function with these devices. Eventually it may
be able to use 1024-byte (or even 2048-byte) blocks when necessary.
Ideally the device driver should be enhanced to support 512-byte
blocks so that the various filesystems which need 512-byte blocks
don't each need to work around it.
1122.. WWhhyy ddoo II ggeett aa mmeessssaaggee aabboouutt aa bbaadd oorr uunnkknnoowwnn ppaarrttiittiioonn ttaabbllee??
If your Linux kernel doesn't understand Macintosh partition tables it
gives this warning when it can't find a partition table it recognizes.
To support partitioned media with such kernels, decoding of Mac
partition tables is done by the HFS filesystem so you should still be
able to mount the disk. However, to do so you will need to mount the
raw device (such as /dev/sdb instead of /dev/sdb4) and use the part
mount option to indicate which partition you want.
1133.. CCaann II mmoouunntt mmuullttiippllee HHFFSS ppaarrttiittiioonnss ffrroomm tthhee ssaammee MMaacciinnttoosshh ddiisskk??
Only if your kernel understands Macintosh partition tables. It the
kernel doesn't understand the Macintosh partition table, the HFS
filesystem must access the raw device. Therefore, the kernel thinks
the entire drive is in use and prevents additional mounts on it.
1144.. IInn wwhhaatt wwaayyss ccaann II wwrriittee ttoo HHFFSS ffiilleessyysstteemmss??
The HFS filesystem is as capable as the MS-DOS or VFAT filesystems,
except that certain things can only be done with a file's data fork.
You ccaann:
+o Create, delete and rename directories and data forks of files with
the caveat that names are case insensitive (so foo and Foo are the
same file or directory).
+o Run Linux executables or shared libraries on an HFS disk if they
are stored in the data fork of a file.
+o Read, write and truncate both forks of files and the Finder's
metadata of files and directories.
+o Mmap data forks of files (and the resource fork if the filesystem
is mounted with the fork=cap option).
+o Toggle the 'w' permission bits (as a group) of data forks.
+o Change the i_mtime of files and directories.
You ccaannnnoott:
+o Create, delete or rename resource forks of files or the Finder's
metadata. Note, however, that they are created (with defaults
values), deleted and renamed along with the corresponding data fork
or directory.
+o Run Linux executables or shared libraries on an HFS disk if they
are stored in the resource fork of a file.
+o Mmap the Finder's metadata (when fork=cap) or AppleDouble header
files (when fork=double or fork=netatalk).
+o Change permissions on directories.
+o Change the uid or gid of files or directories.
+o Set the set-uid, set-gid or sticky permission bits.
+o Create multiple links to files.
+o Create symlinks, device files, sockets or FIFOs.
1155.. DDooeess tthhee HHFFSS ffiilleessyysstteemm wwoorrkk wwiitthh 440000kk oorr 880000kk MMaacciinnttoosshh
ddiisskkeetttteess??
Yes and no. The software is fully capable of dealing with HFS disks
of any size. However, the 400k and 800k diskettes are written in a
physical format that is incompatible with most non-Macintosh floppy
drives. Note also that almost all 400k Macintosh diskettes are MFS,
not HFS.
1166.. HHooww ccaann II ffoorrmmaatt aann HHFFSS ffiilleessyysstteemm??
Robert Leslie (rob@mars.org) has written a package for working with
HFS filesystems (like mtools plus a graphical interface). One program
in the package is hformat which can format HFS filesystems. The
latest version can be found on the HFS Utilities home page
.
1177.. HHooww ccaann II ffsscckk aann HHFFSS ffiilleessyysstteemm??
Right now you'll have to use a Macintosh to do this. However, Rob
Leslie is working on an fsck for HFS filesystems.
1188.. WWhhyy ddoo II ggeett ````eerrrroorr --5500'''' mmeessssaaggeess ffrroomm mmyy MMaacc wwhheenn uussiinngg
nneettaattaallkk??
To be compatible with netatalk's afpd you will need to use netatalk
version 1.4b1 or newer and mount the HFS filesystem with the ``afpd''
mount option. More information is provided in the ``afpd'' subsection
of the ``Mount Options'' section of the HFS documentation (HFS.txt if
you have the stand-alone HFS distribution or
linux/Documentation/filesystems/hfs.txt if HFS is in your kernel
source tree.)
1199.. WWhhyy ddooeess mmyy MMaacciinnttoosshh sshhooww ggeenneerriicc aapppplliiccaattiioonn aanndd ddooccuummeenntt
iiccoonnss??
When using the ``afpd'' mount option the Desktop database on the disk
is not made available to Netatalk's afpd. Because of this mounting an
HFS filesystem across the network to a Macintosh may result in the
Finder showing generic application and document icons. Additionally
double clicking on a document will fail to start the correct
application.
If the disk is writable you can make Netatalk build a new Desktop
database in its own format by holding down the Option key while
selecting the volume in the Chooser. If the disk is not writable then
these problems can be worked around by copying the application to a
local disk on the Macintosh.
2200.. HHooww oowwnnss aallll tthhee ccooppyyrriigghhttss aanndd ttrraaddeemmaarrkkss?? ;;--))
2200..11.. TThhiiss DDooccuummeenntt
This document is Copyright (c) 1996, 1997 by Paul H. Hargrove.
Permission is granted to make and distribute verbatim copies of this
document provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
document under the conditions for verbatim copies above, provided a
notice clearly stating that the document is a modified version is also
included in the modified document.
Permission is granted to copy and distribute translations of this
document into another language, under the conditions specified above
for modified versions.
Permission is granted to convert this document into another media
under the conditions specified above for modified versions provided
the requirement to acknowledge the source document is fulfilled by
inclusion of an obvious reference to the source document in the new
media. Where there is any doubt as to what defines ``obvious'' the
copyright owner reserves the right to decide.
2200..22.. TThhee SSooffttwwaarree
The HFS filesystem software is Copyright (c) 1994-1997 by Paul H.
Hargrove.
The software is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
The software is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with the software in the file ``COPYING''; if not, write to the
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
USA.
2200..33.. TTrraaddeemmaarrkkss
+o ``Finder'' is a trademark of Apple Computer, Inc.
+o ``Apple'', ``AppleShare'', and ``Macintosh'' are registered
trademarks of Apple Computer, Inc.
+o ``MS-DOS'' is a registered trademarks of Microsoft Corporation.
+o All other trademarks are the property of their respective owners.