~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux-2.6.17/Documentation/sparc/README-2.5

Version: ~ [ 2.6.16 ] ~ [ 2.6.17 ] ~
Architecture: ~ [ ia64 ] ~ [ i386 ] ~ [ arm ] ~ [ ppc ] ~ [ sparc64 ] ~

  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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.