diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2012-04-20 09:45:54 -0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2012-09-17 08:42:21 -0400 |
commit | 8c2c3df31e3b87cb5348e48776c366ebd1dc5a7a (patch) | |
tree | c67b6e60bffd8d61a7d61ccb48f18cf1d6a68d75 /arch/arm64/boot | |
parent | 10b663aef1c24794d32141be86b4dfcc64293bd0 (diff) |
arm64: Build infrastructure
This patch adds Makefile and Kconfig files required for building an
AArch64 kernel.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Olof Johansson <olof@lixom.net>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm64/boot')
-rw-r--r-- | arch/arm64/boot/.gitignore | 2 | ||||
-rw-r--r-- | arch/arm64/boot/Makefile | 36 | ||||
-rw-r--r-- | arch/arm64/boot/install.sh | 46 |
3 files changed, 84 insertions, 0 deletions
diff --git a/arch/arm64/boot/.gitignore b/arch/arm64/boot/.gitignore new file mode 100644 index 000000000000..8dab0bb6ae66 --- /dev/null +++ b/arch/arm64/boot/.gitignore | |||
@@ -0,0 +1,2 @@ | |||
1 | Image | ||
2 | Image.gz | ||
diff --git a/arch/arm64/boot/Makefile b/arch/arm64/boot/Makefile new file mode 100644 index 000000000000..eca209b2b0bf --- /dev/null +++ b/arch/arm64/boot/Makefile | |||
@@ -0,0 +1,36 @@ | |||
1 | # | ||
2 | # arch/arm64/boot/Makefile | ||
3 | # | ||
4 | # This file is included by the global makefile so that you can add your own | ||
5 | # architecture-specific flags and dependencies. | ||
6 | # | ||
7 | # This file is subject to the terms and conditions of the GNU General Public | ||
8 | # License. See the file "COPYING" in the main directory of this archive | ||
9 | # for more details. | ||
10 | # | ||
11 | # Copyright (C) 2012, ARM Ltd. | ||
12 | # Author: Will Deacon <will.deacon@arm.com> | ||
13 | # | ||
14 | # Based on the ia64 boot/Makefile. | ||
15 | # | ||
16 | |||
17 | targets := Image Image.gz | ||
18 | |||
19 | $(obj)/Image: vmlinux FORCE | ||
20 | $(call if_changed,objcopy) | ||
21 | |||
22 | $(obj)/Image.gz: $(obj)/Image FORCE | ||
23 | $(call if_changed,gzip) | ||
24 | |||
25 | $(obj)/%.dtb: $(src)/dts/%.dts | ||
26 | $(call cmd,dtc) | ||
27 | |||
28 | install: $(obj)/Image | ||
29 | $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ | ||
30 | $(obj)/Image System.map "$(INSTALL_PATH)" | ||
31 | |||
32 | zinstall: $(obj)/Image.gz | ||
33 | $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ | ||
34 | $(obj)/Image.gz System.map "$(INSTALL_PATH)" | ||
35 | |||
36 | clean-files += *.dtb | ||
diff --git a/arch/arm64/boot/install.sh b/arch/arm64/boot/install.sh new file mode 100644 index 000000000000..12ed78aa6f0c --- /dev/null +++ b/arch/arm64/boot/install.sh | |||
@@ -0,0 +1,46 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # arch/arm64/boot/install.sh | ||
4 | # | ||
5 | # This file is subject to the terms and conditions of the GNU General Public | ||
6 | # License. See the file "COPYING" in the main directory of this archive | ||
7 | # for more details. | ||
8 | # | ||
9 | # Copyright (C) 1995 by Linus Torvalds | ||
10 | # | ||
11 | # Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin | ||
12 | # Adapted from code in arch/i386/boot/install.sh by Russell King | ||
13 | # | ||
14 | # "make install" script for the AArch64 Linux port | ||
15 | # | ||
16 | # Arguments: | ||
17 | # $1 - kernel version | ||
18 | # $2 - kernel image file | ||
19 | # $3 - kernel map file | ||
20 | # $4 - default install path (blank if root directory) | ||
21 | # | ||
22 | |||
23 | # User may have a custom install script | ||
24 | if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi | ||
25 | if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi | ||
26 | |||
27 | if [ "$(basename $2)" = "Image.gz" ]; then | ||
28 | # Compressed install | ||
29 | echo "Installing compressed kernel" | ||
30 | base=vmlinuz | ||
31 | else | ||
32 | # Normal install | ||
33 | echo "Installing normal kernel" | ||
34 | base=vmlinux | ||
35 | fi | ||
36 | |||
37 | if [ -f $4/$base-$1 ]; then | ||
38 | mv $4/$base-$1 $4/$base-$1.old | ||
39 | fi | ||
40 | cat $2 > $4/$base-$1 | ||
41 | |||
42 | # Install system map file | ||
43 | if [ -f $4/System.map-$1 ]; then | ||
44 | mv $4/System.map-$1 $4/System.map-$1.old | ||
45 | fi | ||
46 | cp $3 $4/System.map-$1 | ||