3 min read

网络升级-编译OpenWrt固件

网络升级-编译OpenWrt固件

OpenWrt是很受欢迎的路由器插件,自己选择使用Lean对原版进行修改的固件,在他的Github仓库上虽然也有编译的步骤,但是往往真的动起手来才会遇到问题。

这里有一份BIGDONGDONG整理好的文档,阅读起来会更友好有些。如果可以直接下载到编译好的固件是最好不过了(第一次编译是真的很耗时)。我不知道自己脑子出了什么毛病要自己去编译一遍(事实上是两遍,第一次失败了)。

有用良好的环境是编译成功的基础。最为关键的两个因素是:

  1. 执行编译的机器可以无障碍访问Github(海外服务器最佳)
  2. 执行编译的机器磁盘可用空间至少预留30GB

因为编译时要从Github上下载许多组件,也会生成很多中间文件,自己成功编译时占用了27GB的空间。这还是没有加什么额外插件的情况下。

真正编译成功后的镜像也不过200MB

创建一个新用户并添加sudo权限

严格按照Github仓库上的说明:使用Ubuntu 20.04,使用非root用户编译。一般情况下我们购买的VPS默认提供都是root用户登入。因此我们需要新建要给用户,并授予sudo权限。

useradd -m dvd # 添加dvd用户
usermod -aG sudo dvd # dvd用户添加到sudo用户组
passwd dvd # 给dvd用户添加密码
su - dvd # 切换到dvd用户

当你执行到

./scripts/feeds update -a

附近时,要留意终端上的输出内容,要重视报错信息,当你发现因为证书无法连接到Github时,例如:

github: server certificate verification failed

可以参考StackOverflow上的回答运行

sudo apt-get install --reinstall ca-certificates

如果你忽略这个问题会导致某些包无法下载,编译就会失败。

下面可以下载到我编译的OpenWrt固件。里面安装的插件和BIGDONGDONG视频中介绍的一样,只是额外安装了一个主题。

GoogleDrive (161MB)

我自己要在虚拟机上使用这个固件,所以选择的平台是x86,如果你要在其他平台使用请不要下载。


如果你决定要自己编译这个固件,那就请做好失败的准备。因为第一次往往会遇到各种各样的问题,尤其是对一些不熟悉Linux的小伙伴来说。

但是请别害怕去编译,善于使用搜索引擎搜索那些错误,总会有答案的。