openwrt手动编译ipk

本人用到的编译环境:Ubuntu 22.04-WSL2
OpenWrt设备型号及架构:FastRhino R68S RK3568平台 aarch64架构

由于编译 ipk 需要用到官方源代码,因此遇到的所有网络问题请自行解决
都用 openwrt 了还不会解决网络问题就别用了

下文默认你会解决网络问题导致无法拉取Git源码,以及更改系统软件源、pypi的镜像源
如果不会换源,请参考本人的这篇文章 整理下一些公共服务镜像

准备

安装依赖

以Ubuntu为例,其他系统自行参考[官方文档]([OpenWrt Wiki] Build system setup)

1
2
3
4
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk \
gcc-multilib g++-multilib gettext git libncurses-dev libssl-dev \
python3-distutils python3-setuptools rsync swig unzip zlib1g-dev file wget python3-pip

拉取源代码

1
git clone https://git.openwrt.org/openwrt/openwrt.git

等待拉取完成,然后进入openwrt源码目录下,找到openwrt/package/feeds/telephony/freeswitch/Makefile,修改第323行的+libpcre+libpcre2否则后续会报错,来自本地编译feeds的依赖找不到 · Issue #8 · LiBwrt-op/openwrt-6.x (github.com)

1
WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libpcre', which does not exist

开始编译

更新feeds

1
2
3
cd openwrt/  ## 进入openwrt源码目录
./scripts/feeds update -a
./scripts/feeds install -a

配置编译平台

1
make menuconfig

在页面中选择对应的CPU平台,设备等信息,如我的R68s只需要设置为下图这样即可,然后Sava保存后退出

拉取项目源码