lala.im:编译Lean OpenWrt R9 LEDE固件

技術·lala.im · 2019-05-04 · 110 人浏览

原文地址:https://lala.im/5523.html,請支持原作者!該處僅作轉載。

用了快2个星期的KoolShare的LEDE固件,发现这玩意是真的太不稳定了,经常会出现系统假死的情况,导致那个科学上网的插件不能用,造成不间断的断网,大概几秒到几分钟的样子,运行了11天吧,出现过3次这种情况:

範例
所以我就在找有没有可以替代的固件,还别说真在网上找到了,但是这个固件似乎没有一个非常官方的版本发布地址,找了半天貌似都没找到最新版本,那没办法了只能靠自己编译了,而且自己编译的话也感觉放心点吧,毕竟是路由器固件:
https://github.com/coolsnowwolf/lede
上面这个是固件的开源地址,好在说明里面有一个很详细的编译过程,所以整个编译的过程也没什么坑,不过他说明上面用的是Ubuntu16.04,我这边只有Debian,那我这边就Debian走一走吧。。
下面是我当前编译所用的系统版本:

Distributor ID:    Debian
Description:    Debian GNU/Linux 9.9 (stretch)
Release:    9.9
Codename:    stretch

提醒:因为在编译的过程中需要下载很多软件包和其他的依赖,建议使用国外的机器,国内的话网络太慢很容易编译失败。我这台Debian9就是国外的,如果你非要用国内机器那最好设置一个全局代理。

我按照我现在这个系统的版本将依赖整理了一下,发现只需要安装下面这些:

apt -y install asciidoc autoconf autopoint build-essential flex \
git git-core gawk gettext libncurses5-dev libz-dev lib32gcc1 \
libc6-dev-i386 libglib2.0-dev libglib2.0-dev libssl-dev libelf-dev \
libtool msmtp p7zip p7zip-full qemu-utils subversion texinfo uglifyjs upx

这些依赖在我这个系统内用不到,或是已经安装了,但可能别的系统编译的时候还是需要的:

automake binutils bzip2 gcc-multilib patch zlib1g-dev unzip xmlto

我是使用自己开的KVM小鸡,配置是4核8线程的i7-6700拉满,大概编译时间要30分钟,所以我建议开个screen守护一下shell,万一网络不稳定ssh断了呢,那就得不偿失了:

apt -y install screen
screen -S buildlede

编译不能使用root用户,所以这里先新建一个用户:

useradd -r -m -s /bin/bash lede
su lede

拉取源码:

cd && git clone https://github.com/coolsnowwolf/lede.git
cd lede

下载和安装一些需要用到的包:

./scripts/feeds update -a
./scripts/feeds install -a

打开菜单选择编译前的设置项:

make menuconfig

整个编译中最关键的也就是这个部分,这里需要选择好你需要的功能或是软件,默认情况下是编译x86平台的固件,如果你要编译别的平台首先就需要更改平台相关的东西:
範例

在Target Images这个选项内,我把所有可以编译出来的镜像格式都选上了:
範例

接着进入到LuCI这个选项内,在里面可以设置要安装的插件和主题,插件是最关键的部分了:
範例

我就是为了这个SSRPLUS的插件来的,不编译的话岂不是白忙活一场:
範例

其他还有很多设置就不多说了,有需要可以自己选择一下,我就是拿来当旁路路由做科学上网的,这些设置就足够了。

配置完成之后开始编译(-j后面是线程数,建议cpu核心多的话直接拉满,否则你用单线程我估计得编译3-4小时)

make -j8 V=s

编程成功之后,固件会保存在如下路径:

cd bin/targets/x86/64

範例

怎么安装就不说了,KoolShare的怎么装这个就能怎么装,默认的登录界面,密码是password:
範例

登录进去你会发现,为毛我刚才明明编译了SSRPLUS插件,但是在这个WEB界面内就是不能显示?经过我Goolge一下,发现作者调皮了,将下面这窜代码写到google_fu_mode之后刷新一下WEB界面就能显示出来了:

echo 0xDEADBEEF > /etc/config/google_fu_mode

OJBK,目前使用良好,感觉这个固件比KoolShare的要轻许多,我根本用不到那么多乱七八糟的插件和功能,这个感觉用着挺舒服的:
範例

技術 lala.im
Theme Jasmine by Kent Liao