1*6d983feaSJan-Benedict Glaw#!/bin/sh 2*6d983feaSJan-Benedict Glaw 3*6d983feaSJan-Benedict Glaw# 4*6d983feaSJan-Benedict Glaw# buildtar 0.0.3 5*6d983feaSJan-Benedict Glaw# 6*6d983feaSJan-Benedict Glaw# (C) 2004-2005 by Jan-Benedict Glaw <jbglaw@lug-owl.de> 7*6d983feaSJan-Benedict Glaw# 8*6d983feaSJan-Benedict Glaw# This script is used to compile a tarball from the currently 9*6d983feaSJan-Benedict Glaw# prepared kernel. Based upon the builddeb script from 10*6d983feaSJan-Benedict Glaw# Wichert Akkerman <wichert@wiggy.net>. 11*6d983feaSJan-Benedict Glaw# 12*6d983feaSJan-Benedict Glaw 13*6d983feaSJan-Benedict Glawset -e 14*6d983feaSJan-Benedict Glaw 15*6d983feaSJan-Benedict Glaw# 16*6d983feaSJan-Benedict Glaw# Some variables and settings used throughout the script 17*6d983feaSJan-Benedict Glaw# 18*6d983feaSJan-Benedict Glawversion="${VERSION}.${PATCHLEVEL}.${SUBLEVEL}${EXTRAVERSION}${EXTRANAME}" 19*6d983feaSJan-Benedict Glawtmpdir="${objtree}/tar-install" 20*6d983feaSJan-Benedict Glawtarball="${objtree}/linux-${version}.tar" 21*6d983feaSJan-Benedict Glaw 22*6d983feaSJan-Benedict Glaw 23*6d983feaSJan-Benedict Glaw# 24*6d983feaSJan-Benedict Glaw# Figure out how to compress, if requested at all 25*6d983feaSJan-Benedict Glaw# 26*6d983feaSJan-Benedict Glawcase "${1}" in 27*6d983feaSJan-Benedict Glaw tar-pkg) 28*6d983feaSJan-Benedict Glaw compress="cat" 29*6d983feaSJan-Benedict Glaw file_ext="" 30*6d983feaSJan-Benedict Glaw ;; 31*6d983feaSJan-Benedict Glaw targz-pkg) 32*6d983feaSJan-Benedict Glaw compress="gzip -c9" 33*6d983feaSJan-Benedict Glaw file_ext=".gz" 34*6d983feaSJan-Benedict Glaw ;; 35*6d983feaSJan-Benedict Glaw tarbz2-pkg) 36*6d983feaSJan-Benedict Glaw compress="bzip2 -c9" 37*6d983feaSJan-Benedict Glaw file_ext=".bz2" 38*6d983feaSJan-Benedict Glaw ;; 39*6d983feaSJan-Benedict Glaw *) 40*6d983feaSJan-Benedict Glaw echo "Unknown tarball target \"${1}\" requested, please add it to ${0}." >&2 41*6d983feaSJan-Benedict Glaw exit 1 42*6d983feaSJan-Benedict Glaw ;; 43*6d983feaSJan-Benedict Glawesac 44*6d983feaSJan-Benedict Glaw 45*6d983feaSJan-Benedict Glaw 46*6d983feaSJan-Benedict Glaw# 47*6d983feaSJan-Benedict Glaw# Clean-up and re-create the temporary directory 48*6d983feaSJan-Benedict Glaw# 49*6d983feaSJan-Benedict Glawrm -rf -- "${tmpdir}" 50*6d983feaSJan-Benedict Glawmkdir -p -- "${tmpdir}/boot" 51*6d983feaSJan-Benedict Glaw 52*6d983feaSJan-Benedict Glaw 53*6d983feaSJan-Benedict Glaw# 54*6d983feaSJan-Benedict Glaw# Try to install modules 55*6d983feaSJan-Benedict Glaw# 56*6d983feaSJan-Benedict Glawif ! make INSTALL_MOD_PATH="${tmpdir}" modules_install; then 57*6d983feaSJan-Benedict Glaw echo "" >&2 58*6d983feaSJan-Benedict Glaw echo "Ignoring error at module_install time, since that could be" >&2 59*6d983feaSJan-Benedict Glaw echo "a result of missing local modutils/module-init-tools," >&2 60*6d983feaSJan-Benedict Glaw echo "or you just didn't compile in module support at all..." >&2 61*6d983feaSJan-Benedict Glaw echo "" >&2 62*6d983feaSJan-Benedict Glawfi 63*6d983feaSJan-Benedict Glaw 64*6d983feaSJan-Benedict Glaw 65*6d983feaSJan-Benedict Glaw# 66*6d983feaSJan-Benedict Glaw# Install basic kernel files 67*6d983feaSJan-Benedict Glaw# 68*6d983feaSJan-Benedict Glawcp -v -- System.map "${tmpdir}/boot/System.map-${version}" 69*6d983feaSJan-Benedict Glawcp -v -- .config "${tmpdir}/boot/config-${version}" 70*6d983feaSJan-Benedict Glawcp -v -- vmlinux "${tmpdir}/boot/vmlinux-${version}" 71*6d983feaSJan-Benedict Glaw 72*6d983feaSJan-Benedict Glaw 73*6d983feaSJan-Benedict Glaw# 74*6d983feaSJan-Benedict Glaw# Install arch-specific kernel image(s) 75*6d983feaSJan-Benedict Glaw# 76*6d983feaSJan-Benedict Glawcase "${ARCH}" in 77*6d983feaSJan-Benedict Glaw i386) 78*6d983feaSJan-Benedict Glaw [ -f arch/i386/boot/bzImage ] && cp -v -- arch/i386/boot/bzImage "${tmpdir}/boot/vmlinuz-${version}" 79*6d983feaSJan-Benedict Glaw ;; 80*6d983feaSJan-Benedict Glaw alpha) 81*6d983feaSJan-Benedict Glaw [ -f arch/alpha/boot/vmlinux.gz ] && cp -v -- arch/alpha/boot/vmlinux.gz "${tmpdir}/boot/vmlinuz-${version}" 82*6d983feaSJan-Benedict Glaw ;; 83*6d983feaSJan-Benedict Glaw vax) 84*6d983feaSJan-Benedict Glaw [ -f vmlinux.SYS ] && cp -v -- vmlinux.SYS "${tmpdir}/boot/vmlinux-${version}.SYS" 85*6d983feaSJan-Benedict Glaw [ -f vmlinux.dsk ] && cp -v -- vmlinux.dsk "${tmpdir}/boot/vmlinux-${version}.dsk" 86*6d983feaSJan-Benedict Glaw ;; 87*6d983feaSJan-Benedict Glaw *) 88*6d983feaSJan-Benedict Glaw [ -f "${KBUILD_IMAGE}" ] && cp -v -- "${KBUILD_IMAGE}" "${tmpdir}/boot/vmlinux-kbuild-${version}" 89*6d983feaSJan-Benedict Glaw echo "" >&2 90*6d983feaSJan-Benedict Glaw echo '** ** ** WARNING ** ** **' >&2 91*6d983feaSJan-Benedict Glaw echo "" >&2 92*6d983feaSJan-Benedict Glaw echo "Your architecture did not define any architecture-dependant files" >&2 93*6d983feaSJan-Benedict Glaw echo "to be placed into the tarball. Please add those to ${0} ..." >&2 94*6d983feaSJan-Benedict Glaw echo "" >&2 95*6d983feaSJan-Benedict Glaw sleep 5 96*6d983feaSJan-Benedict Glaw ;; 97*6d983feaSJan-Benedict Glawesac 98*6d983feaSJan-Benedict Glaw 99*6d983feaSJan-Benedict Glaw 100*6d983feaSJan-Benedict Glaw# 101*6d983feaSJan-Benedict Glaw# Create the tarball 102*6d983feaSJan-Benedict Glaw# 103*6d983feaSJan-Benedict Glaw( 104*6d983feaSJan-Benedict Glaw cd "${tmpdir}" 105*6d983feaSJan-Benedict Glaw tar cf - . | ${compress} > "${tarball}${file_ext}" 106*6d983feaSJan-Benedict Glaw) 107*6d983feaSJan-Benedict Glaw 108*6d983feaSJan-Benedict Glawecho "Tarball successfully created in ${tarball}${file_ext}" 109*6d983feaSJan-Benedict Glaw 110*6d983feaSJan-Benedict Glawexit 0 111*6d983feaSJan-Benedict Glaw 112