OpenWrt/LEDE 编译手记

这里是我编译 OpenWrt/LEDE 遇到的一些问题和坑的记录。也可以当作是一篇从零开始的 OpenWrt 编译教程。

由于 OpenWrt 和 LEDE 又合并回去了,所以下面统称为 OpenWrt 。

目前在弄的两个路由器

TP-Link WR740N v5 CN

Youhua WR1200JS

TP-Link WR740N v5 CN

目前配好就拿给妹子用了

基本参数:

CPU:AR9331

ROM:硬改8M

RAM:硬改64M

外部接口:5x100M;1个按钮

笔记:

基本上 CPU 内建了所有东西,高通的 U 也很好驱动。

CN 版本的 V5 和其他地区的版本不同,用 OpenWrt 官方的机型数据会导致 wan 和 lan 反转,问题不大。

Youhua WR1200JS

基本参数:

CPU:MT7621AT(2C4T)

ROM:16M

RAM:128M

Radio:MT7603EN(2.4G)+ MT7612EN(5G)

外部接口:5x1000M;USB2.0;3个按钮

笔记:

性价比不错的一台路由器,可以专门写一篇文章介绍一下。

从头开始

从 OpenWrt 的 GitHub 仓库克隆代码

git clone https://github.com/openwrt/openwrt.git

既然要编译那就编译 Snapshot 吧,当然如果想要编译 17.01 稳定版的话就 checkout 到那个分支就好了。

git checkout LEDE-17.01

 

下载完代码之后获取一下源里的软件包。

./scripts/feeds update -a

./scripts/feeds install -a

这样子就能得到官方源里面所有的包了。

顺带一提,默认的软件源在 feeds.conf.default 里面。

 

接下来使用 menuconfig 来图形化编辑 .config 文件。

make menuconfig

简单操作方法,按 Y 编译到固件,按 M 编译出 ipk 文件但不默认安装,N 取消编译模块。

在里面选择好自己的机型之后,选择一下 LuCI base 就可以测试编译第一个包了。

Save 一下之后退出 menuconfig 。

 

运行命令即可开始第一次编译。

make V=99

V=99 代表输出所有的调试信息,到时候如果到哪里出错了的话可以方便看到。

首次编译需要下载大量数据,加上下载可能要耗费上小时的时间。之后的编译就快多了,开上多线程几分钟就能完成编译。

当然你也可以用下面的命令来只下载依赖,不进行正式的编译。

make download

编译完成后你可以在 bin 目录下找到你对应的刷机包,以及 ipk 软件包。根据机型和平台的不同,编译生成的文件和目录也各不相同,找到眼熟的文件就对了。通常使用 sysupgrade 的刷机包。

接下来才是这篇文章的主要内容,可能会花费很长时间来写,遇到什么问题我就来记录一下。

定制 ROM

单线多拨必备的包,macvlan 以及它的 luci 界面 luci-app-macvlan。

luci 界面没有在官方源提供,可以在此处获取:https://github.com/wongsyrone/luci-1