BTFIXUP
-------

To build new kernels you have to issue "make image". The ready kernel
in ELF format is placed in arch/sparc/boot/image. Explanation is below.

BTFIXUP is a unique feature of Linux/sparc among other architectures,
developed by Jakub Jelinek (I think... Obviously David S. Miller took
part, too). It allows to boot the same kernel at different 
sub-architectures, such as sun4c, sun4m, sun4d, where SunOS uses
different kernels. This feature is convinient for people who you move
disks between boxes and for distrution builders.

To function, BTFIXUP must link the kernel "in the draft" first,
analyze the result, write a special stub code based on that, and
build the final kernel with the stub (btfix.o).

Kai Germaschewski improved the build system of the kernel in the 2.5 series
significantly. Unfortunately, the traditional way of running the draft
linking from architecture specific Makefile before the actual linking
by generic Makefile is nearly impossible to support properly in the
new build system. Therefore, the way we integrate BTFIXUP with the
build system was changed in 2.5.40. Now, generic Makefile performs
the draft linking and stores the result in file vmlinux. Architecture
specific post-processing invokes BTFIXUP machinery and final linking
in the same way as other architectures do bootstraps.

Implications of that change are as follows.

1. Hackers must type "make image" now, instead of just "make", in the same
   way as s390 people do now. It is analogous to "make bzImage" on i386.
   This does NOT affect sparc64, you continue to use "make" to build sparc64
   kernels.

2. vmlinux is not the final kernel, so RPM builders have to adjust
   their spec files (if they delivered vmlinux for debugging).
   System.map generated for vmlinux is still valid.

3. Scripts that produce a.out images have to be changed. First, if they
   invoke make, they have to use "make image". Second, they have to pick up
   the new kernel in arch/sparc/boot/image instead of vmlinux.

4. Since we are compliant with Kai's build system now, make -j is permitted.

-- Pete Zaitcev
zaitcev@yahoo.com
