X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=pack-kernel.sh;h=a586e517a055c8f724d4a8e024408592835f12ec;hb=c9c669ebb5108b48b296403c6b3603afafa075cf;hp=b6cc914406e51036531491e63041e7c2be7dd5a6;hpb=0503172f07e017a559ce0b1334653b84474aba5b;p=firefly-linux-kernel-4.4.55.git diff --git a/pack-kernel.sh b/pack-kernel.sh index b6cc914406e5..a586e517a055 100755 --- a/pack-kernel.sh +++ b/pack-kernel.sh @@ -1,59 +1,10 @@ #!/bin/bash set -e -FILES=( -# arch -arch/arm/mach-rk29/clock.c -arch/arm/mach-rk29/ddr.c -arch/arm/mach-rk29/vpu*.c - -drivers/staging/rk29/ipp/rk29-ipp.c -sound/soc/codecs/rt5625.c -) - -DIRS=( -drivers/staging/rk29/vivante/ -) - -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* - -drivers/staging/rk29/vivante/*.c -drivers/staging/rk29/vivante/*.h - -arch/arm/configs/rk29_sdk_yaffs2_defconfig - -arch/arm/mach-rk29/board-malata.c -arch/arm/mach-rk29/board-rk29malata-key.c -arch/arm/configs/rk29_malata_defconfig - -arch/arm/mach-rk29/board-rk29-winaccord.c -arch/arm/configs/rk29_Winaccord_defconfig - -arch/arm/mach-rk29/board-rk29-a22* -arch/arm/configs/rk29_a22_defconfig - -arch/arm/mach-rk29/board-rk29-fih* -arch/arm/configs/rk29_FIH_defconfig - -arch/arm/mach-rk29/board-rk29-newton* -arch/arm/configs/rk29_newton_defconfig - -arch/arm/mach-rk29/board-rk29-p91* -arch/arm/configs/rk29_p91_defconfig -) - # --------------------------------------------------------------------------- usage() { - echo usage: $0 kerneldir defconfig - echo example: $0 . rk29_ddr3sdk_defconfig + echo "usage: $0 [rk2928|rk30|rk3066b|rk3188]" + echo "example: $0 rk3066b" exit } @@ -65,16 +16,125 @@ done # --------------------------------------------------------------------------- # --------------------------------------------------------------------------- -kerndir=${1-.} -kerndir=$(cd $kerndir; pwd) # get absolute path +kerndir=$(cd .; pwd) # get absolute path [ -d $kerndir ] || usage -defconfig=${2-rk29_ddr3sdk_defconfig} -if [ "$defconfig" = ".config" ]; then - [ -f $kerndir/.config ] || usage +arch=${1} +FILES=() +DIRS=() +EXCLUDES=() + +if [ "$arch" == "rk30" ]; then + +EXCLUDES=( +arch/arm/mach-rk30/*rk3066b* +arch/arm/mach-rk30/include/mach/*rk3066b* + +arch/arm/mach-rk3188/*.c +arch/arm/mach-rk3188/*.h +arch/arm/mach-rk3188/Makefile* +arch/arm/mach-rk3188/include +arch/arm/configs/rk3188_* + +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-rk30/board-rk30-phone-* +arch/arm/configs/rk30_phone_* + +arch/arm/configs/rk30_phonepad_c8003* +) + +defconfig=rk3066_sdk_defconfig + +elif [ "$arch" == "rk2928" ]; then + +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* + +arch/arm/mach-rk3188/*.c +arch/arm/mach-rk3188/*.h +arch/arm/mach-rk3188/Makefile* +arch/arm/mach-rk3188/include +arch/arm/configs/rk3188_* + +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 +) + +defconfig=rk2928_sdk_defconfig + +elif [ "$arch" == "rk3066b" -o "$arch" == "rk3188" ]; then + +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* +) + +if [ "$arch" == "rk3066b" ]; then + defconfig=rk3168_tb_defconfig else - [ -f $kerndir/arch/arm/configs/$defconfig ] || usage + defconfig=rk3188_tb_defconfig fi + +else + 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-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/configs/rk29_* +arch/arm/configs/*_fpga_* +) # --------------------------------------------------------------------------- # make .uu @@ -87,18 +147,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 -#zwp -mv sound/soc/codecs/rt5625.c sound/soc/codecs/rt5625.c.bak -mv sound/soc/codecs/rt5625.c.enc sound/soc/codecs/rt5625.c -#### - -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 @@ -117,15 +174,13 @@ for d in ${DIRS[@]}; do done done -#zwp -mv sound/soc/codecs/rt5625.c sound/soc/codecs/rt5625.c.enc -mv sound/soc/codecs/rt5625.c.bak sound/soc/codecs/rt5625.c -#### - make distclean >/dev/null 2>&1 popd >/dev/null +# fix local version +echo "+" > $kerndir/.scmversion + # tar kernel pushd $kerndir/../ >/dev/null package=$(basename $kerndir).tar @@ -137,16 +192,17 @@ done for file in ${EXCLUDES[@]}; do echo "$file" >> $ex done -echo sound/soc/codecs/rt5625.c >>$ex -echo sound/soc/codecs/rt5625.c.enc >>$ex +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 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 popd >/dev/null -echo done - +rm -f $kerndir/.scmversion +echo done