added a lot of printk output to ease writing of emulator
[linux-2.4.21-pre4.git] / fs / hfs / FAQ.txt
1   Frequently Asked Questions about the HFS filesystem for
2   Linux
3   Paul H. Hargrove, hargrove@sccm.Stanford.EDU
4   version 1.0.3, 27 Apr 1997
5
6   This document provides answers to some of the most frequently asked
7   questions about the HFS filesystem for Linux.  It is currently pretty
8   rough and totally unorganized.  Corrections, additions and clarifica-
9   tions are appreciated.  The most current version of this document is
10   kept on The HFS for Linux Page <http://www-sccm.Stanford.EDU/~har-
11   grove/HFS/>.
12   ______________________________________________________________________
13
14   Table of Contents:
15
16   1.      What is this FAQ about?
17
18   2.      What is HFS?
19
20   3.      How I mount AppleShare volumes?
21
22   4.      What is the current version of the HFS filesystem.
23
24   5.      How stable is the current version?
25
26   6.      Is there a mailing list for discussion of the HFS filesystem?
27
28   7.      What version of Linux do I need to be running?
29
30   8.      Will it run on my (your processor type here)?
31
32   9.      Will it run under (your non-Linux operating system here)?
33
34   10.     Why can I mount some HFS CDROMs but not others?
35
36   11.     What does ``only 1024-char blocks implemented (512)'' mean?
37
38   12.     Why do I get a message about a bad or unknown partition table?
39
40   13.     Can I mount multiple HFS partitions from the same Macintosh
41   disk?
42
43   14.     In what ways can I write to HFS filesystems?
44
45   15.     Does the HFS filesystem work with 400 kB or 800 kB Macintosh
46   diskettes?
47
48   16.     How can I format an HFS filesystem?
49
50   17.     How can I fsck an HFS filesystem?
51
52   18.     Why do I get ``error -50'' messages from my Mac when using
53   netatalk?
54
55   19.     Why does my Macintosh show generic application and document
56   icons?
57
58   20.     How owns all the copyrights and trademarks? ;-)
59
60   20.1.   This Document
61
62   20.2.   The Software
63
64   20.3.   Trademarks
65   ______________________________________________________________________
66
67   1\b1.\b.  W\bWh\bha\bat\bt i\bis\bs t\bth\bhi\bis\bs F\bFA\bAQ\bQ a\bab\bbo\bou\but\bt?\b?
68
69   This FAQ is about the HFS filesystem for Linux, which is available in
70   two forms.  The stand-alone version (called hfs_fs) is a Linux kernel
71   loadable module implementing the Macintosh HFS filesystem.  The HFS
72   filesystem is also included in some distributions of the Linux kernel
73   source (in the directory linux/fs/hfs).  This version can be compiled
74   as a loadable module or compiled into the kernel.
75
76   Either version allows a machine running Linux to read and write disks
77   from a Macintosh (almost) as though they were native Linux disks.
78
79   2\b2.\b.  W\bWh\bha\bat\bt i\bis\bs H\bHF\bFS\bS?\b?
80
81   HFS stands for ``Hierarchical File System'' and is the filesystem used
82   by the Mac Plus and all later Macintosh models.  Earlier Macintosh
83   models used MFS (``Macintosh File System''), which is not supported.
84
85   3\b3.\b.  H\bHo\bow\bw I\bI m\bmo\bou\bun\bnt\bt A\bAp\bpp\bpl\ble\beS\bSh\bha\bar\bre\be v\bvo\bol\blu\bum\bme\bes\bs?\b?
86
87   The HFS filesystem is for mounting local filesystems only.  There is
88   an experimental afpfs by Ben Hekster heksterb@acm.org available from
89   http://www.odyssey.co.il/~heksterb/Software/afpfs/.
90
91   4\b4.\b.  W\bWh\bha\bat\bt i\bis\bs t\bth\bhe\be c\bcu\bur\brr\bre\ben\bnt\bt v\bve\ber\brs\bsi\bio\bon\bn o\bof\bf t\bth\bhe\be H\bHF\bFS\bS f\bfi\bil\ble\bes\bsy\bys\bst\bte\bem\bm.\b.
92
93   As of version 1.0.3 of this FAQ, version 0.95 is the most recent.  You
94   can always find the most recent version on The HFS for Linux Page
95   <http://www-sccm.Stanford.EDU/~hargrove/HFS/>.  Announcements of new
96   versions are made to the comp.os.linux.announce newsgroup.
97
98   5\b5.\b.  H\bHo\bow\bw s\bst\bta\bab\bbl\ble\be i\bis\bs t\bth\bhe\be c\bcu\bur\brr\bre\ben\bnt\bt v\bve\ber\brs\bsi\bio\bon\bn?\b?
99
100   Version 0.95 is considered to be ``beta'' software, so I recommend
101   making backups of anything important before you start playing.  It is
102   relatively free of bugs due to lots of testing of the previous
103   releases.
104
105   After a suitable period without new bugs the I will consider the
106   software to be ``stable'' and the version number will jump to 1.0.
107
108   6\b6.\b.  I\bIs\bs t\bth\bhe\ber\bre\be a\ba m\bma\bai\bil\bli\bin\bng\bg l\bli\bis\bst\bt f\bfo\bor\br d\bdi\bis\bsc\bcu\bus\bss\bsi\bio\bon\bn o\bof\bf t\bth\bhe\be H\bHF\bFS\bS f\bfi\bil\ble\bes\bsy\bys\bst\bte\bem\bm?\b?
109
110   There is no mailing list devoted exclusively to the HFS filesystem.
111   However, announcements of new versions are posted to the ``linux-
112   atalk'' and ``hfs-interest'' lists.  I will see bug reports sent to
113   those lists but e-mail is more reliable (hargrove@sccm.Stanford.EDU).
114
115   To subscribe to hfs-interest send e-mail with a body of ``subscribe
116   hfs-interest (your e-mail address)'' to majordomo@ccs.neu.edu.
117
118   To subscribe to linux-atalk send e-mail with a body of ``SUBSCRIBE
119   LINUX-ATALK (Your full name)'' to listserv@netspace.org.
120
121   7\b7.\b.  W\bWh\bha\bat\bt v\bve\ber\brs\bsi\bio\bon\bn o\bof\bf L\bLi\bin\bnu\bux\bx d\bdo\bo I\bI n\bne\bee\bed\bd t\bto\bo b\bbe\be r\bru\bun\bnn\bni\bin\bng\bg?\b?
122
123   To compile and use the stand-alone distribution of the HFS filesystem
124   you will need Linux kernel version 2.0.1 or newer compiled with
125   modules enabled (CONFIG_MODULES).  To compile you will need the kernel
126   headers which match the kernel you are running.  This is covered in
127   more detail in the installation instructions in INSTALL.txt.
128
129   If your kernel came with HFS in the kernel source tree then HFS should
130   work with your Linux version.  There may be small problems with a few
131   of the development kernel releases.  For these releases check the HFS
132   for Linux Page <http://www-sccm.Stanford.EDU/~hargrove/HFS/> for
133   patches.
134
135   8\b8.\b.  W\bWi\bil\bll\bl i\bit\bt r\bru\bun\bn o\bon\bn m\bmy\by (\b(y\byo\bou\bur\br p\bpr\bro\boc\bce\bes\bss\bso\bor\br t\bty\byp\bpe\be h\bhe\ber\bre\be)\b)?\b?
136
137   The code is carefully written to be independent of your processor's
138   word size and byte-order, so if your machine runs Linux it can run the
139   HFS filesystem.  However some younger ports don't yet have support for
140   loadable modules.
141
142   Note that HFS is tested most extensively on Intel platforms.  So there
143   could be subtle compilation problems on other platforms.  If you
144   encounter any that are not addressed by the documentation then please
145   let me know.
146
147   9\b9.\b.  W\bWi\bil\bll\bl i\bit\bt r\bru\bun\bn u\bun\bnd\bde\ber\br (\b(y\byo\bou\bur\br n\bno\bon\bn-\b-L\bLi\bin\bnu\bux\bx o\bop\bpe\ber\bra\bat\bti\bin\bng\bg s\bsy\bys\bst\bte\bem\bm h\bhe\ber\bre\be)\b)?\b?
148
149   No.  There is a port in progress to NetBSD.  I know of no other active
150   porting attempts.  If you are interested in porting the HFS filesystem
151   to another Unix-like operating system, I am interested in providing
152   what guidance I can.
153
154   1\b10\b0.\b.  W\bWh\bhy\by c\bca\ban\bn I\bI m\bmo\bou\bun\bnt\bt s\bso\bom\bme\be H\bHF\bFS\bS C\bCD\bDR\bRO\bOM\bMs\bs b\bbu\but\bt n\bno\bot\bt o\bot\bth\bhe\ber\brs\bs?\b?
155
156   In the past there was a known incompatibility with some ``hybrid''
157   CDROMs that appear as HFS disks on Macs and as ISO9660 disks on other
158   systems.  I think I have fixed the problem.  So, if you encounter this
159   particular problem or have problems with specific non-hybrid CDROMs
160   please e-mail me with the title and manufacturer of the CD.
161
162   1\b11\b1.\b.  W\bWh\bha\bat\bt d\bdo\boe\bes\bs `\b``\b`o\bon\bnl\bly\by 1\b10\b02\b24\b4-\b-c\bch\bha\bar\br b\bbl\blo\boc\bck\bks\bs i\bim\bmp\bpl\ble\bem\bme\ben\bnt\bte\bed\bd (\b(5\b51\b12\b2)\b)'\b''\b' m\bme\bea\ban\bn?\b?
163
164   This message comes from the kernel and indicates that an attempt was
165   made to read a 512-byte block from a device that doesn't support
166   512-byte blocks.  The HFS filesystem only works with 512-byte blocks,
167   and therefore doesn't function with these devices.  Eventually it may
168   be able to use 1024-byte (or even 2048-byte) blocks when necessary.
169   Ideally the device driver should be enhanced to support 512-byte
170   blocks so that the various filesystems which need 512-byte blocks
171   don't each need to work around it.
172
173   1\b12\b2.\b.  W\bWh\bhy\by d\bdo\bo I\bI g\bge\bet\bt a\ba m\bme\bes\bss\bsa\bag\bge\be a\bab\bbo\bou\but\bt a\ba b\bba\bad\bd o\bor\br u\bun\bnk\bkn\bno\bow\bwn\bn p\bpa\bar\brt\bti\bit\bti\bio\bon\bn t\bta\bab\bbl\ble\be?\b?
174
175   If your Linux kernel doesn't understand Macintosh partition tables it
176   gives this warning when it can't find a partition table it recognizes.
177   To support partitioned media with such kernels, decoding of Mac
178   partition tables is done by the HFS filesystem so you should still be
179   able to mount the disk.  However, to do so you will need to mount the
180   raw device (such as /dev/sdb instead of /dev/sdb4) and use the part
181   mount option to indicate which partition you want.
182
183   1\b13\b3.\b.  C\bCa\ban\bn I\bI m\bmo\bou\bun\bnt\bt m\bmu\bul\blt\bti\bip\bpl\ble\be H\bHF\bFS\bS p\bpa\bar\brt\bti\bit\bti\bio\bon\bns\bs f\bfr\bro\bom\bm t\bth\bhe\be s\bsa\bam\bme\be M\bMa\bac\bci\bin\bnt\bto\bos\bsh\bh d\bdi\bis\bsk\bk?\b?
184
185   Only if your kernel understands Macintosh partition tables.  It the
186   kernel doesn't understand the Macintosh partition table, the HFS
187   filesystem must access the raw device.  Therefore, the kernel thinks
188   the entire drive is in use and prevents additional mounts on it.
189
190   1\b14\b4.\b.  I\bIn\bn w\bwh\bha\bat\bt w\bwa\bay\bys\bs c\bca\ban\bn I\bI w\bwr\bri\bit\bte\be t\bto\bo H\bHF\bFS\bS f\bfi\bil\ble\bes\bsy\bys\bst\bte\bem\bms\bs?\b?
191
192   The HFS filesystem is as capable as the MS-DOS or VFAT filesystems,
193   except that certain things can only be done with a file's data fork.
194
195   You c\bca\ban\bn:
196
197   +\bo  Create, delete and rename directories and data forks of files with
198      the caveat that names are case insensitive (so foo and Foo are the
199      same file or directory).
200
201   +\bo  Run Linux executables or shared libraries on an HFS disk if they
202      are stored in the data fork of a file.
203
204   +\bo  Read, write and truncate both forks of files and the Finder's
205      metadata of files and directories.
206
207   +\bo  Mmap data forks of files (and the resource fork if the filesystem
208      is mounted with the fork=cap option).
209
210   +\bo  Toggle the 'w' permission bits (as a group) of data forks.
211
212   +\bo  Change the i_mtime of files and directories.
213
214   You c\bca\ban\bnn\bno\bot\bt:
215
216   +\bo  Create, delete or rename resource forks of files or the Finder's
217      metadata.  Note, however, that they are created (with defaults
218      values), deleted and renamed along with the corresponding data fork
219      or directory.
220
221   +\bo  Run Linux executables or shared libraries on an HFS disk if they
222      are stored in the resource fork of a file.
223
224   +\bo  Mmap the Finder's metadata (when fork=cap) or AppleDouble header
225      files (when fork=double or fork=netatalk).
226
227   +\bo  Change permissions on directories.
228
229   +\bo  Change the uid or gid of files or directories.
230
231   +\bo  Set the set-uid, set-gid or sticky permission bits.
232
233   +\bo  Create multiple links to files.
234
235   +\bo  Create symlinks, device files, sockets or FIFOs.
236
237   1\b15\b5.\b.  D\bDo\boe\bes\bs t\bth\bhe\be H\bHF\bFS\bS f\bfi\bil\ble\bes\bsy\bys\bst\bte\bem\bm w\bwo\bor\brk\bk w\bwi\bit\bth\bh 4\b40\b00\b0k\bk o\bor\br 8\b80\b00\b0k\bk M\bMa\bac\bci\bin\bnt\bto\bos\bsh\bh
238   d\bdi\bis\bsk\bke\bet\btt\bte\bes\bs?\b?
239
240   Yes and no.  The software is fully capable of dealing with HFS disks
241   of any size.  However, the 400k and 800k diskettes are written in a
242   physical format that is incompatible with most non-Macintosh floppy
243   drives.  Note also that almost all 400k Macintosh diskettes are MFS,
244   not HFS.
245
246   1\b16\b6.\b.  H\bHo\bow\bw c\bca\ban\bn I\bI f\bfo\bor\brm\bma\bat\bt a\ban\bn H\bHF\bFS\bS f\bfi\bil\ble\bes\bsy\bys\bst\bte\bem\bm?\b?
247
248   Robert Leslie (rob@mars.org) has written a package for working with
249   HFS filesystems (like mtools plus a graphical interface).  One program
250   in the package is hformat which can format HFS filesystems.  The
251   latest version can be found on the HFS Utilities home page
252   <http://www.mars.org/home/rob/proj/hfs/>.
253
254   1\b17\b7.\b.  H\bHo\bow\bw c\bca\ban\bn I\bI f\bfs\bsc\bck\bk a\ban\bn H\bHF\bFS\bS f\bfi\bil\ble\bes\bsy\bys\bst\bte\bem\bm?\b?
255
256   Right now you'll have to use a Macintosh to do this.  However, Rob
257   Leslie is working on an fsck for HFS filesystems.
258
259   1\b18\b8.\b.  W\bWh\bhy\by d\bdo\bo I\bI g\bge\bet\bt `\b``\b`e\ber\brr\bro\bor\br -\b-5\b50\b0'\b''\b' m\bme\bes\bss\bsa\bag\bge\bes\bs f\bfr\bro\bom\bm m\bmy\by M\bMa\bac\bc w\bwh\bhe\ben\bn u\bus\bsi\bin\bng\bg
260   n\bne\bet\bta\bat\bta\bal\blk\bk?\b?
261
262   To be compatible with netatalk's afpd you will need to use netatalk
263   version 1.4b1 or newer and mount the HFS filesystem with the ``afpd''
264   mount option.  More information is provided in the ``afpd'' subsection
265   of the ``Mount Options'' section of the HFS documentation (HFS.txt if
266   you have the stand-alone HFS distribution or
267   linux/Documentation/filesystems/hfs.txt if HFS is in your kernel
268   source tree.)
269
270   1\b19\b9.\b.  W\bWh\bhy\by d\bdo\boe\bes\bs m\bmy\by M\bMa\bac\bci\bin\bnt\bto\bos\bsh\bh s\bsh\bho\bow\bw g\bge\ben\bne\ber\bri\bic\bc a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn a\ban\bnd\bd d\bdo\boc\bcu\bum\bme\ben\bnt\bt
271   i\bic\bco\bon\bns\bs?\b?
272
273   When using the ``afpd'' mount option the Desktop database on the disk
274   is not made available to Netatalk's afpd.  Because of this mounting an
275   HFS filesystem across the network to a Macintosh may result in the
276   Finder showing generic application and document icons.  Additionally
277   double clicking on a document will fail to start the correct
278   application.
279
280   If the disk is writable you can make Netatalk build a new Desktop
281   database in its own format by holding down the Option key while
282   selecting the volume in the Chooser.  If the disk is not writable then
283   these problems can be worked around by copying the application to a
284   local disk on the Macintosh.
285
286   2\b20\b0.\b.  H\bHo\bow\bw o\bow\bwn\bns\bs a\bal\bll\bl t\bth\bhe\be c\bco\bop\bpy\byr\bri\big\bgh\bht\bts\bs a\ban\bnd\bd t\btr\bra\bad\bde\bem\bma\bar\brk\bks\bs?\b? ;\b;-\b-)\b)
287
288   2\b20\b0.\b.1\b1.\b.  T\bTh\bhi\bis\bs D\bDo\boc\bcu\bum\bme\ben\bnt\bt
289
290   This document is Copyright (c) 1996, 1997 by Paul H. Hargrove.
291
292   Permission is granted to make and distribute verbatim copies of this
293   document provided the copyright notice and this permission notice are
294   preserved on all copies.
295
296   Permission is granted to copy and distribute modified versions of this
297   document under the conditions for verbatim copies above, provided a
298   notice clearly stating that the document is a modified version is also
299   included in the modified document.
300
301   Permission is granted to copy and distribute translations of this
302   document into another language, under the conditions specified above
303   for modified versions.
304
305   Permission is granted to convert this document into another media
306   under the conditions specified above for modified versions provided
307   the requirement to acknowledge the source document is fulfilled by
308   inclusion of an obvious reference to the source document in the new
309   media. Where there is any doubt as to what defines ``obvious'' the
310   copyright owner reserves the right to decide.
311
312   2\b20\b0.\b.2\b2.\b.  T\bTh\bhe\be S\bSo\bof\bft\btw\bwa\bar\bre\be
313
314   The HFS filesystem software is Copyright (c) 1994-1997 by Paul H.
315   Hargrove.
316
317   The software is free software; you can redistribute it and/or modify
318   it under the terms of the GNU General Public License as published by
319   the Free Software Foundation; either version 2, or (at your option)
320   any later version.
321
322   The software is distributed in the hope that it will be useful, but
323   WITHOUT ANY WARRANTY; without even the implied warranty of
324   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
325   General Public License for more details.
326
327   You should have received a copy of the GNU General Public License
328   along with the software in the file ``COPYING''; if not, write to the
329   Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
330   USA.
331
332   2\b20\b0.\b.3\b3.\b.  T\bTr\bra\bad\bde\bem\bma\bar\brk\bks\bs
333
334   +\bo  ``Finder'' is a trademark of Apple Computer, Inc.
335
336   +\bo  ``Apple'', ``AppleShare'', and ``Macintosh'' are registered
337      trademarks of Apple Computer, Inc.
338
339   +\bo  ``MS-DOS'' is a registered trademarks of Microsoft Corporation.
340
341   +\bo  All other trademarks are the property of their respective owners.
342