如何在 OpenWRT 中创建自定义包提要?
How does one create a custom package feed in OpenWRT?
我有许多在 OpenWRT 下构建的自定义包,我想将它们添加到自定义提要中,这样我就可以让 IoT 设备为这些自定义包提取更新。
我查看了所有 OpenWRT 文档并进行了几次 google 搜索,但没有找到任何细节。我在哪里可以找到创建自定义提要所需文件的文档、教程或示例?
路由器配置
配置 OpenWRT 路由器以了解新的自定义提要位置;在 /etc/opkg.conf
添加这样的内容
# customfeeds
src/gz custompackages http://s3.amazonaws.com/mycustompackages-orwhatever
假设您进行包签名,您还需要接受您的自定义签名密钥。
wget http://s3.amazonaws.com/mycustompackages/public.key
opkg-key add public.key
需要服务器文件
现在你需要设置 HTTP 服务器,我已经成功地建立了一个 S3 存储桶。
Packages.gz
- 包的压缩版本
Packages
- 包的未压缩版本
Packages.sig
-
custom_public.key
-
yourpackage.ipk
- 实际要安装的ipk包文件
如何创建文件
- 您可以使用
ipkg-build
创建 ipk 文件;我用过 this version
- 您可以使用
ipkg-make-index.sh
脚本创建 Packages
索引文件。 (我用过this one)
- 通过 gzip 压缩
Packages
文件获得 Packages.gz
- 使用 usign 为包签名创建 Private/Public 密钥
- 也使用 usign 创建
Packages.sig
文件
示例脚本
此示例假设您的私钥是 private.key
ipkg-build mypackage .
mv mypackage.ipk packages/
cd packages
../ipkg-make-index.sh . > Packages
usign -S -m Packages -s ../keys/private.key -x Packages.sig
gzip -fk Packages
我有许多在 OpenWRT 下构建的自定义包,我想将它们添加到自定义提要中,这样我就可以让 IoT 设备为这些自定义包提取更新。
我查看了所有 OpenWRT 文档并进行了几次 google 搜索,但没有找到任何细节。我在哪里可以找到创建自定义提要所需文件的文档、教程或示例?
路由器配置
配置 OpenWRT 路由器以了解新的自定义提要位置;在 /etc/opkg.conf
添加这样的内容
# customfeeds
src/gz custompackages http://s3.amazonaws.com/mycustompackages-orwhatever
假设您进行包签名,您还需要接受您的自定义签名密钥。
wget http://s3.amazonaws.com/mycustompackages/public.key
opkg-key add public.key
需要服务器文件
现在你需要设置 HTTP 服务器,我已经成功地建立了一个 S3 存储桶。
Packages.gz
- 包的压缩版本Packages
- 包的未压缩版本Packages.sig
-custom_public.key
-yourpackage.ipk
- 实际要安装的ipk包文件
如何创建文件
- 您可以使用
ipkg-build
创建 ipk 文件;我用过 this version - 您可以使用
ipkg-make-index.sh
脚本创建Packages
索引文件。 (我用过this one) - 通过 gzip 压缩
Packages
文件获得Packages.gz
- 使用 usign 为包签名创建 Private/Public 密钥
- 也使用 usign 创建
Packages.sig
文件
示例脚本
此示例假设您的私钥是 private.key
ipkg-build mypackage .
mv mypackage.ipk packages/
cd packages
../ipkg-make-index.sh . > Packages
usign -S -m Packages -s ../keys/private.key -x Packages.sig
gzip -fk Packages