编译openwrt
· 7 mins read
编译openwrt
环境ubuntu-20.04.2 安装依赖包
apt -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync
拉取源码
git clone https://github.com/coolsnowwolf/lede.git openwrt
下面操作不要用root账户
添加软件源
cd openwrt
# 软件源文件 喜欢什么添加什么
feeds.conf.default
更新源 和 安装源
./scripts/feeds update -a && ./scripts/feeds install -a
设置主题
# 删除自定义源默认的 argon 主题
rm -rf package/lean/luci-theme-argon
# 针对 LEDE 项目拉取 argon 原作者的源码
git clone -b 18.06 https://github.com/jerrykuku/luci-theme-argon.git package/lean/luci-theme-argon
# 替换默认主题为 luci-theme-argon
sed -i 's/luci-theme-bootstrap/luci-theme-argon/' feeds/luci/collections/luci/Makefile
编译固件
make menuconfig
执行后会进入菜单
Target System (x86)
是编译目标
Target Images
编译固件格式、有虚拟机的类型
Extra Packages
支持ipv6
给ipv6helper
选择上
Luci-->Applications
软件包和添加源一样,喜欢啥就添加啥
tip:
*
打包进固件内
M 作为module
open2 依赖 open1
下载编译的软件包
make download -j8 V=s
单线程编译 openwrt
make -j1 V=s
编译时间巨长,2-3小时才能完成
编译输出位置/openwrt/bin/targets/x86/64
二次编译
先删除配置文件、再生成配置文件、然后编译
第二次编译比较快 15分钟左右
第二次编译是重新生成固件、重新生成固件、重新生成固件
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s
重新配置软件
rm -rf ./tmp && rm -rf .config
make menuconfig
参考
- openwrt