1 Installation instructions for the HFS Filesystem for Linux
2 Paul H. Hargrove, hargrove@sccm.Stanford.EDU
3 version 0.95 28 Apr 1997
5 This document explains how to compile and install version 0.95 of
6 hfs_fs, the HFS filesystem for Linux.
8 1
\b1.
\b. S
\bSy
\bys
\bst
\bte
\bem
\bm R
\bRe
\beq
\bqu
\bui
\bir
\bre
\bem
\bme
\ben
\bnt
\bts
\bs
10 You will need the following to compile and use this release of hfs_fs:
12 +
\bo Kernel version 2.0.1 or newer compiled with modules enabled
15 +
\bo The kernel sources (or at least the header files) available online.
17 +
\bo The module utilities package current for your kernel version and an
18 understanding of how to use it. (The file
19 Documentation/modules.txt in the kernel source directory provides a
22 2
\b2.
\b. I
\bIn
\bns
\bst
\bta
\bal
\bll
\bla
\bat
\bti
\bio
\bon
\bn
24 This release of the HFS filesystem is not part of the official kernel
25 distribution. Therefore, it is compiled as a module and then loaded
26 into the kernel using the module utilities. Therefore, your kernel
27 must be compiled with CONFIG_MODULES enabled.
29 2
\b2.
\b.1
\b1.
\b. C
\bCo
\bom
\bmp
\bpi
\bil
\bli
\bin
\bng
\bg t
\bth
\bhe
\be l
\blo
\boa
\bad
\bda
\bab
\bbl
\ble
\be m
\bmo
\bod
\bdu
\bul
\ble
\be
31 To compile hfs.o you should only need to execute ``make'' in the
32 hfs_fs source directory.
34 If gcc complains about not finding a large number of header files with
35 names beginning with ``linux/'' then you probably don't have the
36 kernel header files installed correctly. Either /usr/include/linux,
37 /usr/include/asm and /usr/include/scsi should be symbolic links to
38 include/linux, include/asm and include/scsi in the kernel source tree
39 for the kernel you wish to use hfs_fs with, or else they should be
40 directories containing the header files for the kernel you wish to use
43 If gcc complains about not finding linux/version.h, then you will need
44 to run ``make dep'' in the kernel source directory to build it. Under
45 MkLinux, run ``make include/linux/version.h'' instead.
47 If gcc complains about not finding the files linux/config.h or
48 linux/autoconf.h, then you will need to run ``make config'' and ``make
49 dep'' in the kernel source directory to build these two files.
51 If you are compiling on a DEC Alpha and receive messages saying
52 assignment from incompatible pointer type when compiling files dir_*.c
53 and file_*.c, then you need to change a single line in the file
54 linux/hfs_fs.h. Remove the text ``&& !defined(__alpha__)'' from the
57 2
\b2.
\b.2
\b2.
\b. I
\bIn
\bns
\bst
\bta
\bal
\bll
\bli
\bin
\bng
\bg t
\bth
\bhe
\be m
\bmo
\bod
\bdu
\bul
\ble
\be i
\bin
\bn t
\bth
\bhe
\be m
\bmo
\bod
\bdu
\bul
\ble
\bes
\bs d
\bdi
\bir
\bre
\bec
\bct
\bto
\bor
\bry
\by (
\b(o
\bop
\bpt
\bti
\bio
\bon
\bna
\bal
\bl)
\b)
59 If you plan to use kerneld to automatically load the module or if you
60 wish to use modprobe or insmod without supplying a complete path to
61 hfs.o, then you will need to copy hfs.o into a directory where the
62 module utilities expect to find it.
64 The proper directory may depend slightly on your configuration.
65 However, /lib/modules/default/fs/ is a common one for filesystem
66 modules. Once hfs.o is in the proper directory you should run depmod
67 -a to update the dependency list used by kerneld and modprobe.
69 2
\b2.
\b.3
\b3.
\b. L
\bLo
\boa
\bad
\bdi
\bin
\bng
\bg t
\bth
\bhe
\be m
\bmo
\bod
\bdu
\bul
\ble
\be i
\bin
\bnt
\bto
\bo t
\bth
\bhe
\be r
\bru
\bun
\bnn
\bni
\bin
\bng
\bg k
\bke
\ber
\brn
\bne
\bel
\bl
71 There are three ways to accomplish this:
73 1. If you are running kerneld and have installed hfs.o in the modules
74 directory then you don't need to issue any commands; the module
75 will be loaded when you attempt to mount an HFS filesystem.
77 2. If you are _
\bn_
\bo_
\bt running kerneld then you can load hfs.o manually by
78 running modprobe hfs.o. If you have not installed hfs.o in one of
79 the standard module directories, then you will need provide a full
80 path to the file hfs.o.
82 3. If you have been experiencing kernel crashes with hfs_fs, then you
83 should file a bug report including the names of the functions which
84 the EIP and Stack Trace point into. To help with this you can ask
85 for relocation map for the module when you load it. To do this
86 load the module with ``insmod -m hfs.o >loadmap''. Again, you may
87 need a full path to the file hfs.o if you have not placed it in one
88 of the standard module directories.
90 2
\b2.
\b.4
\b4.
\b. U
\bUs
\bsi
\bin
\bng
\bg t
\bth
\bhe
\be m
\bmo
\bod
\bdu
\bul
\ble
\be w
\bwi
\bit
\bth
\bh v
\bve
\ber
\brs
\bsi
\bio
\bon
\bne
\bed
\bd s
\bsy
\bym
\bmb
\bbo
\bol
\bls
\bs
92 All the interface between the module and the kernel take place through
93 very stable (since the mid-1.3.x kernels) parts of the kernel. If you
94 enabled versioned symbols (CONFIG_MODVERSIONS) when you compiled your
95 kernel you should often be able to compile this module once and then
96 use it with many kernels newer than the one you compiled it for.
98 In any case, it is unlikely that this module will need changes with
99 each new kernel patch; simple recompilation should usually suffice.
101 3
\b3.
\b. L
\bLe
\beg
\bga
\bal
\bl N
\bNo
\bot
\bti
\bic
\bce
\bes
\bs
103 3
\b3.
\b.1
\b1.
\b. T
\bTh
\bhi
\bis
\bs D
\bDo
\boc
\bcu
\bum
\bme
\ben
\bnt
\bt
105 This document is Copyright (c) 1996, 1997 by Paul H. Hargrove.
107 Permission is granted to make and distribute verbatim copies of this
108 document provided the copyright notice and this permission notice are
109 preserved on all copies.
111 Permission is granted to copy and distribute modified versions of this
112 document under the conditions for verbatim copies above, provided a
113 notice clearly stating that the document is a modified version is also
114 included in the modified document.
116 Permission is granted to copy and distribute translations of this
117 document into another language, under the conditions specified above
118 for modified versions.
120 Permission is granted to convert this document into another media
121 under the conditions specified above for modified versions provided
122 the requirement to acknowledge the source document is fulfilled by
123 inclusion of an obvious reference to the source document in the new
124 media. Where there is any doubt as to what defines ``obvious'' the
125 copyright owner reserves the right to decide.