您好,欢迎光临系统之家!

系统之家 - 为您打造全网优秀的系统论坛!

 找回密码
 注册
搜索

为OpenWRT打包制作自己的ipk安装包

查看: 3868|回复: 0

[教程] 为OpenWRT打包制作自己的ipk安装包 [复制链接]

Rank: 64Rank: 64Rank: 64Rank: 64

UID
5
帖子
6562
威望
4312 点
黄金
10544 金币
在线时间
4572 小时
注册时间
2005-5-13
最后登录
2024-10-24

终身成就奖 宣传大使奖

发表于 2019-7-18 11:56:12 |显示全部楼层
众所周知ipk文件的使用,我就不啰嗦了。那ipk文件是怎么来的呢?
正统来说,应该是由源代码使用相应SDK编译得到的。
但这样做太麻烦了,有时我们只是想打包定制自己的配置文件。
其实十年前早有人想到了这个需求,且写了生成工具,是一个脚本叫ipkg-build。
这个工具被改进之后收在了SDK的scripts/ipkg-build。
使用方法是酱婶儿地:

先建立临时目录
mkdir /tmp/oshome

目录下就是ipk的结构,通常可以有/tmp/oshome/usr/bin和/tmp/etc
分别是放可执行程序和配置文件

还需要有一个/tmp/oshome/CONTROL目录,内有control文件。内容类似于:
  1. Package: oshome
  2. Version: 1.0
  3. Architecture: mipsel_24kc
  4. Maintainer: LuckyStar <[url=mailto:LuckyStar@oshome.com]LuckyStar@oshome.com[/url]>
  5. Section: base
  6. Priority: optional
  7. Description: This package provides oshome, which does nothing.
  8. Source: [url=http://www.oshome.com]http://www.oshome.com[/url]
复制代码


Architecture一项可以用opkg print-architecture来确认,可以是all,Section一项可以是net等。
补充一点是潘多拉就修改了这项,后面加了“_dsp",所以对应潘多拉就是mipsel_24kec_dsp。
这个问题以至于他的ipk无法装到OpenWRT上,OpenWRT的ipk也无法装到潘多拉上。
准备齐全后就可以打包了,打包的姿势是酱婶儿地:
scripts/ipkg-build -o root -g root /tmp/oshome /tmp

之后在/tmp下就可以找到oshome_1.0_misp.ipk了
顺路一提醒,/tmp目录重启会清空。

补充在ubuntu下打包调用data时日期格式会出错,所以需要在脚本头部增加
alias date="date \"+%Y-%m-%d %H:%M:%S\""
附件为我用在ubuntu下的ipkg-build脚本

myipkg-build.zip

1.9 KB, 下载次数: 0, 下载积分: 黄金 -1 金币

中华人民共和国宪法第四十条:
中华人民共和国公民的通信自由和通信秘密受法律的保护。

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

回顶部