OpenWrt
OpenWrt-Build
编译
要求
- 基于Ubuntu LTS
- 不使用root进行编译
- 硬盘80G
- cpu核数越多编译越快
- 全程需科学网络
- 默认登陆IP 192.168.1.1 密码 password
编译
安装编译依赖
bash# 更新本地软件 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
下载源代码,更新 feeds 并选择配置
bash# 下载源码 git clone https://github.com/coolsnowwolf/lede # 进入lede cd lede # 添加自定义软件源 cat >> feeds.conf.default <<EOF src-git kenzo https://github.com/kenzok8/openwrt-packages src-git small https://github.com/kenzok8/small EOF # 更新 feeds 并选择配置 ./scripts/feeds update -a && ./scripts/feeds install -a
定制配置(根据需求指定)
bash# 更换默认IP sed -i 's/192.168.1.1/10.0.0.2/g' package/base-files/files/bin/config_generate # 交换 LAN/WAN 口 (一般用于R2S) sed -i 's,"eth1" "eth0","eth0" "eth1",g' target/linux/rockchip/armv8/base-files/etc/board.d/02_network sed -i "s,'eth1' 'eth0','eth0' 'eth1',g" target/linux/rockchip/armv8/base-files/etc/board.d/02_network #取消登录密码 sed -i 's/$1$V4UetPzk$CYXluq4wUazHjmCDBCqXF.//g' package/lean/default-settings/files/zzz-default-settings
插件选择
bash# 进行插件选择 (可使用config下文件) make menuconfig # 下载编译所需软件 make download -j8 V=s
编译 (二选一)
bash# 单线程编译 make -j1 V=s # 多线程编译 make -j$(($(nproc) + 1)) V=s
编译完成后固件地址相对路径:/bin/targets/
其他
安装完成后显示CPUMark分数
bash
/etc/coremark.sh && cat /etc/bench.log
编译指定版本内核 修改vim target/linux/x86/Makefile
bash
#将KERNEL_PATCHVER修改为5.15
KERNEL_PATCHVER:=6.1
KERNEL_TESTING_PATCHVER:=5.15
二次编译
bash
rm -rf ./tmp && rm -rf .config
其他编译参考
编译属于自己的Openwrt固件 - NanNan's Blog
编译带 OpenClash 的 OpenWrt 固件 | 心底的河流
编译 openwrt(lean 源码) 教程 - 欧尼酱的小屋 : 配置较全