319 字
2 分钟
ubuntu22.04编译openwrt固件

ubuntu22.04编译openwrt固件#

  • 安装依赖
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-pyelftools \
libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \
vim wget xmlto xxd zlib1g-dev python3-setuptools

apt-get更新时弹出 Enalbe-AppArmor 请选择Yes

  • 下载源代码,更新 feeds 并选择配置
git clone https://github.com/coolsnowwolf/lede
cd lede
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
  • 添加特殊源
sed -i '$a src-git kenzo https://github.com/kenzok8/openwrt-packages' feeds.conf.default
sed -i '$a src-git small https://github.com/kenzok8/small' feeds.conf.default
git pull
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
  • 下载 dl 库,编译固件 (-j 后面是线程数,此过程建议使用全局富强模式)
make download -j8
make V=s -j8
  • 二次编译:
cd lede
git pull
./scripts/feeds update -a
./scripts/feeds install -a
make defconfig
make download -j8
make V=s -j$(nproc)
  • 如果需要重新配置(或编译报错):
rm -rf ./tmp && rm -rf .config
make menuconfig
make V=s -j$(nproc)
  • 自定义配置 (最新版本可能已失效)

修改默认IP为 10.0.0.2

sed -i 's/192.168.1.1/10.0.0.2/g' package/base-files/files/bin/config_generate

修改默认主机名

sed -i '/uci commit system/i\uci set system.@system[0].hostname='Soft_Router'' package/lean/default-settings/files/zzz-default-settings

加入编译者信息

sed -i "s/OpenWrt /Clid build $(TZ=UTC-8 date "+%Y.%m.%d") @ OpenWrt /g" package/lean/default-settings/files/zzz-default-settings

修改默认主题

sed -i "s/luci-theme-bootstrap/luci-theme-argon/g" feeds/luci/collections/luci/Makefile

几个参考网站

https://github.com/coolsnowwolf/lede
https://github.com/openwrt/openwrt
https://github.com/kenzok8/small
https://syjn.blogspot.com/2023/08/openwrtvmwareubuntuopenwrtx96-max.html