Skip to content
  1. Sep 20, 2009
    • Sam Ravnborg's avatar
      kbuild: save ARCH & CROSS_COMPILE when building a kernel · 57554334
      Sam Ravnborg authored
      
      
      When building a kernel for a different architecture
      kbuild requires the user always to specify ARCH and
      CROSS_COMPILE on the command-line.
      
      We use the asm symlink to detect if user forgets to
      specify the correct ARCH value - but that symlink
      is about to die. And we do now want to loose this check.
      
      This patch save the settings of ARCH and CROSS_COMPILE
      in two files named:
      
          include/generated/kernel.arch
          include/generated/kernel.cross
      
      The settings are saved during "make *config" time
      and always read.
      
      If user try to change the settings we error out.
      
      This works both for plain builds and for O=...
      builds.
      
      So now you can do:
      $ mkdir sparc64
      $ make O=sparc64 ARCH=sparc64 CROSS_COMPILE=sparc64-linux- defconfig
      $ cd sparc64
      $ make
      
      Notice that you no longer need to tell kbuild
      the settings of ARCH and CROSS_COMPILE when you type make
      in the output directory.
      
      Likewise for plain builds where you do not use O=...
      
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Roland McGrath <roland@redhat.com>
      57554334
    • Sam Ravnborg's avatar
      kbuild: use INSTALLKERNEL to select customized installkernel script · caa27b66
      Sam Ravnborg authored
      Replace the use of CROSS_COMPILE to select a customized
      installkernel script with the possibility to set INSTALLKERNEL
      to select a custom installkernel script when running make:
      
          make INSTALLKERNEL=arm-installkernel install
      
      With this patch we are now more consistent across
      different architectures - they did not all support use
      of CROSS_COMPILE.
      
      The use of CROSS_COMPILE was a hack as this really belongs
      to gcc/binutils and the installkernel script does not change
      just because we change toolchain.
      
      The use of CROSS_COMPILE caused troubles with an upcoming patch
      that saves CROSS_COMPILE when a kernel is built - it would no
      longer be installable.
      [Thanks to Peter Z. for this hint]
      
      This patch undos what Ian did in commit:
      
        0f8e2d62
      
      
        ("use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh")
      
      The patch has been lightly tested on x86 only - but all changes
      looks obvious.
      
      Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Acked-by: Mike Frysinger <vapier@gentoo.org> [blackfin]
      Acked-by: Russell King <linux@arm.linux.org.uk> [arm]
      Acked-by: Paul Mundt <lethal@linux-sh.org> [sh]
      Acked-by: "H. Peter Anvin" <hpa@zytor.com> [x86]
      Cc: Ian Campbell <icampbell@arcom.com>
      Cc: Tony Luck <tony.luck@intel.com> [ia64]
      Cc: Fenghua Yu <fenghua.yu@intel.com> [ia64]
      Cc: Hirokazu Takata <takata@linux-m32r.org> [m32r]
      Cc: Geert Uytterhoeven <geert@linux-m68k.org> [m68k]
      Cc: Kyle McMartin <kyle@mcmartin.ca> [parisc]
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> [powerpc]
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> [s390]
      Cc: Thomas Gleixner <tglx@linutronix.de> [x86]
      Cc: Ingo Molnar <mingo@redhat.com> [x86]
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      caa27b66
  2. Sep 19, 2009
  3. Sep 18, 2009