https://s3-us-west-2.amazonaws.com/secure.notion-static.com/62cae715-51ab-4d7c-9c61-372bda7a17cc/Untitled.png

前几天闲来无事,想着当做软路由以及透明代理一年半的 Raspberry Pi,还在运行着 Ubuntu 18.04 LTS。由于之前自己乱搞,出了一些莫名其妙的问题……于是就打算换成 OpenWrt

👩🏻‍💻 准备工作

科学上网是必不可少的,还有最好是 Debian 系的 Linux 环境,因为原作者的编译环境是在 Ubuntu 下,非 Debian 系一些软件包包名可能不同或者可能根本不存在一些软件包。琉璃这里使用的是基于 WSL2 的 Ubuntu 20.04 LTS

🔤 源码地址

自定义 OpenWrt 常见的有两个作者,LienolLean's ,两者功能上差不多,但是不知道为什么,Lean's 的我总是编译失败,这里我用的是 Lienol 源

👉🏻 编译方法

首先说明一下,因为某种众所周知的原因,两位作者的源码均已经不包含翻墙相关的插件,所以我们需要手动添加相应的插件到源码里,再进行编译。还有,WSL2 环境中位置务必切换至 ~ 不要使用 /mnt/c/users/<users name>,会出现奇怪的性能问题

1️⃣ 配置环境

sudo apt-get update

sudo apt-get -y install build-essential asciidoc binutils bzip2 curl 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

2️⃣ 下载源码

git clone -b 19.07 --single-branch <https://github.com/Lienol/openwrt> openwrt19

3️⃣ 添加科学上网相关插件源码

src-git kenzo <https://github.com/kenzok8/openwrt-packages>

这行代码添加至 openwrt 源码根目录目录下的 feeds.conf.default 文件内,然后执行

./scripts/feeds update -a