OpenWrt折腾记录05
使用 WSL 编译 Openwrt 固件及安装包
WSL 安装必要软件
以 Ubuntu 为例
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk gcc-multilib gettext \
git libncurses5-dev libssl-dev python3-distutils rsync unzip zlib1g-dev \
file wget
SDK
使用 SDK 编译目标平台所需要的 package
从 release 获取 SDK,要下载的文件名为 openwrt-sdk-*.tar.xz
解压到工作文件夹
tar -xf openwrt-sdk-*.tar.xz -C <dir_path>/openwrt-sdk
cd openwrt-sdk
更新 feeds
获取最新的 feeds: ./scripts/feeds update -a
获取 package
使用脚本: ./scripts/feeds install <PACKAGENAME>
使用 git: git clone https://github.com/*/<repo_name>.git package/<repo_name>
配置 package
make menuconfig
选择要编译的包,配置保存于 .config
当 package 没出现在列表时,尝试清除临时文件夹
cd ~/openwrt/
rm -rf tmp
make menuconfig
生成 package
make package/shadowsocks-rust/compile V=99
构建成功的 package 位于 bin/
Image Builder
使用 Image Builder 来生成自己的可刷镜像文件
删除 WSL 中 Windows 的环境变量
sudo tee -a /etc/wsl.conf << EOF > /dev/null
[interop]
appendWindowsPath = false
EOF
exit
重启以应用
wsl --shutdown
验证 PATH 中不包含 Windows 的路径
echo ${PATH}
获取源码
tar -J -x -f openwrt-imagebuilder-*.tar.xz
cd openwrt-imagebuilder-*/
执行 make info
获取目标平台 profile
生成镜像
make image PROFILE="profile-name" PACKAGES="pkg1"
构建成功的镜像位于 bin/
参考
Build system setup
OpenWrt build system – Usage
Using the Image Builder