您的位置:首页 > 移动开发 > Android开发

教大家修改Android手机的内核版本信息

2014-05-12 09:48 441 查看
修改源码路径:kernel/scripts/mkcompile_h

#!/bin/sh

TARGET=$1

ARCH=$2

SMP=$3

PREEMPT=$4

CC=$5

vecho() { [ "${quiet}" = "silent_" ] || echo "$@" ; }

# If compile.h exists already and we don't own autoconf.h

# (i.e. we're not the same user who did make *config), don't

# modify compile.h

# So "sudo make install" won't change the "compiled by <user>"

# do "compiled by root"

if [ -r $TARGET -a ! -O include/generated/autoconf.h ]; then

vecho " SKIPPED $TARGET"

exit 0

fi

# Do not expand names

set -f

# Fix the language to get consistent output

LC_ALL=C

export LC_ALL

if [ -z "$KBUILD_BUILD_VERSION" ]; then

if [ -r .version ]; then

VERSION=`cat .version`

else

VERSION=0

echo 0 > .version

fi

else

VERSION=$KBUILD_BUILD_VERSION

fi

if [ -z "$KBUILD_BUILD_TIMESTAMP" ]; then

TIMESTAMP=`date`

else

TIMESTAMP=$KBUILD_BUILD_TIMESTAMP

fi

if test -z "$KBUILD_BUILD_USER"; then

LINUX_COMPILE_BY=$(whoami | sed 's/\\/\\\\/')

else

LINUX_COMPILE_BY=$KBUILD_BUILD_USER

fi

LINUX_COMPILE_BY="builder"

if test -z "$KBUILD_BUILD_HOST"; then

LINUX_COMPILE_HOST=`hostname`

else

LINUX_COMPILE_HOST=$KBUILD_BUILD_HOST

fi

LINUX_COMPILE_HOST="buildMachine"

UTS_VERSION="#$VERSION"

CONFIG_FLAGS=""

if [ -n "$SMP" ] ; then CONFIG_FLAGS="SMP"; fi

if [ -n "$PREEMPT" ] ; then CONFIG_FLAGS="$CONFIG_FLAGS PREEMPT"; fi

UTS_VERSION="$UTS_VERSION $CONFIG_FLAGS $TIMESTAMP"

# Truncate to maximum length

UTS_LEN=64

UTS_TRUNCATE="cut -b -$UTS_LEN"

# Generate a temporary compile.h

( echo /\* This file is auto generated, version $VERSION \*/

if [ -n "$CONFIG_FLAGS" ] ; then echo "/* $CONFIG_FLAGS */"; fi

echo \#define UTS_MACHINE \"$ARCH\"

echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"

echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\"

echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"

echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"

) > .tmpcompile

if [ -r $TARGET ] && \

grep -v 'UTS_VERSION' $TARGET > .tmpver.1 && \

grep -v 'UTS_VERSION' .tmpcompile > .tmpver.2 && \

cmp -s .tmpver.1 .tmpver.2; then

rm -f .tmpcompile

else

vecho " UPD $TARGET"

mv -f .tmpcompile $TARGET

fi

rm -f .tmpver.1 .tmpver.2

修改红色 LINUX_COMPILE_BY,LINUX_COMPILE_HOST 宏为自己想改的信息

其实改kernel\init\version.c 这2个宏。。会提示 kernel version unavailable。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: