X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=pack-kernel.sh;h=c6d52741330b9cff5d17d67322b5349f69e95091;hb=f34f67b5452b400dfdbc75cccfa7a64abf695074;hp=e34829076ddbdb5aec8377c7f96c18d0291ea147;hpb=02c04c83363b1f4b8ba95c50e09b60087e7d3609;p=firefly-linux-kernel-4.4.55.git diff --git a/pack-kernel.sh b/pack-kernel.sh index e34829076ddb..c6d52741330b 100755 --- a/pack-kernel.sh +++ b/pack-kernel.sh @@ -1,98 +1,131 @@ #!/bin/bash set -e -FILES=( -# arch -arch/arm/mach-rk29/clock.c -arch/arm/mach-rk29/ddr.c -arch/arm/mach-rk29/vpu*.c -arch/arm/mach-rk29/verifyID.c - -drivers/staging/rk29/ipp/rk29-ipp.c -) - -DIRS=( -drivers/staging/rk29/vivante/ -) +# --------------------------------------------------------------------------- +usage() { + echo "usage: $0 [rk2928|rk30|rk3066b]" + echo "example: $0 rk3066b" + exit +} -EXCLUDES=( -arch/arm/mach-rk2818/*.c -arch/arm/mach-rk2818/*.h -arch/arm/mach-rk2818/include/mach -arch/arm/configs/rk28* -drivers/*rk28*.c -sound/*rk28*.c -sound/*rk28*.h -include/*rk28* +while getopts "h" options; do + case $options in + h ) usage;; + esac +done +# --------------------------------------------------------------------------- -arch/arm/mach-rk29/ddr_reconfig.c +# --------------------------------------------------------------------------- +kerndir=$(cd .; pwd) # get absolute path +[ -d $kerndir ] || usage -drivers/staging/rk29/vivante/*.c -drivers/staging/rk29/vivante/*.h +arch=${1} +FILES=() +DIRS=() +EXCLUDES=() -arch/arm/mach-rk29/board-rk29sdk.c -arch/arm/configs/rk29_sdk_defconfig -arch/arm/configs/rk29_sdk_yaffs2_defconfig +if [ "$arch" == "rk30" ]; then -arch/arm/mach-rk29/board-malata.c -arch/arm/mach-rk29/board-rk29malata-key.c -arch/arm/configs/rk29_malata_defconfig +EXCLUDES=( +arch/arm/mach-rk30/*rk3066b* +arch/arm/mach-rk30/include/mach/*rk3066b* -arch/arm/mach-rk29/board-rk29-winaccord.c -arch/arm/configs/rk29_Winaccord_defconfig +arch/arm/mach-rk29*/*.c +arch/arm/mach-rk29*/*.h +arch/arm/mach-rk29*/*.S +arch/arm/mach-rk29*/Makefile* +arch/arm/mach-rk29*/include +arch/arm/configs/rk29* -arch/arm/mach-rk29/board-rk29-a22* -arch/arm/configs/rk29_a22_defconfig +arch/arm/mach-rk30/board-rk30-phone-* +arch/arm/configs/rk30_phone_* -arch/arm/mach-rk29/board-rk29-fih* -arch/arm/configs/rk29_FIH_defconfig +arch/arm/configs/rk30_phonepad_c8003* +) -arch/arm/mach-rk29/board-rk29-k97* -arch/arm/mach-rk29/board-rk29k97* -arch/arm/configs/rk29_k97_defconfig +defconfig=rk3066_sdk_defconfig -arch/arm/mach-rk29/board-rk29-newton* -arch/arm/mach-rk29/board-newton* -arch/arm/configs/rk29_newton_defconfig +elif [ "$arch" == "rk2928" ]; then -arch/arm/mach-rk29/board-rk29-p91* -arch/arm/configs/rk29_p91_defconfig +EXCLUDES=( +arch/arm/mach-rk30/*.c +arch/arm/mach-rk30/*.h +arch/arm/mach-rk30/*.S +arch/arm/mach-rk30/*.inc +arch/arm/mach-rk30/Makefile* +arch/arm/mach-rk30/include +arch/arm/configs/rk30* + +drivers/video/rockchip/lcdc/rk30* +drivers/video/rockchip/hdmi/chips/rk30/rk30* +drivers/video/rockchip/hdmi/chips/rk30/hdcp/rk30* + +arch/arm/mach-rk2928/board-rk2928-a720* +arch/arm/configs/rk2928_a720_defconfig + +arch/arm/mach-rk2928/board-rk2928.c +arch/arm/configs/rk2928_defconfig + +arch/arm/mach-rk2928/board-rk2928-phonepad* +arch/arm/configs/rk2928_phonepad_defconfig +) -arch/arm/mach-rk29/board-rk29-phonesdk* -arch/arm/configs/rk29_phonesdk_defconfig +defconfig=rk2928_sdk_defconfig -arch/arm/mach-rk29/board-rk29-td8801* -arch/arm/configs/rk29_td8801_v2_defconfig +elif [ "$arch" == "rk3066b" ]; then -arch/arm/mach-rk29/board-rk29-z5* -arch/arm/configs/rk29_z5_defconfig +EXCLUDES=( +arch/arm/mach-rk30/clock_data.c +arch/arm/mach-rk30/board-rk30-ds* +arch/arm/mach-rk30/board-rk30-phone* +arch/arm/mach-rk30/board-rk30-sdk.c +arch/arm/mach-rk30/board-rk30-sdk-tps65910.c +arch/arm/mach-rk30/board-rk30-sdk-twl80032.c +arch/arm/mach-rk30/board-rk30-sdk-rfkill.c +arch/arm/mach-rk30/board-rk30-sdk-wm8326.c + +arch/arm/configs/rk30_* +arch/arm/configs/rk3066_* + +arch/arm/mach-rk29*/*.c +arch/arm/mach-rk29*/*.h +arch/arm/mach-rk29*/*.S +arch/arm/mach-rk29*/Makefile* +arch/arm/mach-rk29*/include +arch/arm/configs/rk29* ) -# --------------------------------------------------------------------------- -usage() { - echo usage: $0 kerneldir defconfig - echo example: $0 . rk29_ddr3sdk_defconfig - exit -} - -while getopts "h" options; do - case $options in - h ) usage;; - esac -done -# --------------------------------------------------------------------------- - -# --------------------------------------------------------------------------- -kerndir=${1-.} -kerndir=$(cd $kerndir; pwd) # get absolute path -[ -d $kerndir ] || usage +defconfig=rk3168_tb_defconfig -defconfig=${2-rk29_ddr3sdk_defconfig} -if [ "$defconfig" = ".config" ]; then - [ -f $kerndir/.config ] || usage else - [ -f $kerndir/arch/arm/configs/$defconfig ] || usage + echo "unknown arch" && usage fi + +[ -f $kerndir/arch/arm/configs/$defconfig ] || usage + +COMMON_EXCLUDES=( +pack-kernel* +arch/arm/plat-rk/vpu*.c +drivers/staging/rk29/vivante +drivers/staging/rk29/ipp/rk29-ipp.c +drivers/*rk28*.c +include/*rk28* +arch/arm/mach-rk3188/*.c +arch/arm/mach-rk3188/*.h +arch/arm/mach-rk3188/Makefile* +arch/arm/mach-rk3188/include +arch/arm/mach-rk29/*.c +arch/arm/mach-rk29/*.h +arch/arm/mach-rk29/*.S +arch/arm/mach-rk29/Makefile* +arch/arm/mach-rk29/include +arch/arm/mach-rk*/*-fpga* +arch/arm/mach-rk*/*-tb* +arch/arm/configs/rk3188_* +arch/arm/configs/rk29_* +arch/arm/configs/*_fpga_* +arch/arm/configs/*_tb_* +) # --------------------------------------------------------------------------- # make .uu @@ -105,13 +138,15 @@ for file in ${FILES[@]}; do [ -f ${file/.[cS]/.uu} ] && rm -f ${file/.[cS]/.uu} done -for d in ${DIRS[@]}; do - [ -d $d ] && find $d -type f -name '*.uu' -print0 | xargs -0 rm -f +for dir in ${DIRS[@]}; do + [ -d $dir ] && find $dir -type f -name '*.uu' -print0 | xargs -0 rm -f done -echo build kernel on $kerndir with $defconfig +echo build kernel on $kerndir with $defconfig, arch is $arch make clean >/dev/null 2>&1 make $defconfig >/dev/null 2>&1 + +[ -z "${files}${DIRS}" ] || make -j`grep 'processor' /proc/cpuinfo | wc -l` ${files[@]/.[cS]/.o} ${DIRS[@]} for file in ${FILES[@]}; do @@ -148,9 +183,12 @@ done for file in ${EXCLUDES[@]}; do echo "$file" >> $ex done +for file in ${COMMON_EXCLUDES[@]}; do + echo "$file" >> $ex +done echo TAR $(pwd)/$package -tar cf $package --numeric-owner --exclude-from $ex --exclude=.git --exclude=`basename $0` $(basename $kerndir) -tar rf $package --numeric-owner --exclude=.git prebuilt/linux-x86/toolchain/arm-eabi-4.4.0 +tar cf $package --numeric-owner --exclude-from $ex --exclude=.git $(basename $kerndir) +#tar rf $package --numeric-owner --exclude=.git prebuilt/linux-x86/toolchain/arm-eabi-4.4.0 echo GZIP $(pwd)/$package.gz gzip -9 -c $package > $package.gz rm $ex @@ -159,5 +197,3 @@ popd >/dev/null rm -f $kerndir/.scmversion echo done - -