pack-kernel: add pack-kernel.sh for rk30/rk3066b/rk2928, drop rk29 support, rm pack...
author黄涛 <huangtao@rock-chips.com>
Mon, 26 Nov 2012 09:25:29 +0000 (17:25 +0800)
committer黄涛 <huangtao@rock-chips.com>
Mon, 26 Nov 2012 09:25:29 +0000 (17:25 +0800)
pack-kernel-common.sh [deleted file]
pack-kernel-rk29.sh [deleted file]
pack-kernel-rk2928.sh [deleted file]
pack-kernel-rk30.sh [deleted file]
pack-kernel.sh [new file with mode: 0755]

diff --git a/pack-kernel-common.sh b/pack-kernel-common.sh
deleted file mode 100755 (executable)
index bdfe1a4..0000000
+++ /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 (executable)
index e8e2fca..0000000
+++ /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 (executable)
index 4aaf1aa..0000000
+++ /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 (executable)
index 6c411e8..0000000
+++ /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 (executable)
index 0000000..c56a82b
--- /dev/null
@@ -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