From 53fea57b629d6eb869ab9ae09b2d6fd833c74f01 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Mon, 26 Nov 2012 17:25:29 +0800 Subject: [PATCH] pack-kernel: add pack-kernel.sh for rk30/rk3066b/rk2928, drop rk29 support, rm pack-kernel-common.sh pack-kernel-rk29.sh pack-kernel-rk2928.sh pack-kernel-rk30.sh --- pack-kernel-common.sh | 95 -------------------- pack-kernel-rk29.sh | 78 ---------------- pack-kernel-rk2928.sh | 60 ------------- pack-kernel-rk30.sh | 36 -------- pack-kernel.sh | 201 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 201 insertions(+), 269 deletions(-) delete mode 100755 pack-kernel-common.sh delete mode 100755 pack-kernel-rk29.sh delete mode 100755 pack-kernel-rk2928.sh delete mode 100755 pack-kernel-rk30.sh create mode 100755 pack-kernel.sh diff --git a/pack-kernel-common.sh b/pack-kernel-common.sh deleted file mode 100755 index bdfe1a47361a..000000000000 --- a/pack-kernel-common.sh +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/bash -set -e - -# --------------------------------------------------------------------------- -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 - -if [ "$defconfig" = ".config" ]; then - [ -f $kerndir/.config ] || usage -else - [ -f $kerndir/arch/arm/configs/$defconfig ] || usage -fi -# --------------------------------------------------------------------------- - -# make .uu -pushd $kerndir >/dev/null - -declare -a files - -for file in ${FILES[@]}; do - [ -e ${file} ] && files=( ${files[@]} ${file} ) || echo No such file: ${file} - [ -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 -done - -echo build kernel on $kerndir with $defconfig -make clean >/dev/null 2>&1 -make $defconfig >/dev/null 2>&1 -make -j`grep 'processor' /proc/cpuinfo | wc -l` ${files[@]/.[cS]/.o} ${DIRS[@]} - -for file in ${FILES[@]}; do - filename=${file##*/} - base=${filename%%.*} - dir=${file%/*} - [ -f $dir/$base.o ] && echo UU $dir/$base.uu && uuencode $dir/$base.o $base.o > $dir/$base.uu -done - -for d in ${DIRS[@]}; do - for file in `find $d -type f -name '*.o'`; do - filename=${file##*/} - base=${filename%%.*} - dir=${file%/*} - echo UU $dir/$base.uu && uuencode $dir/$base.o $base.o > $dir/$base.uu - done -done - -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 -ex=$package.ex -> $ex -for file in ${FILES[@]}; do - echo "$file" >> $ex -done -for file in ${EXCLUDES[@]}; do - echo "$file" >> $ex -done -echo TAR $(pwd)/$package -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 - -rm -f $kerndir/.scmversion - -echo done - - diff --git a/pack-kernel-rk29.sh b/pack-kernel-rk29.sh deleted file mode 100755 index e8e2fca60209..000000000000 --- a/pack-kernel-rk29.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/bash -set -e - -FILES=( -# arch -arch/arm/mach-rk29/clock.c -arch/arm/mach-rk29/ddr.c -arch/arm/mach-rk29/verifyID.c -) - -DIRS=( -) - -EXCLUDES=( -pack-kernel* - -arch/arm/mach-rk29/vpu*.c -arch/arm/plat-rk/vpu*.c - -arch/arm/mach-rk30/*.c -arch/arm/mach-rk30/*.h -arch/arm/mach-rk30/*.S -arch/arm/mach-rk30/Makefile* -arch/arm/mach-rk30/include -arch/arm/configs/rk30* -sound/*rk30*.c -drivers/*rk30*.c -drivers/*rk30*.h - -drivers/*rk28*.c -include/*rk28* - -arch/arm/mach-rk29/ddr_reconfig.c - -drivers/staging/rk29/vivante - -drivers/staging/rk29/ipp/rk29-ipp.c - -arch/arm/mach-rk29/board-rk29sdk.c -arch/arm/configs/rk29_sdk_defconfig -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-k97* -arch/arm/mach-rk29/board-rk29k97* -arch/arm/configs/rk29_k97_defconfig - -arch/arm/mach-rk29/board-rk29-newton* -arch/arm/mach-rk29/board-newton* -arch/arm/configs/rk29_newton_defconfig - -arch/arm/mach-rk29/board-rk29-p91* -arch/arm/configs/rk29_p91_defconfig - -arch/arm/mach-rk29/board-rk29-phonesdk* -arch/arm/configs/rk29_phonesdk_defconfig - -arch/arm/mach-rk29/board-rk29-td8801* -arch/arm/configs/rk29_td8801_v2_defconfig - -arch/arm/mach-rk29/board-rk29-z5* -arch/arm/configs/rk29_z5_defconfig -) - -defconfig=${2-rk29_ddr3sdk_defconfig} -. pack-kernel-common.sh diff --git a/pack-kernel-rk2928.sh b/pack-kernel-rk2928.sh deleted file mode 100755 index 4aaf1aab8239..000000000000 --- a/pack-kernel-rk2928.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -set -e - -FILES=( -# arch -arch/arm/mach-rk2928/clock_data.c -arch/arm/mach-rk2928/ddr.c -) - -DIRS=( -) - -EXCLUDES=( -pack-kernel* - -arch/arm/plat-rk/vpu*.c - -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-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_* - -drivers/*rk28*.c -include/*rk28* - -drivers/staging/rk29/vivante -drivers/staging/rk29/ipp/rk29-ipp.c - -drivers/video/rockchip/lcdc/rk30* -drivers/video/rockchip/hdmi/chips/rk30/rk30* -drivers/video/rockchip/hdmi/chips/rk30/hdcp/rk30* - -arch/arm/mach-rk2928/*fpga* -arch/arm/configs/*fpga* - -arch/arm/mach-rk2928/board-rk2928-a720* -arch/arm/configs/rk2928_a720_defconfig - -arch/arm/mach-rk2928/board-rk2928-tb* -arch/arm/configs/rk2928_tb_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=${2-rk2928_sdk_defconfig} -. pack-kernel-common.sh diff --git a/pack-kernel-rk30.sh b/pack-kernel-rk30.sh deleted file mode 100755 index 6c411e852222..000000000000 --- a/pack-kernel-rk30.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -set -e - -FILES=( -# arch -arch/arm/mach-rk30/clock_data.c -arch/arm/mach-rk30/ddr*.c -) - -DIRS=( -) - -EXCLUDES=( -pack-kernel* - -arch/arm/plat-rk/vpu*.c -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* - -drivers/*rk28*.c -include/*rk28* - -drivers/staging/rk29/vivante - -drivers/staging/rk29/ipp/rk29-ipp.c - -arch/arm/mach-rk30/board-rk30-phone* -arch/arm/configs/rk30_phone_* -) - -defconfig=${2-rk30_sdk_defconfig} -. pack-kernel-common.sh diff --git a/pack-kernel.sh b/pack-kernel.sh new file mode 100755 index 000000000000..c56a82b94c73 --- /dev/null +++ b/pack-kernel.sh @@ -0,0 +1,201 @@ +#!/bin/bash +set -e + +# --------------------------------------------------------------------------- +usage() { + echo "usage: $0 [rk2928|rk30|rk3066b]" + echo "example: $0 rk3066b" + exit +} + +while getopts "h" options; do + case $options in + h ) usage;; + esac +done +# --------------------------------------------------------------------------- + +# --------------------------------------------------------------------------- +kerndir=$(cd .; pwd) # get absolute path +[ -d $kerndir ] || usage + +arch=${1} +FILES=() +DIRS=() +EXCLUDES=() + +if [ "$arch" == "rk30" ]; then + +FILES=( +arch/arm/mach-rk30/clock_data.c +arch/arm/mach-rk30/ddr.c +) + +EXCLUDES=( +arch/arm/mach-rk30/*rk3066b* +arch/arm/mach-rk30/include/mach/*rk3066b* + +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 + +FILES=( +arch/arm/mach-rk2928/clock_data.c +arch/arm/mach-rk2928/ddr.c +) + +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 +) + +defconfig=rk2928_sdk_defconfig + +elif [ "$arch" == "rk3066b" ]; then + +FILES=( +arch/arm/mach-rk30/clock_data-rk3066b.c +arch/arm/mach-rk30/ddr.c +) + +EXCLUDES=( +arch/arm/mach-rk30/clock_data.c +arch/arm/mach-rk30/board-rk30-* +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* +) + +defconfig=rk3066b_sdk_defconfig + +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/mach-rk*/*-tb* +arch/arm/configs/rk29_* +arch/arm/configs/*_fpga_* +arch/arm/configs/*_tb_* +) +# --------------------------------------------------------------------------- + +# make .uu +pushd $kerndir >/dev/null + +declare -a files + +for file in ${FILES[@]}; do + [ -e ${file} ] && files=( ${files[@]} ${file} ) || echo No such file: ${file} + [ -f ${file/.[cS]/.uu} ] && rm -f ${file/.[cS]/.uu} +done + +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, arch is $arch +make clean >/dev/null 2>&1 +make $defconfig >/dev/null 2>&1 + +make -j`grep 'processor' /proc/cpuinfo | wc -l` ${files[@]/.[cS]/.o} ${DIRS[@]} + +for file in ${FILES[@]}; do + filename=${file##*/} + base=${filename%%.*} + dir=${file%/*} + [ -f $dir/$base.o ] && echo UU $dir/$base.uu && uuencode $dir/$base.o $base.o > $dir/$base.uu +done + +for d in ${DIRS[@]}; do + for file in `find $d -type f -name '*.o'`; do + filename=${file##*/} + base=${filename%%.*} + dir=${file%/*} + echo UU $dir/$base.uu && uuencode $dir/$base.o $base.o > $dir/$base.uu + done +done + +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 +ex=$package.ex +> $ex +for file in ${FILES[@]}; do + echo "$file" >> $ex +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 $(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 + +rm -f $kerndir/.scmversion + +echo done -- 2.34.1