kbuild: use INSTALLKERNEL to select customized installkernel script
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:
0f8e2d62fa
("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: Peter 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: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
78f28b7c55
commit
caa27b66bd
17 changed files with 50 additions and 32 deletions
|
@ -65,6 +65,22 @@ INSTALL_PATH
|
|||
INSTALL_PATH specifies where to place the updated kernel and system map
|
||||
images. Default is /boot, but you can set it to other values.
|
||||
|
||||
INSTALLKERNEL
|
||||
--------------------------------------------------
|
||||
Install script called when using "make install".
|
||||
The default name is "installkernel".
|
||||
|
||||
The script will be called with the following arguments:
|
||||
$1 - kernel version
|
||||
$2 - kernel image file
|
||||
$3 - kernel map file
|
||||
$4 - default install path (use root directory if blank)
|
||||
|
||||
The implmentation of "make install" is architecture specific
|
||||
and it may differ from the above.
|
||||
|
||||
INSTALLKERNEL is provided to enable the possibility to
|
||||
specify a custom installer when cross compiling a kernel.
|
||||
|
||||
MODLIB
|
||||
--------------------------------------------------
|
||||
|
|
4
Makefile
4
Makefile
|
@ -315,6 +315,7 @@ OBJCOPY = $(CROSS_COMPILE)objcopy
|
|||
OBJDUMP = $(CROSS_COMPILE)objdump
|
||||
AWK = awk
|
||||
GENKSYMS = scripts/genksyms/genksyms
|
||||
INSTALLKERNEL := installkernel
|
||||
DEPMOD = /sbin/depmod
|
||||
KALLSYMS = scripts/kallsyms
|
||||
PERL = perl
|
||||
|
@ -353,7 +354,8 @@ KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
|
|||
|
||||
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
|
||||
export ARCH SRCARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC
|
||||
export CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE
|
||||
export CPP AR NM STRIP OBJCOPY OBJDUMP
|
||||
export MAKE AWK GENKSYMS INSTALLKERNEL PERL UTS_MACHINE
|
||||
export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
|
||||
|
||||
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
|
||||
|
|
|
@ -279,7 +279,7 @@ define archhelp
|
|||
echo ' (supply initrd image via make variable INITRD=<path>)'
|
||||
echo ' install - Install uncompressed kernel'
|
||||
echo ' zinstall - Install compressed kernel'
|
||||
echo ' Install using (your) ~/bin/installkernel or'
|
||||
echo ' (distribution) /sbin/installkernel or'
|
||||
echo ' Install using (your) ~/bin/$(INSTALLKERNEL) or'
|
||||
echo ' (distribution) /sbin/$(INSTALLKERNEL) or'
|
||||
echo ' install to $$(INSTALL_PATH) and run lilo'
|
||||
endef
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
#
|
||||
|
||||
# User may have a custom install script
|
||||
if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if [ -x /sbin/${CROSS_COMPILE}installkernel ]; then exec /sbin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
|
||||
if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
|
||||
|
||||
if [ "$(basename $2)" = "zImage" ]; then
|
||||
# Compressed install
|
||||
|
|
|
@ -155,7 +155,7 @@ define archhelp
|
|||
echo '* vmImage.gz - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.gz)'
|
||||
echo ' vmImage.lzma - Kernel-only image for U-Boot (arch/$(ARCH)/boot/vmImage.lzma)'
|
||||
echo ' install - Install kernel using'
|
||||
echo ' (your) ~/bin/$(CROSS_COMPILE)installkernel or'
|
||||
echo ' (distribution) PATH: $(CROSS_COMPILE)installkernel or'
|
||||
echo ' (your) ~/bin/$(INSTALLKERNEL) or'
|
||||
echo ' (distribution) PATH: $(INSTALLKERNEL) or'
|
||||
echo ' install to $$(INSTALL_PATH)'
|
||||
endef
|
||||
|
|
|
@ -36,9 +36,9 @@ verify "$3"
|
|||
|
||||
# User may have a custom install script
|
||||
|
||||
if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if which ${CROSS_COMPILE}installkernel >/dev/null 2>&1; then
|
||||
exec ${CROSS_COMPILE}installkernel "$@"
|
||||
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
|
||||
if which ${INSTALLKERNEL} >/dev/null 2>&1; then
|
||||
exec ${INSTALLKERNEL} "$@"
|
||||
fi
|
||||
|
||||
# Default install - same as make zlilo
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
|
||||
# User may have a custom install script
|
||||
|
||||
if [ -x ~/bin/installkernel ]; then exec ~/bin/installkernel "$@"; fi
|
||||
if [ -x /sbin/installkernel ]; then exec /sbin/installkernel "$@"; fi
|
||||
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
|
||||
if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
|
||||
|
||||
# Default install - same as make zlilo
|
||||
|
||||
|
|
|
@ -24,8 +24,8 @@
|
|||
|
||||
# User may have a custom install script
|
||||
|
||||
if [ -x /sbin/installkernel ]; then
|
||||
exec /sbin/installkernel "$@"
|
||||
if [ -x /sbin/${INSTALLKERNEL} ]; then
|
||||
exec /sbin/${INSTALLKERNEL} "$@"
|
||||
fi
|
||||
|
||||
if [ "$2" = "zImage" ]; then
|
||||
|
|
|
@ -33,8 +33,8 @@ verify "$3"
|
|||
|
||||
# User may have a custom install script
|
||||
|
||||
if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if [ -x /sbin/${CROSS_COMPILE}installkernel ]; then exec /sbin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
|
||||
if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
|
||||
|
||||
# Default install - same as make zlilo
|
||||
|
||||
|
|
|
@ -118,8 +118,8 @@ define archhelp
|
|||
@echo '* vmlinux - Uncompressed kernel image (./vmlinux)'
|
||||
@echo ' palo - Bootable image (./lifimage)'
|
||||
@echo ' install - Install kernel using'
|
||||
@echo ' (your) ~/bin/installkernel or'
|
||||
@echo ' (distribution) /sbin/installkernel or'
|
||||
@echo ' (your) ~/bin/$(INSTALLKERNEL) or'
|
||||
@echo ' (distribution) /sbin/$(INSTALLKERNEL) or'
|
||||
@echo ' copy to $$(INSTALL_PATH)'
|
||||
endef
|
||||
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
|
||||
# User may have a custom install script
|
||||
|
||||
if [ -x ~/bin/installkernel ]; then exec ~/bin/installkernel "$@"; fi
|
||||
if [ -x /sbin/installkernel ]; then exec /sbin/installkernel "$@"; fi
|
||||
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
|
||||
if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
|
||||
|
||||
# Default install
|
||||
|
||||
|
|
|
@ -182,8 +182,8 @@ define archhelp
|
|||
@echo ' simpleImage.<dt> - Firmware independent image.'
|
||||
@echo ' treeImage.<dt> - Support for older IBM 4xx firmware (not U-Boot)'
|
||||
@echo ' install - Install kernel using'
|
||||
@echo ' (your) ~/bin/installkernel or'
|
||||
@echo ' (distribution) /sbin/installkernel or'
|
||||
@echo ' (your) ~/bin/$(INSTALLKERNEL) or'
|
||||
@echo ' (distribution) /sbin/$(INSTALLKERNEL) or'
|
||||
@echo ' install to $$(INSTALL_PATH) and run lilo'
|
||||
@echo ' *_defconfig - Select default config from arch/$(ARCH)/configs'
|
||||
@echo ''
|
||||
|
|
|
@ -23,8 +23,8 @@ set -e
|
|||
|
||||
# User may have a custom install script
|
||||
|
||||
if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if [ -x /sbin/${CROSS_COMPILE}installkernel ]; then exec /sbin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
|
||||
if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
|
||||
|
||||
# Default install
|
||||
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
|
||||
# User may have a custom install script
|
||||
|
||||
if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if [ -x /sbin/${CROSS_COMPILE}installkernel ]; then exec /sbin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
|
||||
if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
|
||||
|
||||
# Default install - same as make zlilo
|
||||
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
|
||||
# User may have a custom install script
|
||||
|
||||
if [ -x /sbin/installkernel ]; then
|
||||
exec /sbin/installkernel "$@"
|
||||
if [ -x /sbin/${INSTALLKERNEL} ]; then
|
||||
exec /sbin/${INSTALLKERNEL} "$@"
|
||||
fi
|
||||
|
||||
if [ "$2" = "zImage" ]; then
|
||||
|
|
|
@ -179,8 +179,8 @@ archclean:
|
|||
define archhelp
|
||||
echo '* bzImage - Compressed kernel image (arch/x86/boot/bzImage)'
|
||||
echo ' install - Install kernel using'
|
||||
echo ' (your) ~/bin/installkernel or'
|
||||
echo ' (distribution) /sbin/installkernel or'
|
||||
echo ' (your) ~/bin/$(INSTALLKERNEL) or'
|
||||
echo ' (distribution) /sbin/$(INSTALLKERNEL) or'
|
||||
echo ' install to $$(INSTALL_PATH) and run lilo'
|
||||
echo ' fdimage - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)'
|
||||
echo ' fdimage144 - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)'
|
||||
|
|
|
@ -33,8 +33,8 @@ verify "$3"
|
|||
|
||||
# User may have a custom install script
|
||||
|
||||
if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if [ -x /sbin/${CROSS_COMPILE}installkernel ]; then exec /sbin/${CROSS_COMPILE}installkernel "$@"; fi
|
||||
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
|
||||
if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
|
||||
|
||||
# Default install - same as make zlilo
|
||||
|
||||
|
|
Loading…
Reference in a new issue