基本信息介绍

编译设备:ProLiant MicroServer Gen10 Plus
虚拟化平台:Esxi
编译环境:Ubuntu 64位

准备工作

1、安装编译依赖

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 libglib2.0-dev libgmp3-dev libltdl-dev \
libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip qemu-utils \
rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev

首次编译

1、下载源码

git clone https://github.com/coolsnowwolf/lede
cd lede
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

2、添加自定义app库

打开 feeds.config.default 文件
添加:
src-git small8 https://github.com/kenzok8/small-package

3、选择配置输出格式

方便重置系统,选择squashfs模式,固件大小按实际情况设置

Target Images  --->
    squashfs
    Build GRUB imagese
    GZip images

4、IPv6支持

Base system  --->
    dnsmasq - full
        build with DHCP support
            Build with DHcpv6 support

Extra packages  --->
    ipv6helper

Network  --->
    Firewall --->
        ip6tables
            ip6tables-extra
            ip6tables-mod-nat

5、app选择

luci-app-adguardhome
luci-app-autoreboot
luci-app-bypass
luci-app-fileassistant
luci-app-filetransfer
luci-app-firewall
luci-app-mwan3
luci-app-openclash
luci-app-qos
luci-app-turboacc
luci-app-ttyd
luci-app-unblockmusic
luci-app-vlmcsd
luci-app-wolplus
luci-app-zerotier

6、其他路由配置直接编辑

就是把你 改好的配置 直接编译进固件
这样做的好处就是升级不需要保留配置,或者恢复出厂设置,缺省值就是你自己设置好的配置
eg.:
1.提取路由固件下的/etc/config/network
2.在编译机LEDE根目录下创建files目录
3.拷贝到 lede/files/etc/config/network

其他配置:
etc/config    各个LUCI配置
etc/gfwlist    gfwlist目录
etc/shadow     登录密码
etc/firewall.user    自定义防火墙规则

当然也可以把etc整个放进去 ^_^

7、下载 dl 库

make download -j8

8、开始编译

首次编译推荐单线程编译 -j后的数字表示线程数
make V=s -j1
make V=s -j$(nproc)

二次编译

1、无需重新配置

cd lede
git pull
./scripts/feeds update -a
./scripts/feeds install -a
make defconfig
make download -j8
make V=s -j$(nproc)

2、需要重新配置

rm -rf ./tmp && rm -rf .config
make menuconfig
make V=s -j$(nproc)