openwrt-初识及其 window文件拷贝到openwrt错误问题

OPENWRT中,IPK包的制作,及其对luci,MVC框架的简易理解:

这是我第一次写文章,如果以下有什么说的不对的地方,请各位大神多多指点,以下全属于作为小白的理解!

最近因为有任务要求,需要在openwrt平台上添加自己的apk包。

目前已理解的,在openwrt平台上,通过LUCI框架MVC界面来生成,添加web界面的方法有两种。(为什么选用这种方法添加呢,因为比较方便操作,简易) 已知在LUCI中,/usr/lib/lua/luci/下有三个目录model、view、controller,它们对应M、V、C。

Call()方法会调用controller里的函数,主要通过openwrt系统的uci、network、inconfig等工具对系统进行设置,如果需要还会生成新界面。动态生成界面的方法有两种,一是通过cbi()/form()方法,它们利用model中定义的模板map,生成html文件;另一种是通过template()方法,利用view中定义的htm(一种类似html的文件),直接生成界面。

已经测试过的:
1.用template方法,先在controller目录建立 .lua文件,用template方法在 .lua文件中选定在view目录里需要执行的htm文件,保存,重启即可。(需要将html文件改成htm文件才能正常使用)

2.用cbi()方法(我直接在controller目录做没有做出来,应该是没有选定执行,但是原理应该一样),通过ubuntu,写好makefile,以及附带的.lua以及配置文件,生成ipk包,将ipk包上次到openwrt中,然后用opkg命令进行安装,安装好之后,重启/更新,便可以生成界面:

具体操作见下:
1.test.lua文件放在/usr/lib/lua/luci/controller/admin中,用来控制需要执行的文件确定目标地址。

2.testconfig.lua文件放在/usr/lib/lua/luci/model/cbi/中(一般都会带有子文件夹,需要与test.lua中给的目录项相匹配)。

3.test文件放在/etc/config目录里面,用来对应testconfig.lua文件中value给定的初始值。

遇到的问题:

Openwrt中,从window文件拷贝到Openwrt中会出现未知的符号:
**解决方法:**这是window与linux之间换行的符号不一致的问题,可以通过dos2unix指令将window换行转化为linux换行,具体操作步骤如下:(附加参考网址:
https://blog.csdn.net/sdd220/article/details/77113647locationNum=12&fps=1

将DOS格式文本文件转换成Unix格式,最简单的用法就是dos2unix直接跟上文件名。
格式:dos2unix file

如果一次转换多个文件,把这些文件名直接跟在dos2unix之后。(注:也可以加上-o参数,也可以不加,效果一样)
格式:dos2unix file1 file2 file3
格式:dos2unix -o file1 file2 file3

上面在转换时,都会直接在原来的文件上修改,如果想把转换的结果保存在别的文件,而源文件不变,则可以使用-n参数。
格式:dos2unix oldfile newfile

修改MVC后,怎么更新路由器界面:
1.reboot重启
2.删除 rm -rf /tmp/luci-indexcache文件更新界面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农-老七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值