Root/
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 |
47 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9