Commit | Line | Data |
---|---|---|
6d983fea | 1 | #!/bin/sh |
b2441318 | 2 | # SPDX-License-Identifier: GPL-2.0 |
6d983fea JBG |
3 | |
4 | # | |
af7db99a | 5 | # buildtar 0.0.5 |
6d983fea | 6 | # |
6073aa64 | 7 | # (C) 2004-2006 by Jan-Benedict Glaw <jbglaw@lug-owl.de> |
6d983fea JBG |
8 | # |
9 | # This script is used to compile a tarball from the currently | |
10 | # prepared kernel. Based upon the builddeb script from | |
11 | # Wichert Akkerman <wichert@wiggy.net>. | |
12 | # | |
13 | ||
14 | set -e | |
15 | ||
16 | # | |
17 | # Some variables and settings used throughout the script | |
18 | # | |
1fc90958 | 19 | tmpdir=$1 |
6d983fea JBG |
20 | |
21 | # | |
22 | # Clean-up and re-create the temporary directory | |
23 | # | |
24 | rm -rf -- "${tmpdir}" | |
25 | mkdir -p -- "${tmpdir}/boot" | |
dd965f1f | 26 | dirs=boot |
6d983fea | 27 | |
55a87cd8 DA |
28 | |
29 | # | |
30 | # Try to install dtbs | |
31 | # | |
32 | if grep -q '^CONFIG_OF_EARLY_FLATTREE=y' include/config/auto.conf; then | |
33 | # Only some architectures with OF support have this target | |
34 | if [ -d "${srctree}/arch/${SRCARCH}/boot/dts" ]; then | |
35 | $MAKE ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_DTBS_PATH="${tmpdir}/boot/dtbs/${KERNELRELEASE}" dtbs_install | |
36 | fi | |
37 | fi | |
38 | ||
39 | ||
6d983fea JBG |
40 | # |
41 | # Try to install modules | |
42 | # | |
6fb7ef5a | 43 | if grep -q '^CONFIG_MODULES=y' include/config/auto.conf; then |
175209cc | 44 | make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_MOD_PATH="${tmpdir}" modules_install |
dd965f1f | 45 | dirs="$dirs lib" |
6d983fea JBG |
46 | fi |
47 | ||
48 | ||
49 | # | |
50 | # Install basic kernel files | |
51 | # | |
6073aa64 | 52 | cp -v -- "${objtree}/System.map" "${tmpdir}/boot/System.map-${KERNELRELEASE}" |
cfd63736 | 53 | cp -v -- "${KCONFIG_CONFIG}" "${tmpdir}/boot/config-${KERNELRELEASE}" |
6073aa64 | 54 | cp -v -- "${objtree}/vmlinux" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}" |
6d983fea JBG |
55 | |
56 | ||
57 | # | |
58 | # Install arch-specific kernel image(s) | |
59 | # | |
60 | case "${ARCH}" in | |
bc395add DDG |
61 | x86|i386|x86_64) |
62 | [ -f "${objtree}/arch/x86/boot/bzImage" ] && cp -v -- "${objtree}/arch/x86/boot/bzImage" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}" | |
6d983fea JBG |
63 | ;; |
64 | alpha) | |
6073aa64 | 65 | [ -f "${objtree}/arch/alpha/boot/vmlinux.gz" ] && cp -v -- "${objtree}/arch/alpha/boot/vmlinux.gz" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}" |
6d983fea | 66 | ;; |
91400ac3 HD |
67 | parisc*) |
68 | [ -f "${KBUILD_IMAGE}" ] && cp -v -- "${KBUILD_IMAGE}" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}" | |
69 | [ -f "${objtree}/lifimage" ] && cp -v -- "${objtree}/lifimage" "${tmpdir}/boot/lifimage-${KERNELRELEASE}" | |
70 | ;; | |
7848ea79 SL |
71 | mips) |
72 | if [ -f "${objtree}/arch/mips/boot/compressed/vmlinux.bin" ]; then | |
73 | cp -v -- "${objtree}/arch/mips/boot/compressed/vmlinux.bin" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}" | |
74 | elif [ -f "${objtree}/arch/mips/boot/compressed/vmlinux.ecoff" ]; then | |
75 | cp -v -- "${objtree}/arch/mips/boot/compressed/vmlinux.ecoff" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}" | |
76 | elif [ -f "${objtree}/arch/mips/boot/compressed/vmlinux.srec" ]; then | |
77 | cp -v -- "${objtree}/arch/mips/boot/compressed/vmlinux.srec" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}" | |
78 | elif [ -f "${objtree}/vmlinux.32" ]; then | |
79 | cp -v -- "${objtree}/vmlinux.32" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}" | |
80 | elif [ -f "${objtree}/vmlinux.64" ]; then | |
81 | cp -v -- "${objtree}/vmlinux.64" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}" | |
82 | elif [ -f "${objtree}/arch/mips/boot/vmlinux.bin" ]; then | |
83 | cp -v -- "${objtree}/arch/mips/boot/vmlinux.bin" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}" | |
84 | elif [ -f "${objtree}/arch/mips/boot/vmlinux.ecoff" ]; then | |
85 | cp -v -- "${objtree}/arch/mips/boot/vmlinux.ecoff" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}" | |
86 | elif [ -f "${objtree}/arch/mips/boot/vmlinux.srec" ]; then | |
87 | cp -v -- "${objtree}/arch/mips/boot/vmlinux.srec" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}" | |
88 | elif [ -f "${objtree}/vmlinux" ]; then | |
89 | cp -v -- "${objtree}/vmlinux" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}" | |
90 | fi | |
91 | ;; | |
0df57d90 | 92 | arm64) |
731c4eac | 93 | for i in Image.bz2 Image.gz Image.lz4 Image.lzma Image.lzo vmlinuz.efi ; do |
0df57d90 OJ |
94 | if [ -f "${objtree}/arch/arm64/boot/${i}" ] ; then |
95 | cp -v -- "${objtree}/arch/arm64/boot/${i}" "${tmpdir}/boot/vmlinuz-${KERNELRELEASE}" | |
96 | break | |
97 | fi | |
98 | done | |
99 | ;; | |
7d0bc44b CP |
100 | riscv) |
101 | for i in Image.bz2 Image.gz Image; do | |
102 | if [ -f "${objtree}/arch/riscv/boot/${i}" ] ; then | |
103 | cp -v -- "${objtree}/arch/riscv/boot/${i}" "${tmpdir}/boot/vmlinux-${KERNELRELEASE}" | |
104 | break | |
105 | fi | |
106 | done | |
107 | ;; | |
6d983fea | 108 | *) |
6073aa64 | 109 | [ -f "${KBUILD_IMAGE}" ] && cp -v -- "${KBUILD_IMAGE}" "${tmpdir}/boot/vmlinux-kbuild-${KERNELRELEASE}" |
6d983fea JBG |
110 | echo "" >&2 |
111 | echo '** ** ** WARNING ** ** **' >&2 | |
112 | echo "" >&2 | |
25985edc | 113 | echo "Your architecture did not define any architecture-dependent files" >&2 |
6d983fea JBG |
114 | echo "to be placed into the tarball. Please add those to ${0} ..." >&2 |
115 | echo "" >&2 | |
116 | sleep 5 | |
117 | ;; | |
118 | esac |