暑期实习公司做智能路由器,所以也就接触了openWRT,这是一个嵌入式Linux的发行版,不过是适用于路由器的,话不多说开始正题,嘿嘿!这是我发的第一篇文章呀!以后常发。
对于OpenWRT的界面的开发,最好的资料是luci的源码。想开发什么界面就在已有的界面上找一下,看是否有类似的界面,然后找到对应的源码即可。
用Luci写了一个模块(/usr/lib/lua/luci/controller/admin/目录下)后,并且别的两个或多个文件也可以完成,但提示无效的模块的名字,更改了确定无误后依然提示无效的模块名字,此时把路由器重启或许就解决问题了
以下是几个学openwrt入门非常有用的网址 或者是 搜索名称:
MTALL MT7620A编译OPENWRT 教程 ---》
开发OpenWRT路由器上的luci模块 ----》
OpenWRT中的luci学习笔记 -----》
备注:这个网址就不写啦,只是一篇非常好的文章,网上的转载非常的多
神雕教程之为你的luci添加自助高级配置界面 ----》
OpenWRT Luci模块练习详细步骤 -----》
备注:百度一下就行了,网址不写了,因为挺好百度的
为自己的luci界面添加翻译 ----》
备注:百度一下就行了
openwrt-luci-app编译 ---》
备注:百度一下就行了
下面的这个博客也挺好的
===================================================================================
===================================================================================
OpenWRT的精简内核并没有实现多用户机制,只有一个root用户,开机时自动以root用户登录,要实现多用户必须在web层面上实现另一套(user passwd)系统
===================================================================================
===================================================================================
给openwrt中的配置菜单加选项时,Makefile中一定要加上一句话:
# call BuildPackage - OpenWrt buildroot signature
这虽然只是一句注释,但如果没有这句话,编译时会提示错误,并且只有加上这句话配置菜单中才能显示你所加的条目
注意:makefile中不要多加别的语句,即使是echo语句。因为我写helloworld的ipk软件包的makefile时,参考网上的一篇文章,在define 宏中加了一条echo语句,结果编译不过去,弄了很长时间,把它去掉后,编译正常通过
===================================================================================
===================================================================================
有很多文件夹下有applications这个目录,里面的东西查不到都是相同的,差别不是特别的大,因为可能这是一个链接,可以事先用ls -l 查看一下
====================================================================================
====================================================================================
路由器界面的中英文切换:
System -> System ->Language and Style(选择语言后点击下方的save & apply按钮需要点击两次才可,即:先点击一次,然后等到显示更改成功后再点击一次。需要点击两次的原因我也不知道)
给自己添加的界面
实现中英文切换的功能,需要在自己加的界面的文件夹中加一个
自定义的中英文对照,这个目录的名字是po,openwrt中的po目录下有很多的目录,而我们只需要一个zh-cn目录即可,里面是中英文切换的对照表。具体的实现可以参考openwrt中一些实现的方式
openWRT编译生成的bin目录中有多种格式的bin文件,比如:
bin文件名称中有两种不同的格式,jffs2与squashfs。这两种格式的固件的区别在于,squashfs格式的bin文件安装后,会占用一定的空间来存放
系统的一些必要文件,这些文件都是可读的,其作用是帮助恢复系统。当openWRT崩溃时,可以基于这些文件,使用firstboot脚本重建初始系统
,而jffs2则不会存储这样的文件,好处是节省了空间。一般使用squashfs格式的固件,方便恢复系统到初始状态。
每种格式都有两个文件,factory于sysupgrade,这两者的区别是,factory多了一些验证东西,用于在原厂固件的基础上进行升级,如果已经是
openWRT,直接使用sysupgrade即可。并且,在原厂固件的基础上进行升级时,首先要使用factory文件,然后再次使用sysupgrade文件,选择
不保留原来的配置进行升级。一般刷固件时选择的是 xx--squashfs-sysupgrade.bin文件。
阅读(2311) | 评论(0) | 转发(0) |