我的J1900软路由从年初更换为Lean的OpenWrt固件(在谷歌云上自己编译的)后,一直使用到现在,最近发现ssr插件不稳定:一觉醒来设备总是fq不了,我得进去管理页面手动关闭插件后再开启才能正常使用 如此往复几天,受不了的我终于下定决心来更新下固件!

记得我在笔记本上第一次就编译成功,怎么我来二次编译就翻了好多趟车 ,翻车现场有:1.编译失败;2.编译“成功”将新固件刷入,软路由无限重启... 让我折腾了2天,终于修成正果,于是决定另开此文来记录下怎么在本地Ubuntu编译Lean的Openwrt固件。

镇楼:

懒得动手的话,这里下载我刚编译的吧~

跟着 官方文档

0.装好Ubuntu 18 LTS x64,我是直接安装到笔记本上,没用虚拟机。

1.以防万一网络环境不好,修改下软件源:

#备份源文档
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

#直接清空源文档后,增加国内源
sudo vim /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

2.更新Ubuntu系统:

sudo apt-get update #更新软件列表
sudo apt-get upgrade #更新软件包

3.安装编译工具:

sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 python2.7 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 device-tree-compiler g++-multilib antlr3 gperf wget

要用 root 用户 git 和编译!!!

国内用户编译前最好准备好梯子(我知道但是没有执行到位:以为软路由开了全局代理后,终端也会走fq代理!事实不是这样子的,打了脸也踩了坑)

安装 v2rayL

关闭了软路由的代理,为了让执行编译的笔记本能够fq,偷懒使用下v2ray GUI 客户端

#链接:https://github.com/jiangxufeng/v2rayL
bash <(curl -s -L http://dl.thinker.ink/install.sh)

配置好v2rayL确保电脑能够fq,再查看下v2rayL系统设置页面里的本地端口Socks是哪个,比如我这里设置/修改为了Socks:1088

安装 proxychains

接着我们需要让Ubuntu的终端走代理,网上查了一通,我选择安装proxychains

sudo apt install -y proxychains

修改配置文件,移动到最后并注释掉这行:socks4 127.0.0.1 9050,再新添加:socks5 127.0.0.1 1088(这个1088就是上边v2rayL设置的端口,可以是其他任意端口/数字,但是你需要确保它们对应上)

sudo vim /etc/proxychains.conf

配置文件最后两行应该如下:

#socks4 127.0.0.1 9050
socks5 127.0.0.1 1088

哪条命令你想要它代理,就在最前面加上proxychains,比如我们在终端测试下:proxychains curl https://www.google.com,看到有OK的结果就ok了,如下:

sgq@ubuntu:~$ proxychains curl https://www.google.com
ProxyChains-3.1 (http://proxychains.sf.net)
|DNS-request| www.google.com 
|S-chain|-<>-127.0.0.1:1088-<><>-4.2.2.2:53-<><>-OK
|DNS-response| www.google.com is 172.217.163.164
|S-chain|-<>-127.0.0.1:1088-<><>-172.217.163.164:443-<><>-OK

4.万事俱备,让我们回到官方文档的剩余步骤(需要联网下载的命令,我们就使用proxychains来使终端全局代理下载):

#下载源码
proxychains git clone https://github.com/coolsnowwolf/lede`

#进入目录
cd lede

如果你是初次编译的话,那么你想要的ssr-plus大概率会在feed里面被隐藏了的,此时你已进入lede目录,vim feeds.conf.default删除最后两行的#即可解锁:

src-git luci https://github.com/coolsnowwolf/luci
src-git routing https://git.openwrt.org/feed/routing.git;openwrt-19.07
#src-git telephony https://git.openwrt.org/feed/telephony.git;openwrt-19.07
#src-git helloworld https://github.com/fw876/helloworld

继续配置编译:

#更新feed列表
proxychains ./scripts/feeds update -a && ./scripts/feeds install -a

#进入编译菜单勾一勾想要的功能
make menuconfig

#下载dl库
proxychains make download

#为了以防编译失败,建议使用单线程编译
proxychains make -j1 V=s

嗯,最后应该能够修成正果吧,祝你好运 ,编译完成后输出路径:/lede/bin/targets

二二二次编译

cd lede
proxychains git pull
proxychains ./scripts/feeds update -a && ./scripts/feeds install -a

#如果需要重新配置:rm -rf ./tmp && rm -rf .config
make menuconfig

proxychains make download
proxychains make -j1 V=s
Last modification:June 1st, 2020 at 08:47 am
如果觉得我的文章对你有用,请随意赞赏