由于工作关系,对Android关注将从FWK(Framework)转向BSP,也就是Linux Kernel。在工作的5年中,曾经数次研究过kernel,但一直没有合适的机会或者说推动力去深入研究。这次有机会了,岂能放过呢?
以前搞kernel,总是觉得没有合适的设备,都玩不转。最近琢磨了几天,打算从android虚拟设备goldfish开始吧。(惭愧啊,以前还买过一个板子,结果完了2天就腻味了)。
本随笔包括一下几个部分:
先介绍Android kernel的下载和编译。
配置模拟器以使之使用我们编译的kernel。
介绍下输入系统方面的内容。我的目标是在最短的时间内把Android的驱动撸一遍。在这个过程中,流程,模块之间的关系最重要。细节问题到以后碰到具体情况时再来深入研究。
一 Android GoldFish kernel下载和编译
老方法,用git下载。kernel和非kernel代码不在一个git库中,Android的代码由repo下载,而kernel得单独用git下载。goldfish的代码下载方法如下:
先在Android JB源码根目录下建立kernel目录。
cd kernel,然后git clone http://android.googlesource.com/kernel/goldfish.git (还可以下载高通的msm,普通common及omap分支的kernel)
下载完成后,得到kernel/goldfish目录。cd kernel/goldfish
git branch -a,查看所有分支。里边有2.6.29以及3.4的
git checkout -b 2.