一周前入手了一块树莓派,算上配件总共307,按照论坛的方法烧好SD卡,启动,那么接下来就要开始折腾了。
鉴于本人是一个新手驱动的事实,于是着手开始在pi上写驱动。
那么按照驱动的基础知识,编写linux驱动,必然是先要有相同版本的的内核源码。
uname -a看了一下,3.18.5的内核,在github上找了一会,末版本号相同的可以说根本找不到,那么干脆重新编译一个内核好了,反正也是学习的过程。
于是开始找linux-rpi-3.18.y.tar.gz的内核源码,当然了,这个源码我再github上只找到linux-rpi-3.18.y.zip格式的,想来没什么区别,网上搜索也说都可以,于是就用unzip命令解压了一下,然后搞配置文件,弄环境,交叉编译器,编译神马的网上教程都很全,我就不再多说,但是最后编译的时候,会发现少文件,比如fs下面的有个叫local.h的文件,好像是这个,这个文件找不到。
问题就来了,解压有问题吗? 在目录下ls -a了一下,发现这个文件时有的,但是它却是一个链接文件,指向一大串代码,把这段代码复制下来之后,发现就是个程序,也就是说解压的时候把代码解压成链接了,这个现象我完全不明白原理,但是总归可以改回来,此处希望大神能够解答。
改好这个文件后,下一个文件也会报错,检查文件后发现是一样的原因,但这次我没有改了,我们知道,内核文件多的看不到边,看来这种现象不是个例,为它消耗时间完全不值得。于是脑补了一下,着手再去找linux-rpi-3.18.y.tar.gz,因为我一直坚信这个后缀的内核一定好用,但是这个东西轻易是找不到的,用git命令实在太慢了,我的网太渣。
最终,我在github的一个地址上找到了这个内核,这个地址是我根据一篇前辈的帖子脑补出来的: