openwrt (一):特殊的WiFi驱动移植方法

        openwrt的去驱动移植灵活多样,总体来说只要掌握了官方提供的操作方法即可可简单上手,但是也有一些稍微比较特殊的操作。比如说backport模块。

        由于需要兼容很多不同版本的Linux驱动,很多时候需要用到backport。因此,如果已有的项目WiFi驱动是在backport模块上编译的,那后续需要在原有硬件平台继续开发移植新的设备驱动,那具体的操作方法就会跟常规的openwrt 驱动移植不一样了。
        关于Backport,它是是将一个软件的补丁应用到比此补丁所对应的版本更老的版本的行为。
由于很多WiFi驱动只能运行在早期的内核,所以就需要移植到backport上。

        一般这种移植是属于mac80211模块使用到了backport,所以对应的WiFi也需要移植到backport上才能保证各种库和依赖文件的正确使用,而不是把它移植到linux的内核上。
主要步骤:
第一,将原有的backport模块下载到dl目录下;

第二,解压该模块,将需要移植的WiFi驱动源码放进backport的WiFi驱动目录;

第三,修改WiFi驱动的编译规则。比如说,如果原backport模块用的是EXTRA_CFLAGS在编译过程制定或者插入相关的编译选项和内容,那就要就要将移植的驱动的ccflags-y替换成EXTRA_CFLAGS,反之则将EXTRA_CFLAGST替换成ccflags-y,否则需要移植的驱动源码的二级或者三级目录可能会编译不进去或者部分功能编译失败。


第四,修改package/kernel模块下的mac80211里面的Makefile,将第三步修改好的WiFi源码打包存放地址写到此处Makefile上,在编译openwrt的时候,系统将源码包download下来然后再拷贝到backport模块里面。在这一步,对于mac80211的Makefile的修改需要做成一个path,保证openwrt系统的开源可操作性。


最后,按常规操作编译即可。

你可能感兴趣的:(半栈openwrt,开源软件,信息与通信)