thumbnail

车很稳,不通电都能直接亮!

第一次编译

点我访问Github项目页面

注意

不要用 root 用户进行编译

国内用户编译前最好准备好梯子

默认登陆IP 192.168.1.1 密码 password

首先装好 Linux 系统,推荐 Debian 11Ubuntu 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)

反正我是没有试过的,我是全删了再从头来。

全文到这里就结束了。