linux/Documentation/sparc/README-2.5
<<
>>
Prefs
   1BTFIXUP
   2-------
   3
   4To build new kernels you have to issue "make image". The ready kernel
   5in ELF format is placed in arch/sparc/boot/image. Explanation is below.
   6
   7BTFIXUP is a unique feature of Linux/sparc among other architectures,
   8developed by Jakub Jelinek (I think... Obviously David S. Miller took
   9part, too). It allows to boot the same kernel at different 
  10sub-architectures, such as sun4c, sun4m, sun4d, where SunOS uses
  11different kernels. This feature is convinient for people who you move
  12disks between boxes and for distrution builders.
  13
  14To function, BTFIXUP must link the kernel "in the draft" first,
  15analyze the result, write a special stub code based on that, and
  16build the final kernel with the stub (btfix.o).
  17
  18Kai Germaschewski improved the build system of the kernel in the 2.5 series
  19significantly. Unfortunately, the traditional way of running the draft
  20linking from architecture specific Makefile before the actual linking
  21by generic Makefile is nearly impossible to support properly in the
  22new build system. Therefore, the way we integrate BTFIXUP with the
  23build system was changed in 2.5.40. Now, generic Makefile performs
  24the draft linking and stores the result in file vmlinux. Architecture
  25specific post-processing invokes BTFIXUP machinery and final linking
  26in the same way as other architectures do bootstraps.
  27
  28Implications of that change are as follows.
  29
  301. 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
  352. 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
  393. 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
  434. Since we are compliant with Kai's build system now, make -j is permitted.
  44
  45-- Pete Zaitcev
  46zaitcev@yahoo.com
  47
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.