1 |
1275 |
phoenix |
Installation instructions for the HFS Filesystem for Linux
|
2 |
|
|
Paul H. Hargrove, hargrove@sccm.Stanford.EDU
|
3 |
|
|
version 0.95 28 Apr 1997
|
4 |
|
|
|
5 |
|
|
This document explains how to compile and install version 0.95 of
|
6 |
|
|
hfs_fs, the HFS filesystem for Linux.
|
7 |
|
|
|
8 |
|
|
11.. SSyysstteemm RReeqquuiirreemmeennttss
|
9 |
|
|
|
10 |
|
|
You will need the following to compile and use this release of hfs_fs:
|
11 |
|
|
|
12 |
|
|
+o Kernel version 2.0.1 or newer compiled with modules enabled
|
13 |
|
|
(CONFIG_MODULES).
|
14 |
|
|
|
15 |
|
|
+o The kernel sources (or at least the header files) available online.
|
16 |
|
|
|
17 |
|
|
+o 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
|
20 |
|
|
brief introduction.)
|
21 |
|
|
|
22 |
|
|
22.. IInnssttaallllaattiioonn
|
23 |
|
|
|
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.
|
28 |
|
|
|
29 |
|
|
22..11.. CCoommppiilliinngg tthhee llooaaddaabbllee mmoodduullee
|
30 |
|
|
|
31 |
|
|
To compile hfs.o you should only need to execute ``make'' in the
|
32 |
|
|
hfs_fs source directory.
|
33 |
|
|
|
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
|
41 |
|
|
hfs_fs with.
|
42 |
|
|
|
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.
|
46 |
|
|
|
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.
|
50 |
|
|
|
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
|
55 |
|
|
end of line 217.
|
56 |
|
|
|
57 |
|
|
22..22.. IInnssttaalllliinngg tthhee mmoodduullee iinn tthhee mmoodduulleess ddiirreeccttoorryy ((ooppttiioonnaall))
|
58 |
|
|
|
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.
|
63 |
|
|
|
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.
|
68 |
|
|
|
69 |
|
|
22..33.. LLooaaddiinngg tthhee mmoodduullee iinnttoo tthhee rruunnnniinngg kkeerrnneell
|
70 |
|
|
|
71 |
|
|
There are three ways to accomplish this:
|
72 |
|
|
|
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.
|
76 |
|
|
|
77 |
|
|
2. If you are _n_o_t 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.
|
81 |
|
|
|
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.
|
89 |
|
|
|
90 |
|
|
22..44.. UUssiinngg tthhee mmoodduullee wwiitthh vveerrssiioonneedd ssyymmbboollss
|
91 |
|
|
|
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.
|
97 |
|
|
|
98 |
|
|
In any case, it is unlikely that this module will need changes with
|
99 |
|
|
each new kernel patch; simple recompilation should usually suffice.
|
100 |
|
|
|
101 |
|
|
33.. LLeeggaall NNoottiicceess
|
102 |
|
|
|
103 |
|
|
33..11.. TThhiiss DDooccuummeenntt
|
104 |
|
|
|
105 |
|
|
This document is Copyright (c) 1996, 1997 by Paul H. Hargrove.
|
106 |
|
|
|
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.
|
110 |
|
|
|
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.
|
115 |
|
|
|
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.
|
119 |
|
|
|
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.
|
126 |
|
|
|