一、上传驱动流程
下面我将介绍一下如何将在Ubuntu上写的驱动程序刷进路由器上,本实验是以小米路由器为例的
1.首先在路径 /home/openwrt6/openwrt/package/kernel/ (该路径就是你所编译好的openwrt系统所在路径,openwrt目录下有package,package下有kernel)
然后在此目录下建立example文件夹,然后在里面建立src文件夹,并将准备好的Makefile文件拷贝进去,然后把你的驱动源程序拷贝在在src文件夹下,然后将相应的Makefile文件和Kconfig文件拷贝进去,
之后Kconfig和两个Makefile文件只需要对照我上传的文件修改相应的程序文件名即可
2.进入到openwrt文件夹下
执行命令 make package/kernel/example/compile V=99
!!!若在执行过make命令之后发现日志信息提醒需要进行make menuconfig
则执行 Make menuconfig -> kernel modules -> other modules ->找到自己的模块然后按键M ->save ->ok ->ok ->exit
这一条命令是将驱动程序编译成能在路由器上进行安装的软件 *.ipk
3.确保你的电脑连着路由器的网络,然后进入 /home/openwrt6/openwrt/bin/ramips/package/base 即在base文件夹下
使用putty登陆路由器,在路由器root目录下建立hello文件夹
执行命令 scp kmod*.ipk root@192.168.1.1:hello (*代表第2步生成的ipk软件的名字)
4.使用putty登录路由器查看ipk软件是否上传成功
5.若上传成功,则安装ipk软件即相当于安装了驱动
执行命令 opkg install *.ipk
若要卸载则执行 rmmod example.ko
6.检查一下驱动是否挂载成功 执行命令 lsmod
因为程序中打印了 hello world 所以也可以检查一下是否打印日志成功 执行命令 dmesg |grep “”“Hello world” (或者直接 dmesg)
二、上传用户应用程序
1.在openwrt/package应用目录。参考其他的应用文件。创建helloworld文件夹,并进入。
创建Makefile:
##############################################
# OpenWrt M