车很稳,不通电都能直接亮!
第一次编译
注意
不要用 root 用户进行编译
国内用户编译前最好准备好梯子
默认登陆IP 192.168.1.1 密码 password
首先装好 Linux 系统,推荐 Debian 11 或 Ubuntu LTS
第一步,安装编译依赖,有图形界面就桌面直接右键打开终端,输入命令
sudo apt update -y
sudo apt full-upgrade -y
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \
libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev \
libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 \
python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \
uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
第二步,下载源代码,下载不动就全局代理
git clone https://github.com/coolsnowwolf/lede
第三步,添加feeds源(可忽略)
这里用的是kenzok8这位大佬的,点我跳转Github项目页面。
经过第二步,桌面上已经有了一个lede文件夹,打开文件夹,编辑文件夹中的feeds.conf.default文件,加入下面两行。
src-git kenzo https://github.com/kenzok8/openwrt-packages
src-git small https://github.com/kenzok8/small
如下图所示:
第四步,更新安装feeds
cd lede
./scripts/feeds update -a
./scripts/feeds install -a
第五步,配置
make menuconfig
配置界面如下图:
如上图,在这个界面中,按键盘上下左右方向键可选择不同选项,按Enter回车键进入或确定,连按两次Esc键返回,按Y键勾选,按N键取消勾选,按M键编译但不安装。< >中如果是*则表示编译,如果是M则不会编译到固件中,空白则表示不编译。
主菜单最上面三个选项根据自己的设备来选择,分别是架构,芯片,具体型号。例如我要给我的虚拟机装OpenWRT用就直接默认。如果给斐讯k2p用,第一个Target System就选择MediaTek Ralink MIPS,第二个选项Subtarget就选择MT7621 based boards,第三个选项Target Profile就选择 Phicomm K2P。如果不知道就去百度搜。
如下图,在主菜单第四个选项Target Images中,你可以配置固件的一些参数,例如下图中我把文件空间改为1024。
开启ipv6:在主菜单找到Extra packages,进入后开启ipv6helper。返回主菜单,找到NetWork,进入后找到Firewall,进入后找到ip6tables,再进入,将里面的两个选项都选中。
软件主题等配置:在主菜单找到Luci并进入,就会看到下图,在Applications中可配置添加软件,在Themes中可选择添加主题。
这里推荐design和argone两个主题,argone还能在软件配置中添加argone主题的配置插件。
[ ]选项一般为上方< >软件中的可选配置,如果上方的< >你没有勾选,[ ]也不会生效。如下图。
如果需要多拨勾选luci-app-syncdial,勾选后会自动勾选相关的包,例如luci-app-mwan3。如下图。
部分软件包需要按Enter进入配置。如下图。
第六步,下载dl库,建议全局代理
make download -j8
第七步,开始编译固件,这个时候你可以准备睡觉了,单线程编译贼慢,如果第二天睡醒还在跑那就再睡一觉吧。
make V=s -j1
第八步,编译完成了,如果你没发现有error之类的错误提示,那也许是成功了,编译完成后输出的路径如下
lede/bin/targets/
例如:
到这里就结束了。如果出错没有编译成功,建议重新配置后重新编译,重新配置的时候需要根据编译时最后的报错信息更改相应配置。
怎么把文件从虚拟机取出来呢
之前在vm虚拟机里编译的时候,编译完成后不知道该怎么把文件拷贝出来,聪明如我我直接把u盘插电脑上,先虚拟机连接u盘,把文件放u盘,再虚拟机断开u盘接电脑,我是真的天才。不过现在家里有群晖我现在就直接扔群晖了。其实vmtools应该能从虚拟机里把文件直接复制出来吧,不过我的为什么不行?
重新配置编译
第一步,删除之前的配置文件
rm -rf .config
第二步,重新配置
make menuconfig
第三步,多线程重新编译
make V=s -j$(nproc)
二次编译
第一步,更新
git pull
./scripts/feeds update -a
./scripts/feeds install -a
第二步,使用之前的配置
make defconfig
第三步,下载 dl 库并多线程编译
make download -j8
make V=s -j$(nproc)
反正我是没有试过的,我是全删了再从头来。
全文到这里就结束了。