开发环境:Ubuntu12.0.4
使用友善提供的arm-linux-gcc。
直接解压linux内核对源代码=>编译=>烧写到主板=>运行系统=>一切正常。
以此验证了这些代码和环境都正常。
然后我准备给这源代码加入到git进行版控制,以便跟跟踪自己的修改历史。于是我在服务器里(另一台机)建立了gitolite环境。
然后在源代码目录里执行make clean清空编译好的文件。然后增加到版本库。执行的代码大概如下:
git clone ..... (克隆版本,此时版库为空).
cp ../linux-2.6.35 .(把源代码复制过来
git add . (把源代码加入到版本库)
git commit -m "init"
执行了以上代码后,己经可以在本地进行单机的版本管理了。
我在此时尝试编译代码看是否正常。
make zImage
然后烧写到主板,这时还是一切正常的。
于是我执行
make clean
git push origin master (把本地的版本库提交到服务器)
make zImage
这时编译是正常的,但是烧写到主板后,ALSA就找不到WM8960了。在这个过程中我没有修改任何代码和修改任何配置。
这中间的差别只是我把代码提交到服务器了。
于是我尝试把".git"目录改名再试试
mv .git _git
make clean
make zImage
然后使用这次编译的内核,声卡又被认出来了。
我没有仔细云看内核输出的日志,没有去排错,有兴趣的兄弟可以自己验证一下。