编译内核比编译Android本身还容易,源码量小,对系统要求也比较低。参考[这里]下载编译内核有关代码
接下来为了编译内核,需要从Nexus 7下面把/proc/config.gz拽回来,并且解压得到.config放到kernel代码的根目录
cat config.gz | gunzip >.config
直接用git下载回来的Nexus 内核源码里面只有一个.git文件夹,需要使用git checkout才能将特定版本的源码解包释放。版本的选择可以参考下设备上的内核版本标注。比如我的为3.1.10-g009b6d1,就可以使用
git checkout 009b6d1
来释放对应版本的内核代码。然后 make menuconfig 可以调整内核模块,开启上述模块
make ARCH=arm CROSS_COMPILE=arm-eabi- menuconfig
make ARCH=arm CROSS_COMPILE=arm-eabi- menuconfig
Networking support –> Wireless
[*] Generic IEEE 802.11 Networking Stack (mac80211)
// 只有开启这个选项才能看到RT3070的驱动模块
device drivers –>
network device support ->
wireless lan –>
ralink driver support
最后make一下就产生了zImage在arch/arm/boot/下面
接下来需要把这个zImage打包成boot.img然后刷入Nexus 7中
接下来需要把这个zImage打包成boot.img然后刷入Nexus 7中
我的做法是用Nexus 7 toolkit把系统的boot.img提取,然后用unpackbootimg解包,然后把我的zImage和ramdisk重新打包成成boot.img,就能够刷入系统了。刷入的方法就是用
fastboot flash boot boot.img
推荐在做一切前hack工作前,用Nexus-7-toolkit先备份好,fastboot,adb这类工具toolkit里面也提供了