本博客的主题就是openwrt所以这一篇文章将会初步介绍一下openwrt与LEDE的关系,以及一些相关的名词解释。

什么是openwrt ?

OpenWrt的logo

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的概览页面(图片来源于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的话)

  1. 受OpenWrt支持的SoC或 架构
  2. 有足够的闪存来储存OpenWrt固件镜像
    • 最少4MB,无法安装GUI(LuCI)
    • 推荐8MB及以上,能安装GUI和其他应用程序
  3. 有足够的内存(RAM)来保证稳定运行
    • 最少32MB,推荐64MB或以上

—— openwrt.org

openwrt支持的设备有很多,不同的分支对设备的支持情况可能不一样,比如普遍支持x86的设备,arm设备和各种硬路由的支持会有很大差别。