pm狗都会的OpenWrt编译方法

pm狗都会的OpenWrt编译方法

【背景】

如果你打不开引用中的链接,可能你真的需要本文/本文以外的一些帮助。
简言之,OpenWrt允许用户对操作系统进行自定义和配置,同时开源意味着相对的透明/社区活跃。当然,更高的可自定义,意味着更高的学习/操作成本。作为产品狗,站在巨人的肩膀上,整理了网上纷杂的教程,已经自己踩坑的一些经验,输出下面的一些经验,以供参考吧。

【优势】

快,稳定,安全性。

  • 对于路由器,我试过梅林,NAS虚拟机,lede,最后狠下心自己编译OpenWrt固件。占用资源少,是最大的优势。
  • lede的软件中心固然很好看,但绝大多数功能,至少对于我这种日常玩家,并不必需,自己编译可以大砍特砍。
  • 梅林也是同样道理,七百多的华硕路由器,加虚拟内存,跑得半死,也不多多了一个ddns,和酸酸功能,跟何况前面这两项固件据说安全问题成疑,自己编译心理优势明显吧2333.

【劣势】

学习成本,时间资源,要硬件。

  • 非科班出身,你需要对SSH有基本了解,不难,但现代人就是这么懒,不是么?
  • 第一次编译的时间,差不多在4个小时左右。现代人嘛,忙得很。
  • 散了吧,OpenWrt仅支持一部分硬件,软路由的价格也不便宜,回归本心,回归本心。

【解决方案】

下面的部分,你会在网络上找到几乎所有信息,当然是散落在各处。我只是把我的操作流程进行整理,产出一份相对完整的过程,如果遇到问题,可以留言,但希望你要学会自己解决。

  • 1.VPS/pc

系统版本:ubuntu 14.04.6
看教程之前切记注意版本号,14/16/18,理论上都可以,但要找到相对应版本的语句,以下整理都是以14版本为准。

  • 2.网络环境

如果使用VPS,只需选择国外服务器即可。如果是电脑自行编译,需要全局代理,以及良好的网络带宽,否则会有问题。

  • 3.let's coding!

下面的内容是我实操过程中的总结,网络教程很多,要有信心!

#先更新

sudo apt-get update
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint

#screen保护

apt -y install screen
screen -S buildlede

⬆️️如果使用VPS编译,会存在SSH链接掉线的可能,所以使用screen保护,本地编译可以忽略。

#创建非root用户

useradd -r -m -s /bin/bash lede
#添加该用户密码
sudo passwd lede
#切换用户
su lede #进入目录
cd /home/lede #拉取git
git clone https://github.com/coolsnowwolf/lede.git
cd lede

#如果需要passwall【非必选】

vi feeds.conf.default
其中添加 src-git lienol https://github.com/Lienol/openwrt-package wq保存

⬆️️这里的passwall插件,各人根据需要做取舍,没有特别需求,不建议专门添加。

#欢快地更新源【可以复制一整坨再粘贴】

./scripts/feeds clean
./scripts/feeds update -a
rm -rf feeds/lienol/lienol/ipt2socks
rm -rf feeds/lienol/lienol/shadowsocksr-libev
rm -rf feeds/lienol/lienol/pdnsd-alt
rm -rf feeds/lienol/package/verysync
rm -rf feeds/lienol/lienol/luci-app-verysync
rm -rf package/lean/kcptun
rm -rf package/lean/trojan
rm -rf package/lean/v2ray
rm -rf package/lean/luci-app-kodexplorer
rm -rf package/lean/luci-app-pppoe-relay
rm -rf package/lean/luci-app-pptp-server
rm -rf package/lean/luci-app-v2ray-server
./scripts/feeds install -a

#【有坑】如果报错未安装python3.5,需要安装3.5,这里要注意上面的执行结果反馈

sudo apt-get install python3.5

#万事俱备,开始自定义插件【ss和passwall二选一即可,否则会产生冲突】

make menuconfig
#保存好配置文件后,开始编译之旅
make -j1 V=s

#编译完成,下载文件语句【自己改下路径】

scp -r [email protected]:/home/hellowood/tomcat /User/hellowood/tomcat
编译成功的固件会放在:/home/lede/bin/targets/x86/64这个目录下。

恭喜你,你已经成功打造出属于自己,独一无二的OpenWrt固件。如果插件选择合理,你会发现固件相比较梅林/lede之流畅和低功耗。

【致敬开发者】

当然,要感谢所有的开发者,以及编写教程的那些开路者,以下为我的参考教程,如果你有问题,可以过去查看,相信他们的教程比我要全面很多。

爱好
Some rights reserved
Except where otherwise noted, content on this page is licensed under a Creative Commons Attribution-NonCommercial 4.0 International license