1 Frequently Asked Questions about the HFS filesystem for
3 Paul H. Hargrove, hargrove@sccm.Stanford.EDU
4 version 1.0.3, 27 Apr 1997
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-
12 ______________________________________________________________________
16 1. What is this FAQ about?
20 3. How I mount AppleShare volumes?
22 4. What is the current version of the HFS filesystem.
24 5. How stable is the current version?
26 6. Is there a mailing list for discussion of the HFS filesystem?
28 7. What version of Linux do I need to be running?
30 8. Will it run on my (your processor type here)?
32 9. Will it run under (your non-Linux operating system here)?
34 10. Why can I mount some HFS CDROMs but not others?
36 11. What does ``only 1024-char blocks implemented (512)'' mean?
38 12. Why do I get a message about a bad or unknown partition table?
40 13. Can I mount multiple HFS partitions from the same Macintosh
43 14. In what ways can I write to HFS filesystems?
45 15. Does the HFS filesystem work with 400 kB or 800 kB Macintosh
48 16. How can I format an HFS filesystem?
50 17. How can I fsck an HFS filesystem?
52 18. Why do I get ``error -50'' messages from my Mac when using
55 19. Why does my Macintosh show generic application and document
58 20. How owns all the copyrights and trademarks? ;-)
65 ______________________________________________________________________
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?
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.
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.
79 2
\b2.
\b. W
\bWh
\bha
\bat
\bt i
\bis
\bs H
\bHF
\bFS
\bS?
\b?
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.
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?
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/.
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.
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.
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?
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
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.
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?
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).
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.
118 To subscribe to linux-atalk send e-mail with a body of ``SUBSCRIBE
119 LINUX-ATALK (Your full name)'' to listserv@netspace.org.
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?
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.
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
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?
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
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
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?
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
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?
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.
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?
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.
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?
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.
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?
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.
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?
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.
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).
201 +
\bo Run Linux executables or shared libraries on an HFS disk if they
202 are stored in the data fork of a file.
204 +
\bo Read, write and truncate both forks of files and the Finder's
205 metadata of files and directories.
207 +
\bo Mmap data forks of files (and the resource fork if the filesystem
208 is mounted with the fork=cap option).
210 +
\bo Toggle the 'w' permission bits (as a group) of data forks.
212 +
\bo Change the i_mtime of files and directories.
214 You c
\bca
\ban
\bnn
\bno
\bot
\bt:
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
221 +
\bo Run Linux executables or shared libraries on an HFS disk if they
222 are stored in the resource fork of a file.
224 +
\bo Mmap the Finder's metadata (when fork=cap) or AppleDouble header
225 files (when fork=double or fork=netatalk).
227 +
\bo Change permissions on directories.
229 +
\bo Change the uid or gid of files or directories.
231 +
\bo Set the set-uid, set-gid or sticky permission bits.
233 +
\bo Create multiple links to files.
235 +
\bo Create symlinks, device files, sockets or FIFOs.
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?
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,
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?
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/>.
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?
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.
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?
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
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?
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
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.
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)
288 2
\b20
\b0.
\b.1
\b1.
\b. T
\bTh
\bhi
\bis
\bs D
\bDo
\boc
\bcu
\bum
\bme
\ben
\bnt
\bt
290 This document is Copyright (c) 1996, 1997 by Paul H. Hargrove.
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.
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.
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.
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.
312 2
\b20
\b0.
\b.2
\b2.
\b. T
\bTh
\bhe
\be S
\bSo
\bof
\bft
\btw
\bwa
\bar
\bre
\be
314 The HFS filesystem software is Copyright (c) 1994-1997 by Paul H.
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)
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.
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,
332 2
\b20
\b0.
\b.3
\b3.
\b. T
\bTr
\bra
\bad
\bde
\bem
\bma
\bar
\brk
\bks
\bs
334 +
\bo ``Finder'' is a trademark of Apple Computer, Inc.
336 +
\bo ``Apple'', ``AppleShare'', and ``Macintosh'' are registered
337 trademarks of Apple Computer, Inc.
339 +
\bo ``MS-DOS'' is a registered trademarks of Microsoft Corporation.
341 +
\bo All other trademarks are the property of their respective owners.