1. 下载内核源代码,放到任意地方(建议放在Ext4格式的盘符上)
https://github.com/derekhe/huawei-g330d-u8825d-kernel
2. 下载后解压,打开里边HOW-TO-BUILD,查看如何进行编译
第一步:去Google查看相关编译过程,对于我们比较直接有用的就是把prebuilt通过git弄回来,其他不需要了,如果已经同步过ICS源代码,可直接略过这一步
第二步:git回来的prebuilt,export相关编译需要的工具到系统
vim ~/.bashrc
# 在最后一行加入,prebuilt的位置根据git回来位置而定
export PATH=/home/scue/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/:$PATH
source ~/.bashrc
第三步:Setup compiler toolchain
export ARCH=arm export SUBARCH=arm export CROSS_COMPILE=arm-eabi-
export ENABLE_BTLA_VER30=true
第四步:开始编译,整个编译过程大约十分钟就可以了
make hw_g330d_defconfig make -j4
# 编译得到的内核位置 arch/arm/boot/zImage
第五步:打包内核,并刷入手机系统
# 下载解打包工具 https://github.com/derekhe/u8825d-bootimg-scripts # 解压到任意地方后,从手机上获取得你现在正使用的boot.img放到解压出来的目录 # 1. 解压现有的boot.img ./unpack-bootimg.pl boot.img # 2. 拷贝编译的zImage文件到此目录,路径自己确定 cp ../kernel-github/arch/arm/boot/zImage ./ # 3. 打包zImage和ramdisk目录 mv boot.img boot.img.bak ./repack-bootimg.pl zImage boot.img-ramdisk boot.img # 4. 刷入boot.img,手机重启的瞬间要记得按音量减键 ./adb shell reboot ./fastboot devices ./fastboot erase boot ./fastboot flash boot boot.img
./fastboot reboot
# 一切OK!!
最后,发挥你的想像,去定制属于一个自己所需要的强大的内核吧~
PS:后续的话……
1. 经常解、打包的话,可以这么操作(解打包脚本根据自己放置而定),让解打包命令可以任意目录下使用:
cd ~/bin ln -s /media/scue/Source/bootimg-scripts/unpack-bootimg.pl ./unpack-bootimg ln -s /media/scue/Source/bootimg-scripts/repack-bootimg.pl ./repack_bootimg ln -s /media/scue/Source/bootimg-scripts/mkbootimg ./mkbootimg ln -s /media/scue/Source/bootimg-scripts/bootimg.py ./bootimg
2. 如果只单纯想修改Android内核版本号中“android@localhost”(编译者及PC名)的话,修改
scue@Link:/media/scue/Source/kernel-github$ vim scripts/mkcompile_h
# 找到里边两句话,把android和localhost修改类似如下信息
echo \#define LINUX_COMPILE_BY \"scue\"
echo \#define LINUX_COMPILE_HOST \"Link\"