调试笔记-系列文章目录
调试笔记-20240603-Linux-在 OpenWrt-23.05 上运行 ipkg-build 生成. ipk 安装包
文章目录
- 调试笔记-系列文章目录
- 调试笔记-20240603-Linux-在 OpenWrt-23.05 上运行 ipkg-build 生成. ipk 安装包
- 前言
- 一、调试环境
- 操作系统:Windows 10 专业版
- 调试环境
- 调试目标
- 二、调试步骤
- 获取 ipkg-build 脚本
- 准备安装包目录
- 调试脚本
- 三、应用场景
- 在 OpenWrt 运行环境中打包配置安装包
- 四、参考资料
- 总结
前言
本文记录在 OpenWrt-23.05 发行版本上使用 ipkg-build 脚本生成 .ipk 安装包的步骤。
实验使用的电脑如下:
CPU:
Intel Core i5 8265U
操作系统:
Microsoft Windows 10 Professional (x64), Version 22H2, Build 19045.4412
一、调试环境
操作系统:Windows 10 专业版
操作系统详细信息如下:
Microsoft Windows 10 Professional (x64), Version 22H2, Build 19045.4412
调试环境
- Windows 系统已安装 QEMU 并成功运行 OpenWrt 发行版
参考【安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT】
调试目标
在 OpenWrt-23.05 发行版上不安装 SDK ,通过脚本生成 .ipk 安装包。
二、调试步骤
获取 ipkg-build 脚本
1、下载 OpenWrt-23.05 的 SDK
2、解压后在 scripts/ 目录中有 ipkg-build 脚本
3、复制 ipkg-build 脚本到 OpenWrt-23.05 的运行环境中
准备安装包目录
1、在 /tmp 目录中创建测试用的安装包目录 /tmp/foo ,执行以下命令
mkdir -p /tmp/foo/bin
cp foo /tmp/foo/bin
mkdir -p /tmp/foo/CONTROL
cat >/tmp/foo/CONTROL/control <<EOF
Package: foo
Version: 0.1
Architecture: mipsel
Maintainer: foo bar <foo@bar.com>
Section: base
Priority: optional
Description: This package provides foo, which does nothing.
Source: http://foo.bar/foo
EOF
2、尝试创建目标 .ipk 安装包
./ipkg-build -o root -g root /tmp/foo /tmp
显示出错
调试脚本
1、去掉 -o 和 -g 参数后继续执行
./ipkg-build /tmp/foo /tmp
显示出错信息:
./ipkg-build: line 128: realpath: not found
2、查找并安装 realpath 命令的安装包
opkg update
opkg install coreutils-realpath
3、继续执行命令
./ipkg-build /tmp/foo /tmp
显示出错信息:
/bin/tar: unrecognized option: format=gnu
4、查找并安装全功能版本的 tar 命令的安装包
opkg update
opkg install tar
5、继续执行命令
./ipkg-build /tmp/foo /tmp
显示出错信息:
./ipkg-build: line 184: stat: not found
6、查找并安装全功能版本的 stat 命令的安装包
opkg update
opkg install coreutils-stat
7、继续执行命令
./ipkg-build /tmp/foo /tmp
显示成功
三、应用场景
在 OpenWrt 运行环境中打包配置安装包
四、参考资料
1、[Howto] build your own iPKG packages
总结
本文记录在 OpenWrt-23.05 发行版本上使用 ipkg-build 脚本生成 .ipk 安装包的步骤,并给出了所遇到问题的解决方法。