【问题标题】:How does one create a custom package feed in OpenWRT?如何在 OpenWRT 中创建自定义包提要?
【发布时间】:2019-09-08 19:24:05
【问题描述】:

我有许多在 OpenWRT 下构建的自定义包,我想将它们添加到自定义源中,这样我就可以让 IoT 设备为这些自定义包拉取更新。

我浏览了所有 OpenWRT 文档并进行了几次谷歌搜索,但没有找到任何细节。在哪里可以找到文档、教程或创建自定义 Feed 所需文件的示例?

【问题讨论】:

    标签: openwrt


    【解决方案1】:

    OpenWRT official doc

    路由器配置

    配置 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 - Package 的压缩版本
    • Packages - 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 为包签名创建私钥/公钥
    • 也可以使用 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
    

    【讨论】:

    • 嗨@preezzzy。你是如何建立usign供本地使用的?手动?我会想象有一种从 OpenWRT 包构建的方法。
    • @ChrisMorgan - 是的,我正在我的开发机器上手动构建 usign。 (Ubuntu)
    • 嗨@preezzzy。我仍在努力使其自动化,对于我的缓慢响应感到抱歉。是否有任何理由能够保留旧版本的软件包?好像没必要,packages 目录可以用最新版本重建,唯一的缺点是客户端只能升级,不能降级。想法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2020-09-08
    相关资源
    最近更新 更多