[初识openwrt] openwrt是什么?lede又是什么?
本博客的主题就是openwrt所以这一篇文章将会初步介绍一下openwrt与LEDE的关系,以及一些相关的名词解释。
什么是openwrt ?
OpenWrt的logo
openwrt是一个开源的,高度模块化的,嵌入式的路由器操作系统,因为其使用linux内核所以它也是一个linux发行版。
openwrt最早是由领势(Linksys)的一款路由器(型号为WRT-54G)的固件源码发展而来。(因为其固件是基于linux内核的,而linux的开源许可为”GPL“,所以这个固件也必须使用“GPL”许可开源,这个许可就是这样规定的)
openwrt有一个叫做 “LUCI” 的网页端图形化配置界面,就是一个网页端你可以在浏览器中输入openwrt的ip来调整一些配置,还支持多语言,可以设置为中文或者其他语言,不用担心看不懂,即使不会使用linux也不至于无法使用openwrt。
注意:如果你不会操作linux,日后使用openwrt将会非常难受,一些问题解决起来会很困难,所以我不建议所有人都使用openwrt。
注意:LUCI并不是唯一的网页端配置页面,比如还有新出现的 OUI 。
因为openwrt的模块化特点,可以选择不安装网页端配置页面,因为它本身就是一个插件,只不过是默认勾选的。
你知道吗?:有很多路由器都使用了openwrt作为其系统,不过厂家都把LUCI改的面目全非让你看不出来。
openwrt的概览页面(图片来源于openwrt.org)
什么是 “开源” ?
开源即开放源代码,简单的点说就是所有人都可以查看源代码,也可以对其修改。你可以认为开源则代表着免费。
什么是 “模块化” ?
就像积木一样,就是根据不同的功能将其分别打包成一个插件,如果有需要就采用这一插件,不需要就直接去掉,这样很维护会很方便也便于精简体积。
什么是 “嵌入式” ?
跟普通的电脑手机之类的设备不一样,“嵌入式系统” 可以简单的理解为一些设备内置的计算系统,它的任务较为单一,资源使用也很小。路由器就是一个嵌入式设备。
为嵌入式设备开发的系统则称之为 ”固件” ,尽管软路由就是一台电脑但大家还是习惯的将其称为 “固件” 。
什么是LEDE ?
LEDE即Linux嵌入式开发环境项目(Linux Embedded Development Environment),这是一个openwrt的分支,因为对openwrt社区的规范不满意而派生的新分支,但是分出来没多久就又合并了,合并时以LEDE的源码做为主线,将旧openwrt的源码合并进去。所以有些地方会出现这样的叫法:“openwrt/LEDE” ,现在LEDE是openwrt的曾用名。
分支是什么意思 ?
“分支” 简单来说,比如你想修改某一个开源项目,你把他的源码下载下来再做出修改,这时候你的源码就和一开始的不一样了,你修改好的源码就是一个分支。
像 Lean's OpenWRT 就是openwrt的一个分支,但是他的仓库名叫LEDE,这个仓库在国内的使用规模很大,很多固件都是使用这个分支的源码编译的,比如 eSir的固件。
类似这样的分支还有 Immortalwrt
或者是 iStoreOS
openwrt的分支还有很多很多这里就不全列出来了。
为什么说openwrt/软路由不适合使用/安装wifi ?
使用openwrt的wifi的时候,会出现一些例如wifi速度上不去,无线覆盖面积小,信号差等等问题,这是因为软路由的wifi基本是使用无线网卡实现,而无线网卡就不适合做为无线接入点使用,这也是为什么很多人都推荐软路由配合一台改为ap模式的硬路由的方法使用。
就算是在安装了openwrt的硬路由上,无线质量的打折也难以避免,这个原因并不是出在openwrt自身,只要有合适的驱动就没有问题,但是openwrt作为一个开源的项目它只能使用开源的驱动,而很多开源的驱动效果不如闭源的,所以直接使用源码编译的openwrt是享受不到闭源驱动的,不过你仍然有可能找到打包有闭源驱动的固件。
什么样的设备可以安装openwrt ?
openwrt对内存以及硬盘空间(或者是闪存)要求很低,比如官方版的推荐的最低配置是“64MB+8MB”(路由器对内存的要求比硬盘空间更高) ,这个配置只是能运行openwrt,并不代表好用。如果想要好用还需要再高一些,比如512mb的内存和1g的硬盘空间就足够应对大部分情况了。(运行太多的docker容器可能需要更大的空间,如果你需要使用docker的话)
- 受OpenWrt支持的SoC或 架构
- 有足够的闪存来储存OpenWrt固件镜像
- 最少4MB,无法安装GUI(LuCI)
- 推荐8MB及以上,能安装GUI和其他应用程序
- 有足够的内存(RAM)来保证稳定运行
- 最少32MB,推荐64MB或以上
—— openwrt.org
openwrt支持的设备有很多,不同的分支对设备的支持情况可能不一样,比如普遍支持x86的设备,arm设备和各种硬路由的支持会有很大差别。