diff options
Diffstat (limited to 'Documentation/sparc/README-2.5')
-rw-r--r-- | Documentation/sparc/README-2.5 | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Documentation/sparc/README-2.5 b/Documentation/sparc/README-2.5 new file mode 100644 index 000000000000..806fe490a56d --- /dev/null +++ b/Documentation/sparc/README-2.5 | |||
@@ -0,0 +1,46 @@ | |||
1 | BTFIXUP | ||
2 | ------- | ||
3 | |||
4 | To build new kernels you have to issue "make image". The ready kernel | ||
5 | in ELF format is placed in arch/sparc/boot/image. Explanation is below. | ||
6 | |||
7 | BTFIXUP is a unique feature of Linux/sparc among other architectures, | ||
8 | developed by Jakub Jelinek (I think... Obviously David S. Miller took | ||
9 | part, too). It allows to boot the same kernel at different | ||
10 | sub-architectures, such as sun4c, sun4m, sun4d, where SunOS uses | ||
11 | different kernels. This feature is convinient for people who you move | ||
12 | disks between boxes and for distrution builders. | ||
13 | |||
14 | To function, BTFIXUP must link the kernel "in the draft" first, | ||
15 | analyze the result, write a special stub code based on that, and | ||
16 | build the final kernel with the stub (btfix.o). | ||
17 | |||
18 | Kai Germaschewski improved the build system of the kernel in the 2.5 series | ||
19 | significantly. Unfortunately, the traditional way of running the draft | ||
20 | linking from architecture specific Makefile before the actual linking | ||
21 | by generic Makefile is nearly impossible to support properly in the | ||
22 | new build system. Therefore, the way we integrate BTFIXUP with the | ||
23 | build system was changed in 2.5.40. Now, generic Makefile performs | ||
24 | the draft linking and stores the result in file vmlinux. Architecture | ||
25 | specific post-processing invokes BTFIXUP machinery and final linking | ||
26 | in the same way as other architectures do bootstraps. | ||
27 | |||
28 | Implications of that change are as follows. | ||
29 | |||
30 | 1. Hackers must type "make image" now, instead of just "make", in the same | ||
31 | way as s390 people do now. It is analogous to "make bzImage" on i386. | ||
32 | This does NOT affect sparc64, you continue to use "make" to build sparc64 | ||
33 | kernels. | ||
34 | |||
35 | 2. vmlinux is not the final kernel, so RPM builders have to adjust | ||
36 | their spec files (if they delivered vmlinux for debugging). | ||
37 | System.map generated for vmlinux is still valid. | ||
38 | |||
39 | 3. Scripts that produce a.out images have to be changed. First, if they | ||
40 | invoke make, they have to use "make image". Second, they have to pick up | ||
41 | the new kernel in arch/sparc/boot/image instead of vmlinux. | ||
42 | |||
43 | 4. Since we are compliant with Kai's build system now, make -j is permitted. | ||
44 | |||
45 | -- Pete Zaitcev | ||
46 | zaitcev@yahoo.com | ||