概述
对OpenWrt固件编译过程中的重点步骤和方法进行记录。
编译openwrt固件环境搭建
安装官方ubuntu 18.04.4
ubuntu官网下载版本是要选择无界面的ubuntu-18.04.4-server-amd64.iso,不要选择i386,那个是老平台,会导致安装依赖工具时失败。
网络要求
所处环境必须是不可描述,且是全局,全端口。
源要求
必须用ubuntu官方源,/etc/apt/sources.list不要修改,换成阿里源后还是有些依赖工具装不上。
安装依赖工具的命令
如下图,直接去git上查lean官方的最新命令,不要按照网上哪些教程,包括我教程中红框的,新版本很有可能就变了。理论上官方openWrt和lean版本的依赖环境都是一样的,安装了lean下的这些依赖,编译官方openWrt固件就不需要重新搭建环境了。
编译Lean大openwrt常用命令
一次编译,很慢,大概6个小时,命令如下:
git clone https://github.com/coolsnowwolf/lede #克隆完整源代码
./scripts/feeds update -a #更新软件源
./scripts/feeds install -a #安装软件包
make menuconfig #进入可视化配置
make -j8 download V=s #下载dl库(需要全局“不可描述”)
make -j1 V=s #完整的编译固件(-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。
从git上取回最新分支后,二次编译:
cd lede
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
make -j$(($(nproc) + 1)) V=s
编译完成后输出路径:/lede/bin/targets
如果需要单独编译ipk插件:
make package/lean/luci-app-jd-dailybonus/compile V=s #单独编译京东自动签到插件的ipk,注意其他插件替换响应的插件源码路径
如何将img转成esxi虚拟机能用的vmdk格式
使用StarWind V2V Converter软件,注意,输出路径要与img路径不同,否则会报错,转成后是2个vmdk文件,其中1个只有1kb,2个都要上传到虚拟机,会合并成1个,才能安装。
Lean大固件源码中nginx和php所在目录
/lede/package/feeds/packages
Lean大代码编译后nginx和php的ipk所在目录
/lede/bin/packages/x86_64/packages
安装ipk软件
直接在文件传输功能中上传ipk,然后点“安装”按钮,会自动安装ipk所需依赖和ipk软件。(需确保overlay软件有足够的空间,否则会导致服务异常)
安装mkfs命令
opkg install e2fsprogs