之前要做一个东西.当编译上svn库以后 .checkout 下来的代码都带一些.svn文件。编译出来的版本烧写到板子上以后。发现驱动无法加载.
uname -a 发现linux版本号后面都带了一个+号。类似这种:
Linux OpenWrt 3.10.14+ #296 Mon Dec 14 14:55:40 CST 2015 mips GNU/Linux
在3.10.14后面多了一个加号。
然后去驱动文件夹看一下。
/lib/modules/3.10.14/
发现驱动文件存放的路径下面3.10.14后面没有 +号。所以驱动无法加载。
所以,为了使/lib/modules/3.10.14/ 变成 /lib/modules/3.10.14+/ 开始了我们添加+号的过程。
首先,openwrt 的总的.mk文件,放在了根目录下的include 中.
它下面存在了各种,mk
其中,我们关心的是kernel.mk
这里面定义了一些内核的编译规则,其中就包括了内核驱动文件存放路径这一块。
寻找LINUX_UNAME_VERSION关键字。
其中看到了UNAME这个东东。它是不是和uname 命令有关系呢。
是的,这个就指定了内核驱动文件的存放路径。我们只要在这个变量后面添加一个+号就大功告成了。
LINUX_UNAME_VERSION:=$(LINUX_UNAME_VERSION)+
编译来的版本,/lib/modules/3.10.14+/就变成这样了。
下面扩展一下,open