Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- BASE=/home/andrew/android/
- CC=$BASE/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
- AR=arm
- PREFIX=`echo $1 | sed -e 's/[/]*$//' -e 's/[/]/_/'`
- POSTFIX=`date +%Y_%m_%e_%H%M%S`
- KSOURCE_DIR=$1
- TARGET_NAME=$PREFIX-$POSTFIX
- SAMPLE_ZIP=~/android/template.zip
- OUTPUT_ZIP=$BASE/Desktop/OUTPUT/$TARGET_NAME.zip
- STAGING_DIR==/tmp/kernel
- MAKE_OPTS="-C $KSOURCE_DIR ARCH=$AR CROSS_COMPILE=$CC -j8"
- do_compile()
- {
- echo "do_compile()"
- # Build the kernel image.
- make $MAKE_OPTS zImage # V=1
- if [ $? -ne 0 ]; then return $?; fi
- # Build the kernel modules.
- make $MAKE_OPTS modules
- if [ $? -ne 0 ]; then return $?; fi
- }
- do_staging()
- {
- echo "do_staging()"
- # Unzip the sample update zip to create update structure
- # and provide update scripts / utilities.
- unzip -d $STAGING_DIR $SAMPLE_ZIP
- if [ $? -ne 0 ]; then return $?; fi
- }
- do_populate()
- {
- echo "do_populate()"
- # Copy the resulting image to the staging dir.
- cp -v $KSOURCE_DIR/arch/$AR/boot/zImage $STAGING_DIR/kernel/
- if [ $? -ne 0 ]; then return $?; fi
- # Install the built modules to the staging dir.
- make $MAKE_OPTS INSTALL_MOD_PATH=$STAGING_DIR/system modules_install
- if [ $? -ne 0 ]; then return $?; fi
- # Remove symlinks.
- rm -v `find $STAGING_DIR -type l`
- if [ $? -ne 0 ]; then return $?; fi
- # Zip up the results.
- cd $STAGING_DIR
- if [ $? -ne 0 ]; then return $?; fi
- cp system/lib/modules/2.6.36.3-gtabkerneldev+/kernel/drivers/net/wireless/bcm4329/*.ko system/lib/modules/
- if [ $? -ne 0 ]; then return $?; fi
- cp system/lib/modules/2.6.36.3-gtabkerneldev+/kernel/drivers/net/wireless/bcm4329/*.ko system/lib/hw/wlan/
- if [ $? -ne 0 ]; then return $?; fi
- zip -r $OUTPUT_ZIP *
- if [ $? -ne 0 ]; then return $?; fi
- cd -
- if [ $? -ne 0 ]; then return $?; fi
- }
- do_cleanup()
- {
- echo "do_cleanup()"
- rm -v -r $STAGING_DIR
- if [ $? -ne 0 ]; then return $?; fi
- }
- if [ -z $1 ]; then echo "Usage: $0 [source-dir]"; exit 1; fi
- do_compile; if [ $? -ne 0 ]; then exit 1; fi
- do_staging; if [ $? -ne 0 ]; then do_cleanup; exit 1; fi
- do_populate; if [ $? -ne 0 ]; then do_cleanup; exit 1; fi
- do_cleanup; if [ $? -ne 0 ]; then exit 1; fi
- exit 0
Add Comment
Please, Sign In to add comment