1 ARM Linux 2.4.0test1
2 ====================
3
4 Please check ftp.arm.linux.org.uk:/pub/armlinux for latest updates.
5
6 Compilation of kernel
7 ---------------------
8
9 In order to compile ARM Linux, you will need a compiler capable of
10 generating ARM ELF code with GNU extensions. GCC-2.7.2.2 ELF, GCC 2.8.1
11 and EGCS are good compilers. Note that GCC-2.7.2.2 ELF is rare, and
12 you probably don't have it.
13
14 To build ARM Linux natively, you shouldn't have to alter the ARCH = line
15 in the top level Makefile. However, if you don't have the ARM Linux ELF
16 tools installed as default, then you should change the CROSS_COMPILE
17 line as detailed below.
18
19 If you wish to cross-compile, then alter the following lines in the top
20 level make file:
21
22 ARCH = <whatever>
23 with
24 ARCH = arm
25
26 and
27
28 CROSS_COMPILE=
29 to
30 CROSS_COMPILE=<your-path-to-your-compiler-without-gcc>
31 eg.
32 CROSS_COMPILE=arm-linux-
33
34 Do a 'make config', followed by 'make dep', and finally 'make Image' to
35 build the kernel (arch/arm/boot/Image). A compressed image can be built
36 by doing a 'make zImage' instead of 'make Image'.
37
38
39 Bug reports etc
40 ---------------
41
42 Please send patches to the patch system. For more information, see
43 http://www.arm.linux.org.uk/patches/info.html Always include some
44 explanation as to what the patch does and why it is needed.
45
46 Bug reports should be sent to linux-arm-kernel@lists.arm.linux.org.uk,
47 or submitted through the web form at
48 http://www.arm.linux.org.uk/forms/solution.shtml
49
50 When sending bug reports, please ensure that they contain all relevant
51 information, eg. the kernel messages that were printed before/during
52 the problem, what you were doing, etc.
53
54
55 Include files
56 -------------
57
58 Several new include directories have been created under include/asm-arm,
59 which are there to reduce the clutter in the top-level directory. These
60 directories, and their purpose is listed below:
61
62 arch-* machine/platform specific header files
63 hardware driver-internal ARM specific data structures/definitions
64 mach descriptions of generic ARM to specific machine interfaces
65 proc-* processor dependent header files (currently only two
66 categories)
67
68
69 Machine/Platform support
70 ------------------------
71
72 The ARM tree contains support for a lot of different machine types. To
73 continue supporting these differences, it has become necessary to split
74 machine-specific parts by directory. For this, the machine category is
75 used to select which directories and files get included (we will use
76 $(MACHINE) to refer to the category)
77
78 To this end, we now have arch/arm/mach-$(MACHINE) directories which are
79 designed to house the non-driver files for a particular machine (eg, PCI,
80 memory management, architecture definitions etc). For all future
81 machines, there should be a corresponding include/asm-arm/arch-$(MACHINE)
82 directory.
83
84
85 Modules
86 -------
87
88 Although modularisation is supported (and required for the FP emulator),
89 each module on an ARM2/ARM250/ARM3 machine when is loaded will take
90 memory up to the next 32k boundary due to the size of the pages.
91 Therefore, modularisation on these machines really worth it?
92
93 However, ARM6 and up machines allow modules to take multiples of 4k, and
94 as such Acorn RiscPCs and other architectures using these processors can
95 make good use of modularisation.
96
97
98 ADFS Image files
99 ----------------
100
101 You can access image files on your ADFS partitions by mounting the ADFS
102 partition, and then using the loopback device driver. You must have
103 losetup installed.
104
105 Please note that the PCEmulator DOS partitions have a partition table at
106 the start, and as such, you will have to give '-o offset' to losetup.
107
108
109 Request to developers
110 ---------------------
111
112 When writing device drivers which include a separate assembler file, please
113 include it in with the C file, and not the arch/arm/lib directory. This
114 allows the driver to be compiled as a loadable module without requiring
115 half the code to be compiled into the kernel image.
116
117 In general, try to avoid using assembler unless it is really necessary. It
118 makes drivers far less easy to port to other hardware.
119
120
121 ST506 hard drives
122 -----------------
123
124 The ST506 hard drive controllers seem to be working fine (if a little
125 slowly). At the moment they will only work off the controllers on an
126 A4x0's motherboard, but for it to work off a Podule just requires
127 someone with a podule to add the addresses for the IRQ mask and the
128 HDC base to the source.
129
130 As of 31/3/96 it works with two drives (you should get the ADFS
131 *configure harddrive set to 2). I've got an internal 20MB and a great
132 big external 5.25" FH 64MB drive (who could ever want more :-) ).
133
134 I've just got 240K/s off it (a dd with bs=128k); thats about half of what
135 RiscOS gets; but it's a heck of a lot better than the 50K/s I was getting
136 last week :-)
137
138 Known bug: Drive data errors can cause a hang; including cases where
139 the controller has fixed the error using ECC. (Possibly ONLY
140 in that case...hmm).
141
142
143 1772 Floppy
144 -----------
145 This also seems to work OK, but hasn't been stressed much lately. It
146 hasn't got any code for disc change detection in there at the moment which
147 could be a bit of a problem! Suggestions on the correct way to do this
148 are welcome.
149
150
151 Kernel entry (head-armv.S)
152 --------------------------
153 The initial entry into the kernel made via head-armv.S uses architecture
154 independent code. The architecture is selected by the value of 'r1' on
155 entry, which must be kept unique. You can register a new architecture
156 by mailing the following details to rmk@arm.linux.org.uk Please give
157 the mail a subject of 'Register new architecture':
158
159 Name: <name of your architecture>
160 ArchDir: <name of include/asm-arm/arch-* directory>
161 Type: <MACH_TYPE_* macro name>
162 Description:
163 <description of your architecture>
164
165 Please follow this format - it is an automated system. You should
166 receive a reply within one day.
167
168 ---
169 Russell King (12/06/2000)
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.